Carregar apresentação
PublicouMarianne Pavao Alterado mais de 10 anos atrás
1
Desafios práticos do Plone Interligação ao Oracle
1
2
COMEÇANDO PELO FIM... OS AGRADECIMENTOS
COMUNIDADE PARTICIPANTES DO EVENTO ORGANIZADORES DO EVENTO CLIENTES PARCEIROS TÉCNICOS
3
QUEM SOMOS? HISTÓRICO 1998 - Fundação
Consultoria para novas tecnologias 2001 – PPM e EPM 2003 – Portais e BI 2005 – ALM Case nacional de FSW 2009 – EAD 2011 – CPLS 2012 – Segurança biométrica e telemetria veicular ESTRUTURA e CERTIFICAÇÕES Centro de treinamento Nuvem privada Dezenas de técnicos especializados Mais de 70 certificações e especializações técnicas ITIL PMP Especialistas e Mestres A+ Microsoft CA TECNOLOGIAS E PARCEIROS Parceiros Urban Turtle CrossMatch Tecnologias e Produtos Plone CA Clarity Project TFS Moodle PHP Java .NET SERVIÇOS Integração Consultoria EPM e PPM Portais BI ALM Suporte Remoto e presencial EAD Elaboração e transcrição de treinamentos Treinamentos In Company Sob medida Alocação de especialistas 3
4
ACESSANDO DADOS A PARTIR DE UM PORTAL
NATIVO OU PRÉ-CONFIGURADO OUTROS MÉTODOS
5
ACESSO À BASE DE DADOS Acesso via ZOPE Plugins “nativos”: Gadfly
Nativo para: ZODB Plugins “nativos”: Gadfly Plugins “livres”: PostGree, SQLlite, MySQL... Bases proprietárias: Não tem conexão “out-of-the-box”. 5 5
6
PROBLEMAS PARA CONECTAR COM BD PROPRIETÁRIO
Poucos conectores Livres e Gratuitos Qualidade e Confiabilidade = $$$$ ZMySQLDA – MySQL Database Adapter for Zope Psycopg2 – PostgreSQL database adapter for the Python RelStorage – Solução que integra Mysql, PostgreSQL (via psycopg2), MySQL (via MySQLdb) e Oracle 10g, 11g (via cx_Oracle) 6
7
OPÇÕES PARA CONEXÃO COM BASES PROPRIETÁRIAS
eGenix mxODBC Zope DA - ODBC Database Adapter for Zope and Plone Preço unitário a partir de R$ , caindo de acordo com a quantidade de usuários Pagar pela conexão aumenta o TCO – Total Cost Ownership de uma solução, podendo inviabilizar a tecnologia. 7
8
Caso de uso de uma conexão de um portal plone com oracle
8
9
CENÁRIO PLONE 4.2 Banco de Dados: Oracle 11g Bases: 10 Sistemas: 54
Tabelas: 260 acessos simultâneos
10
CLIENTE STM - Superior Tribunal Militar O Que faz?
É o órgão da Justiça Militar do Brasil, composto por 15 Ministros. O Que faz? É o órgão especializado a aplicação da lei a militares federais - Marinha, Exército e Aeronáutica, julgando apenas e tão somente os crimes militares definidos em lei. Implantação do Plone Em 2009 foi implantado o Plone para dinamizar e facilitar a gerência de conteúdo do STM 10 10
11
CONTEXTO DO PLONE NO STM
Planejamento Estratégico O Planejamento Estratégico foi a consolidação do Plone dentro do STM. A estrutura da informação, facilidade para o acompanhamento de processos e evoluções no âmbito dos servidores e da organização pode-se perceber o potencial que a ferramenta poderia trazer também para o portal e a intranet do STM. Destacou-se através da facilidade no gerenciamento das informações. Durante o planejamento estratégico ficou mais fácil encontrar notícias constantemente atualizadas, assim como imagens de todos os eventos das auditorias militares de todo o Brasil, assim como acesso a áudio e vídeo. 11 11
12
REORGANIZANDO A CASA COMITÊ GESTOR
Foi criado graças ao Plone um comitê gestor, retirando a responsabilidade da equipe de informática sobre a gerência de conteúdo, onde os usuários da área de comunicação foram treinados e passaram a alimentar a ferramenta desafogando a equipe de informática. RE-ORGANIZAÇÃO DOS PORTAIS Após o planejamento, foi iniciado a reformulação dos portais juntamente com o comitê gestor do STM, o projeto esta caminhando para a segunda fase, onde todos os iframes estão sendo substituídos por page templates (integrado a base Oracle). 12 12
13
INTEGRAÇÃO AO ORACLE Uma das maiores surpresas das equipes técnicas foi constatar a rápida integração do Plone ao Banco de Dados Oracle. Há uma percepção de isolamento entre ferramentas livres e proprietárias. Esta integração trouxe facilmente novos adeptos ao Plone, ao portal e ao projeto. Os projetos que trabalham com apenas uma tecnologia, sem integrações, estão limitados em sua abrangência. Integrar ou não crescer! Um Pouco Sobre o processo de Integração ao Oracle Para a integração com o Oracle utilizamos : Products.SQLAlchemy cx_Oracle 13 13
14
PONTOS CHAVE PARA O SUCESSO DO PROJETO
Alinhamento técnico Capacitação e nivelamento do time envolvido Uso de melhores práticas para configuração do ambiente Correta análise de requisitos 14
15
PROCEDIMENTO INSTALANDO O CLIENT DO ORACLE NO LINUX 1. Download - instantClient para Linux Para realizar o download no site da oracle é necessário efetuar um cadastro gratuito html 15 15
16
DOWNLOAD 16 16
17
PACOTES 2. Os pacotes necessários para instalação do InstanteClient são: Instant Client Package - Basic: All files required to run OCI, OCCI, and JDBC-OCI applications Instant Client Package - JDBC Supplement: Additional support for XA, Internationalization, and RowSet operations under JDBC Instant Client Package - SQL*Plus: Additional libraries and executable for running SQL*Plus with Instant Client Instant Client Package - SDK: Additional header files and an example makefile for developing Oracle applications with Instant Client Instant Client Package - ODBC: Additional libraries for enabling ODBC applications 3. Crie o diretório /opt/oracle 17 17
18
ARQUIVOS 4. Após o Download dos arquivos, descompacte-os no diretório /opt/oracle unzip instantclient-basic-linux.x zip instantclient-odbc-linux.x zip unzip instantclient-jdbc-linux.x zip unzip instantclient-sdk-linux.x zip unzip instantclient-sqlplus-linux.x zip 5. Após a descompactação será necessário criar um link simbólico da lib principal, isto fará posteriormente com que o python compile o plugin de conxão ao Oracle. ln -s libclntsh.so.11.1 libclntsh.so 18 18
19
VARIÁVEIS DE AMBIENTE 6. Será necessário exportar algumas variáveis de ambiente export ORACLE_HOME=/opt/oracle/instantclient_11_2 TNS_ADMIN=$ORACLE_HOME/network/admin NLS_LANG="American_America.UTF8“ LD_LIBRARY_PATH==/opt/oracle/instantclient_11_2:$PATH: $ORACLE_HOME:$ORACLE_HOME/lib PATH=$ORACLE_HOME/bin:$PATH:$LD_LIBRARY_PATH 19 19
20
TNSNAMES.ORA 7. Crie o arquivo TNSNAMES.ORA - responsável pelas configurações de conexão ao Oracle no diretório: /opt/oracle/instantclient_11_2/admin 20 20
21
TNSNAMES.ORA (conteúdo)
DESENV.SEUSITE.COM = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = desenv.seusite.com)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = svc01) PROD.SEUSITE.COM = (ADDRESS = (PROTOCOL = TCP)(HOST = prod.seusite.com)(PORT = 1521)) (SERVICE_NAME = svc02)
22
TESTANDO 8. Teste a conexão ao oracle utilizando o componente sqlplus:
$ ./sqlplus 9.Se tudo ocorrer bem ao executar uma query de teste teremos o seguinte SQL> desc posts Name Null? Type ID NOT NULL NUMBER(38) TITLE VARCHAR2(50) BODY VARCHAR2(4000) CREATED DATE MODIFIED 22 22
23
INSTALANDO O PLUGIN 1. Entre no diretório onde esta instalado o Plone
cd /dir-da-instancia/zeoserver 2. Altere o arquivo buildout.cfg adicionando o plugin a diretiva Eggs: eggs = ... Products.SQLAlchemyDA 23 23
24
3. Execute o buildout ./bin/buildout -v
*************** PICKED VERSIONS **************** [versions] Products.SQLAlchemyDA = 0.5.1 SQLAlchemy = 0.7.7 zope.sqlalchemy = 0.7.1 z3c.sqlalchemy = 1.4.0 cx_Oracle = 5.1.1 *************** /PICKED VERSIONS *************** 24 24
25
4. O buildout irá retornar as versões dos componentes instalados, no final do arquivo buildout.cfg adicione as linhas de retorno na diretiva [version] com as respectivas versões como no exemplo abaixo: [versions] ... Products.SQLAlchemyDA = 0.5.1 SQLAlchemy = 0.7.7 zope.sqlalchemy = 0.7.1 z3c.sqlalchemy = 1.4.0 cx_Oracle = 5.1.1 25 25
26
CONTORNOS COMUNS 5. Caso ocorra erro ao baixar os pacotes via buildout, tente setar as variáveis do proxy de rede caso exista export http_proxy=proxy.seusite.com export http_proxy=proxy.seusite.com Caso ocorra o erro no buildout com o cx_oracle, vá no diretorio do python e instala-lo via easy_install. cd /usr/local/Plone/Python2.6/bin easy_install –U cx-oracle 26 26
27
CONTORNOS COMUNS 7. Caso continue dando erro tente fazer o download direto do pacote pypi.python.org/simple/cx_Oracle/ descompacte na pasta do python entre na pasta onde consta o arquivo setup.py e rode o comando. ../python setup.py install 8. Se tudo ocorrer bem ao subir a instância do plone como no exemplo abaixo. Reinicie a instância. 27 27
28
ZMI 1. Entre no Plone Site vá ao menu superior direito e adicione SQLAlchemyDA 28 28
29
CONFIGURAÇÃO DA CONEXÃO
2. Adicione as configurações de conexão 29 29
30
TESTE DA CONEXÃO 3. Faça o teste de consulta na base de dados 30 30
31
OUTROS DESAFIOS PARA O SUCESSO DAS SOLUÇÕES COM plone
31
32
PLONE – DOIS MUNDOS Benefit Rating: Moderate
Market Penetration: 5% to 20% of target audience Maturity: Adolescent Sample Vendors: Alfresco; Bricolage; Drupal; eZ Systems; KnowledgeTree; Magnolia; Nuxeo; OpenCms; Plone Foundation; Squiz; Typo3; Xaray Karen M. Shegda; Mick MacComascaigh
33
PLONE E OUTROS CMSs IDEALWARE: comparing_open_source_cms
34
EQUIPES Forte dependência de mão-de-obra especializada
COMO IDENTIFICAR PROFISSIONAIS CAPACITADOS? Não há um acessível, amplamente divulgado e crível programa de formação e avaliação de profissionais em PLONE. 34
35
PEQUENA SUGESTÃO... 35
36
MODELOS AMPLAMENTE ADOTADOS QUE DERAM CERTO
Outras comunidades também passaram por problemas similares PMI – PMP ITIL – Certificação ITIL BPMN – CBPP
37
SEGUINDO OS PASSOS DE SUCESSO DE OUTRAS COMUNIDADES
Mobilização da comunidade (comitê?) para a criação de um sistema de acreditação com dois eixos: Centros de formação Treinamentos certificados/validados Certificações 2 certificações – Infra e desenvolvedor
38
Obrigado! Herson Rodrigues Agradecimento especial ao
responsável técnico do projeto STM 38
39
Consultoria que respira inovação 39
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.