Instalando o Pentaho como serviço

Propaganda
Página
Sistema: SINIR
Integração
LIFERAY X PENTAHO
Projeto:
Arquitetura da Informação da Gestão de
Resíduos Sólidos do Governo Federal
1 / 11
Data Emissão
20/08/2013
INTEGRAÇÃO:
LIFERAY X PENTAHO
1
Página
Sistema: SINIR
Projeto:
Arquitetura da Informação da Gestão de
Resíduos Sólidos do Governo Federal
Integração
LIFERAY X PENTAHO
2 / 11
Data Emissão
20/08/2013
2
Página
Integração
LIFERAY X PENTAHO
Sistema: SINIR
Projeto:
Arquitetura da Informação da Gestão de
Resíduos Sólidos do Governo Federal
3 / 11
Data Emissão
20/08/2013
Histórico da Revisão
Data
Versão
Descrição
Autor
20/08/2013
1.0
Criação do Documento.
Bruno Pedroso
02/09/2013
1.1
Adição das instruções para mudar o banco de
dados para postgres
Bruno Pedroso
3
Página
Sistema: SINIR
Integração
LIFERAY X PENTAHO
Projeto:
Arquitetura da Informação da Gestão de
Resíduos Sólidos do Governo Federal
4 / 11
Data Emissão
20/08/2013
ÍNDICE
ARQUITETURA DA INSTALAÇÃO
5
PASSO A PASSO DA INSTALAÇÃO
5
INSTALAÇÃO DO PENTAHO
MUDANÇA DA PORTA PADRÃO
PROXY REVERSO
INSTALANDO O PENTAHO COMO SERVIÇO
TORNANDO O RELATÓRIO PÚBLICO NO PENTAHO
CONFIGURAÇÃO DO PORTLET DE IFRAME
NOTAS TÉCNICAS
CONCLUSÃO
5
6
ERROR! BOOKMARK NOT DEFINED.
9
10
11
ERROR! BOOKMARK NOT DEFINED.
11
4
Página
Sistema: SINIR
Integração
LIFERAY X PENTAHO
Projeto:
Arquitetura da Informação da Gestão de
Resíduos Sólidos do Governo Federal
5 / 11
Data Emissão
20/08/2013
Arquitetura da Instalação
A arquitetura da instalação demonstrativa aqui descrita é bem simples. O Liferay e o
Pentaho encontram-se instalados cada um em um servidor Tomcat a parte, e o Pentaho
utiliza o banco de dados HSQLDB que vem junto com a versão demonstrativa.
Passo a Passo da Instalação
Instalação do Pentaho
O Pentaho CE (Community Edition) pode ser baixado a partir do site
http://community.pentaho.com/. Esse passo a passo foi redigido com base na versão 4.8 da
ferramenta,
mais
especificamente
com
o
arquivo
disponível
em:
5
Página
Sistema: SINIR
Integração
LIFERAY X PENTAHO
Projeto:
Arquitetura da Informação da Gestão de
Resíduos Sólidos do Governo Federal
6 / 11
Data Emissão
20/08/2013
http://sourceforge.net/projects/pentaho/files/Business%20Intelligence%20Server/4.8.0stable/biserver-ce-4.8.0-stable.zip/downloa
A instalação do Pentaho em versão demonstrativa resume-se a descompactar esse
arquivo e executar o script: biserver-ce/start-pentaho.sh
Isso é o suficiente para ligar um servidor Tomcat com o Pentaho instalado.
Mudança da porta padrão
A versão de homologação instalada na SEA foi feita na mesma máquina em que já
estava instalado o Liferay, em um outro servidor Tomcat. Para que os dois servidores
executem na mesma máquina, é necessário modificar a porta padrão em que o Pentaho
executa. Para tanto, basta editar o arquivo:
biserver-ce/tomcat/conf/server.xml
e alterar os seguintes elementos:
<Server port="8005" shutdown="SHUTDOWN">...
<Connector URIEncoding=n"UTF-8" port="8080" protocol="HTTP/1.1" ...
Ambas as portas descatadas no texto acima precisam ser alteradas para não
conflitarem com as do outro serviço. No caso da instalação no servidor de homologação da
SEA, as portas usadas foram: 9005 e 9080.
Mudando o banco de dados para Postgres
Para uma instalação a ser utilizada em ambiente de produção, recomenda-se trocar
o banco de dados padrão que vem com a distribuição do Pentaho (HSQLDB). No nosso caso,
utilizamos o postgres.
6
Página
Sistema: SINIR
Integração
LIFERAY X PENTAHO
Projeto:
Arquitetura da Informação da Gestão de
Resíduos Sólidos do Governo Federal
7 / 11
Data Emissão
20/08/2013
Para tanto, foi seguido o seguinte roteiro: http://kirk.webfinish.com/2012/06/howto-configure-pentaho-bi-server-ce-manual-with-postgresql-9-1/
Para trocar o banco de dados, é preciso atualizar os seguintes arquivos com as
configurações JDBC correspondentes à instalação do banco de dados utilizada:
tomcat/webapps/pentaho/META-INF/contex.xml
pentaho-solutions/system/applicationContext-spring-securityhibernate.properties
pentaho-solutions/system/applicationContext-spring-security-jdbc.xml
pentaho-solutions/system/simple-jndi/jdbc.properties
pentaho-solutions/system/hibernate/postgresql.hibernate.cfg.xml
pentaho-solutions/bidevelopers/datasources/HQL_Datasource_PostgreSQL.cfg.xml
pentaho-solutions/system/quartz/quartz.properties
alterar a linha que configura a seguinte propriedade, para o seguinte valor:
org.quartz.jobStore.driverDelegateClass
org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
=
pentaho-solutions/system/hibernate/hibernate-settings.xml
apontar a seguinte propriedade para o arquivo cfg do postgres:
<config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>
7
Página
Sistema: SINIR
Integração
LIFERAY X PENTAHO
Projeto:
Arquitetura da Informação da Gestão de
Resíduos Sólidos do Governo Federal
8 / 11
Data Emissão
20/08/2013
Esses três arquivos possuem SQLs que atualizam o banco. Eles possuem o
nome do usuário do banco de dados para dar permissões e coisas do tipo. Caso o
nome do usuário do banco de dados seja diferente do nome padrão, eles
precisam ser atualziados também, antes de ligar o postgres pela 1a vez.
data/postgresql/migration.sql
data/postgresql/create_sample_datasource_postgresql.sql
data/postgresql/create_repository_postgresql.sql
Apagando os dados de exemplo
Para apagar os dados de exemplo que vêm com a instalação padrão do Pentaho, é
preciso seguir este roteiro:
http://infocenter.pentaho.com/help/index.jsp?topic=%2Finstall_ziptar%2Ftask_remove_sa
mple_data.html
As instruções funcionam corretamente, mas é preciso ter cuidado, no momento de
se apagar as configurações das servlets, e servlet-mappings para não excluir a servlet que
serve o arquivo theme.js. Essa configuração se encontra misturada entre às que o roteiro
manda apagar, então é preciso ter cuidado pra não apagá-la junto sem querer.
Proxy Reverso
Devido à configuração específica da rede e dos serviços da SEA, para que o Pentaho
seja acessível pela internet foi necessário também configurar o servidor Apache que
responde ao endereço ‘seatecnologia.com.br’ para redirecionar as chamadas feitas ao nome
‘unb-pentaho.seatecnologia.com.br’ para a máquina de homologação que executa os
serviços.
8
Página
Sistema: SINIR
Integração
LIFERAY X PENTAHO
Projeto:
Arquitetura da Informação da Gestão de
Resíduos Sólidos do Governo Federal
9 / 11
Data Emissão
20/08/2013
Instalando o Pentaho como serviço
Para instalar o Pentaho como serviço, basta seguir o procedimento padrão do Linux:
1. Criar o script /etc/ini.d/pentaho.sh com o conteúdo:
#!/bin/bash
CATALINA_HOME='/opt/pentaho/biserver-ce/tomcat'
USER='liferay'
case "$1" in
start)
ulimit -n 32768
su - $USER -c "/opt/pentaho/biserver-ce/start-pentaho.sh" -s /bin/sh
;;
stop)
su - $USER -c "/opt/pentaho/biserver-ce/stop-pentaho.sh" -s /bin/sh
;;
*)
echo "Usage: [start|stop]"
;;
Esac
9
Página
Sistema: SINIR
Integração
LIFERAY X PENTAHO
Projeto:
Arquitetura da Informação da Gestão de
Resíduos Sólidos do Governo Federal
10 / 11
Data Emissão
20/08/2013
2. Configurar o serviço para ligar no boot, criando os links simbólicos:
> link –s /etc/ini.d/pentaho /etc/rc.3/S99Pentaho
> link –s /etc/ini.d/pentaho /etc/rc.3/K99Pentaho
Tornando o relatório público no Pentaho
Para que o Liferay possa apresentar um relatório em uma página web, publicamente,
é necessário que o mesmo esteja publicamente acessível no Pentaho, o que pode ser feito
seguindo-se as instruções constantes nas seguintes páginas:
http://wiki.pentaho.com/display/ServerDoc2x/Opening+Up+Some+Action+Sequences+for+
Anonymous+Access
http://forums.pentaho.com/showthread.php?56714-Anonymous-Access-to-a-report
Em resumo:
1. Pela interface, escolher o relatório, clicar com o botão direito, report -> share -> add
e adicionar a permissão ‘execute’ para a role ‘anonymous’;
2. Editar o arquivo pentaho-solutions/system/applicationContext-spring-security.xml e
adicionar as seguintes linhas às definições de segurança do element
objectDefinitionSource:
\A/content/reporting.*\Z=Anonymous,Authenticated
\A/.*.css\Z=Anonymous,Authenticated
\A/.*.js.*\Z=Anonymous,Authenticated
\A/.*i18n.*\Z=Anonymous,Authenticated
\A/content/commonui/resources/web/formatter/.*\Z=Anonymous,Authenticated
10
Página
Sistema: SINIR
Integração
LIFERAY X PENTAHO
Projeto:
Arquitetura da Informação da Gestão de
Resíduos Sólidos do Governo Federal
11 / 11
Data Emissão
20/08/2013
Depois disso, é necessário reiniciar o Pentaho.
Configuração do portlet de iFrame
Uma vez que tanto o Liferay como o Pentaho estejam devidamente instalados e
acessíveis pela internet, a integração entre os dois foi feita simplesmente adicionandose um portlet do tipo IFrame configurado com a URL:
http://unbpentaho.seatecnologia.com.br/pentaho/content/reporting/reportviewer/report.html?s
olution=steelwheels&path=/reports&name=Top%20N%20Analysis.prpt&sLine=[Product].[All%20Prod
ucts].[Classic%20Cars]&sMarket=[Markets].[All%20Markets].[NA]&sYear=[Time].[All%20
Years].[2003]&TopCount=3&output-type=text/html&accepted-page=0&paginate=false
Essa URL é de um relatório que compõe a solução de demonstração do Pentaho. Ela
precisa ser adaptada para apresentar outros relatórios que forem criados.
Conclusão
A instalação aqui descrita demonstra que a integração entre Liferay e Pentaho é
possível de forma via IFrame. Trata-se de uma integração simples, que não exige
modificação das ferramentas nem desenvolvimento.
Essa instalação é suficiente apenas para apresentar os relatórios do Pentaho
publicamente no portal. Caso outros níveis de integração sejam necessários, será necessário
nova investigação.
Essa é uma instalação simples que deve ser usada apenas para fins demonstrativos.
Para uma instalação pronta para produção, recomenda-se a utilização de um banco de
dados mais robusto, como Postgres ou MySQL, e uma configuração mais complete, cujo
procedimento de instalação complete deve ser verificado na documentação
11
Download