A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Desafios práticos do Plone Interligação ao Oracle

Apresentações semelhantes


Apresentação em tema: "Desafios práticos do Plone Interligação ao Oracle"— Transcrição da apresentação:

1 Desafios práticos do Plone Interligação ao Oracle

2 COMEÇANDO PELO FIM... OS AGRADECIMENTOS COMUNIDADE ORGANIZADORES DO EVENTO CLIENTES PARCEIROS TÉCNICOS PARTICIPANTES DO EVENTO

3 QUEM SOMOS? HISTÓRICO 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 Microsoft 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

4 ACESSANDO DADOS A PARTIR DE UM PORTAL NATIVO OU PRÉ-CONFIGURADO OUTROS MÉTODOS

5 Acesso via ZOPE Acesso via ZOPE – Nativo para: ZODB Plugins nativos: Gadfly Plugins nativos: Gadfly Plugins livres: PostGree, SQLlite, MySQL... Plugins livres: PostGree, SQLlite, MySQL... Bases proprietárias: Não tem conexão out-of- the-box. Bases proprietárias: Não tem conexão out-of- the-box. ACESSO À BASE DE DADOS

6 PROBLEMAS PARA CONECTAR COM BD PROPRIETÁRIO Poucos conectores Livres e Gratuitos Poucos conectores Livres e Gratuitos Qualidade e Confiabilidade = $$$$ Qualidade e Confiabilidade = $$$$ ZMySQLDA – MySQL Database Adapter for Zope ZMySQLDA – MySQL Database Adapter for Zope Psycopg2 – PostgreSQL database adapter for the Python 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) RelStorage – Solução que integra Mysql, PostgreSQL (via psycopg2), MySQL (via MySQLdb) e Oracle 10g, 11g (via cx_Oracle)

7 OPÇÕES PARA CONEXÃO COM BASES PROPRIETÁRIAS eGenix mxODBC Zope DA - ODBC Database Adapter for Zope and Plone 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. Pagar pela conexão aumenta o TCO – Total Cost Ownership de uma solução, podendo inviabilizar a tecnologia.

8 CASO DE USO DE UMA CONEXÃO DE UM PORTAL PLONE COM ORACLE

9 CENÁRIO PLONE 4.2 PLONE 4.2 Banco de Dados: Oracle 11g Banco de Dados: Oracle 11g – Bases: 10 – Sistemas: 54 – Tabelas: acessos simultâneos

10 CLIENTE STM - Superior Tribunal Militar STM - Superior Tribunal Militar – É o órgão da Justiça Militar do Brasil, composto por 15 Ministros. O Que faz? 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 Implantação do Plone – Em 2009 foi implantado o Plone para dinamizar e facilitar a gerência de conteúdo do STM

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.

12 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. 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). 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). REORGANIZANDO A CASA

13 Uma das maiores surpresas das equipes técnicas foi constatar a rápida integração do Plone ao Banco de Dados 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 Um Pouco Sobre o processo de Integração ao Oracle Para a integração com o Oracle utilizamos : Para a integração com o Oracle utilizamos :Products.SQLAlchemycx_Oracle INTEGRAÇÃO AO ORACLE

14 Alinhamento técnico Alinhamento técnico Capacitação e nivelamento do time envolvido Capacitação e nivelamento do time envolvido Uso de melhores práticas para configuração do ambiente Uso de melhores práticas para configuração do ambiente Correta análise de requisitos Correta análise de requisitos PONTOS CHAVE PARA O SUCESSO DO PROJETO

15 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. /features/instant-client/index html PROCEDIMENTO

16 DOWNLOAD

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 - 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 - 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 - 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 - 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 Instant Client Package - ODBC: Additional libraries for enabling ODBC applications 3. Crie o diretório /opt/oracle

18 ARQUIVOS 4. Após o Download dos arquivos, descompacte-os no diretório /opt/oracle unzip 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 ln -s libclntsh.so.11.1 libclntsh.so

19 VARIÁVEIS DE AMBIENTE 6. Será necessário exportar algumas variáveis de ambiente export 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_PAT H

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

21 TNSNAMES.ORA (conteúdo) DESENV.SEUSITE.COM = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = desenv.seusite.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = desenv.seusite.com)(PORT = 1521)) ) (CONNECT_DATA = (CONNECT_DATA = (SERVICE_NAME = svc01) (SERVICE_NAME = svc01) )) PROD.SEUSITE.COM = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = prod.seusite.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = prod.seusite.com)(PORT = 1521)) ) (CONNECT_DATA = (CONNECT_DATA = (SERVICE_NAME = svc02) (SERVICE_NAME = svc02) ))

22 NameNull?Type IDNOT NULLNUMBER(38) TITLEVARCHAR2(50) BODYVARCHAR2(4000) CREATEDDATE MODIFIEDDATE TESTANDO 8. Teste a conexão ao oracle utilizando o componente sqlplus: $./sqlplus $./sqlplus 9.Se tudo ocorrer bem ao executar uma query de teste teremos o seguinte SQL> desc posts SQL> desc posts

23 1. Entre no diretório onde esta instalado o Plone cd /dir-da-instancia/zeoserver cd /dir-da-instancia/zeoserver 2. Altere o arquivo buildout.cfg adicionando o plugin a diretiva Eggs: eggs =... Products.SQLAlchemyDA INSTALANDO O PLUGIN

24 *************** PICKED VERSIONS **************** [versions] Products.SQLAlchemyDA = SQLAlchemy = zope.sqlalchemy = z3c.sqlalchemy = cx_Oracle = *************** /PICKED VERSIONS *************** 3. Execute o buildout./bin/buildout -v./bin/buildout -v

25 [versions]... Products.SQLAlchemyDA = SQLAlchemy = zope.sqlalchemy = z3c.sqlalchemy = cx_Oracle = 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:

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 6. Caso ocorra o erro no buildout com o cx_oracle, vá no diretorio do python e instala-lo via easy_install. e instala-lo via easy_install. cd /usr/local/Plone/Python2.6/bin cd /usr/local/Plone/Python2.6/bin easy_install –U cx-oracle easy_install –U cx-oracle

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. 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.

28 ZMI 1. Entre no Plone Site vá ao menu superior direito e adicione SQLAlchemyDA

29 CONFIGURAÇÃO DA CONEXÃO 2. Adicione as configurações de conexão

30 TESTE DA CONEXÃO 3. Faça o teste de consulta na base de dados

31 OUTROS DESAFIOS PARA O SUCESSO DAS SOLUÇÕES COM PLONE

32 Karen M. Shegda; Mick MacComascaigh 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 PLONE – DOIS MUNDOS

33 PLONE E OUTROS CMSs IDEALWARE: comparing_open_source_cms

34 Forte dependência de mão-de-obra especializada Forte dependência de mão-de-obra especializada COMO IDENTIFICAR PROFISSIONAIS CAPACITADOS? 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. Não há um acessível, amplamente divulgado e crível programa de formação e avaliação de profissionais em PLONE. EQUIPES

35 PEQUENA SUGESTÃO...

36 Outras comunidades também passaram por problemas similares Outras comunidades também passaram por problemas similares PMI – PMP PMI – PMP ITIL – Certificação ITIL ITIL – Certificação ITIL BPMN – BPMN – CBPP MODELOS AMPLAMENTE ADOTADOS QUE DERAM CERTO

37 Mobilização da comunidade (comitê?) para a criação de um sistema de acreditação com dois eixos: 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 Treinamentos certificados/validados – Certificações 2 certificações – Infra e desenvolvedor 2 certificações – Infra e desenvolvedor SEGUINDO OS PASSOS DE SUCESSO DE OUTRAS COMUNIDADES

38 Obrigado! Agradecimento especial ao responsável técnico do projeto STM Herson Rodrigues

39 Consultoria que respira inovação


Carregar ppt "Desafios práticos do Plone Interligação ao Oracle"

Apresentações semelhantes


Anúncios Google