<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>marcuscavalcanti.net &#187; Enterprise</title>
	<atom:link href="http://www.marcuscavalcanti.net/blog/tag/enterprise/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marcuscavalcanti.net/blog</link>
	<description>Software, tecnologia e etc.</description>
	<lastBuildDate>Wed, 21 Jul 2010 03:52:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Algumas observações e dicas sobre o Oracle/Aqualogic BPM Enterprise</title>
		<link>http://www.marcuscavalcanti.net/blog/2009/03/04/algumas-observacoes-e-dicas-sobre-o-oracle-aqualogic-bpm-enterprise/</link>
		<comments>http://www.marcuscavalcanti.net/blog/2009/03/04/algumas-observacoes-e-dicas-sobre-o-oracle-aqualogic-bpm-enterprise/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 06:34:17 +0000</pubDate>
		<dc:creator>Marcus Cavalcanti</dc:creator>
				<category><![CDATA[BPM]]></category>
		<category><![CDATA[ALBPM]]></category>
		<category><![CDATA[Aqualogic]]></category>
		<category><![CDATA[Deploy]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[OracleBPM]]></category>

		<guid isPermaLink="false">http://www.marcuscavalcanti.net/blog/?p=441</guid>
		<description><![CDATA[Desde a última sexta-feira até hoje ao final do dia, podemos dizer que passei um certo sofrimento tentando fazer o deploy de um projeto no Oracle BPM Enterprise, só que a minha situação é um pouco atípica, pois no ambiente de homologação e produção do cliente, a versão que está sendo utilizada da distribuição enterprise [...]]]></description>
			<content:encoded><![CDATA[<p>Desde a última sexta-feira até hoje ao final do dia, podemos dizer que passei um certo sofrimento tentando fazer o <em>deploy</em> de um projeto no Oracle BPM Enterprise, só que a minha situação é um pouco atípica, pois no ambiente de homologação e produção do cliente, a versão que está sendo utilizada da distribuição <em>enterprise</em> ainda é a 6.04, ou seja, Aqualogic BPM Enterprise e não Oracle BPM Enterprise (mais recente).</p>
<p>Há cerca de um mês atrás eu havia <a href="http://www.marcuscavalcanti.net/blog/2009/02/03/diferencas-entre-versoes-do-aqualogic-bpm-para-oracle-bpm-studio/" target="_blank" style="text-decoration: underline">falado sobre isso</a>, lembra? Resumidamente o que eu havia dito é que apesar de saber que a versão no cliente ainda era a 6.04, eu havia tomado a decisão de usar a versão nova do Oracle BPM Studio, pois em relação a ferramenta pouca coisa havia mudado e o que havia mudado não impactaria no arquivo gerado a ser <em>deployado</em> nas distribuições <em>enterprise</em>. Inclusive o pessoal da Oracle havia me confirmado isso em um workshop que eu havia ido.</p>
<p>Como o <a href="http://pt.wikipedia.org/wiki/Cluster" target="_blank" style="text-decoration: underline"><em>cluster</em></a> lá do meu trabalho onde está (estava) rodando a versão 6.04 da distribuição <em>enterprise</em> estava muito instável, resolvi fazer a instalação em outra máquina. Foi aí que começou a minha própria <a href="http://pt.wikipedia.org/wiki/Via_Crucis"  target="_blank" style="text-decoration: underline">Via Crucis</a>. Um detalhe importante é que eu nunca havia feito a instalação da distribuição <em>enterprise</em>, portanto era uma experiência totalmente nova para mim.</p>
<p>A distribuição <em>enterprise</em> do ALBPM possui alguns conceitos um pouco diferentes da versão usada para desenvolvimento (Studio), a começar pelo conceito de <em>directory service</em> e pelas outras aplicações que vem agregadas juntas a instalação. Dentre as aplicações que me interessavam estavam apenas o <em>process administrator</em>, <em>workspace</em> e <em>process engine</em>. Tinha ainda o PAPI Web Services, que pode ser muito importante dentro de um projeto BPM, mas como eu não precisaria integrar outros projetos com o meu projeto BPM, então o PAPI-WS nesse caso não seria necessário, pelo menos não naquele <em>directory service</em> atual. <em>Directory Service</em> é onde ficam guardadas as informações referentes a usuários, <em>roles</em>, grupos, <em>resources</em> externos e outras informações que fazem parte de um projeto no BPM, além também dessas aplicações já citadas. Não necessariamente cada projeto deve ter o seu próprio <em>directory service</em>, na verdade N projetos podem compartilhar o mesmo. Outro ponto importante diz respeito a <em>process execution engine</em>, pois cada <em>directory service</em> possui a sua própria <em>engine</em>, ou até mesmo mais de uma, mas apenas uma engine cadastrada pode estar &#8220;rodando&#8221;. Uma <em>engine</em> está associada a um servidor de aplicações e no meu caso está associada a uma instância do <a href="http://www.oracle.com/appserver/weblogic/weblogic-suite.html"  target="_blank" style="text-decoration: underline">weblogic</a>, pois foi essa a versão que eu havia escolhido no ato do download.</p>
<p>Sinceramente, apesar de já ter escutado comentários de que a distribuição <em>enterprise</em> (<= 6.*) era um pouco irregular e que possuia algumas peculiaridades, eu não sabia que seria tão árdua a sua instalação. O primeiro problema que eu encontrei foi na criação de um <em>directory service</em>, nesse ponto, através de uma tela do tipo wizard, a instalação solicita as informações do banco de dados onde serão gravadas as informações do <em>directory service</em>, no meu caso eu escolhi como banco de dados o Oracle (<a href="http://www.oracle.com/technology/products/database/xe/index.html"  target="_blank"  style="text-decoration: underline">Oracle-XE</a>). Nessa mesma tela, a configuração solicita qual o nome do <a href="http://www.oracle.com/technology/obe/2day_dba/schema/schema.htm" target="_blank"  style="text-decoration: underline">Schema</a> onde serão criadas as tabelas e eu aconselho fortemente deixar essa opção em branco, pois além dela ser opcional, o negócio só funcionou depois que eu a deixei em branco. Em uma das minhas tentativas mal sucedidas eu até havia criado o schema &#8220;na mão&#8221;, mas mesmo assim não funcionou. Primeiro problema resolvido, nome dos schemas deixados em branco e tudo ok.</p>
<p>O segundo problema talvez tenha sido o pior de resolver. Depois de informar todos os dados necessários para a configuração viria a tela de progresso e conclusão da criação do <em>directory service</em>, nesse momento só resta aguardar até que a ferramenta termine o processo de criação. Mas para o meu azar o processo nunca conseguia ser concluído, pois sempre antes de chegar em 100% o processo me mostrava a mensagem: <em><strong>failed!</strong></em> Tentei mais algumas vezes e após tantos insucessos resolvi verificar os <em>logs</em> e ver qual era o erro. O <em>log</em> nesse caso ajudou e não ajudou, pois no <em>log</em> a informação principal do erro é que uma exceção havia sido disparada quando o JAR de algum EJB estava tentando ser gerado pela instalação. Pesquisei, pesquisei, pesquisei e nada&#8230; resolvi então falar com um amigo de trabalho que tinha comentado que a instalação da distribuição <em>enterprise</em> era meio caótica. Ele pediu para eu ver o <em>stack-trace</em> todo da exceção. Após reparar bem o <em>stack-trace</em> percebi que o mesmo continha uma frase que terminava com <em>&#8220;too many open files&#8221;</em> e informei sobre a mensagem para esse amigo, ele então me disse que esse problema não tinha relação com o JAR do EJB, na verdade o problema estava ocorrendo, pois o SO (Ubuntu) estava tentando abrir mais de 1024 arquivos ao mesmo tempo durante a instalação e que eu precisaria mudar algumas configurações padrões do SO (file descriptor) para resolver esse problema, isso no caso seria um <a href="http://e-docs.bea.com/wls/docs100/perform/OSTuning.html"  target="_blank"  style="text-decoration: underline"><em>OS tuning</em></a>. Mudanças feitas e não deu outra: o diretório foi criado com sucesso!</p>
<p>O próximo problema ocorria ao tentar <em>startar</em> a <em>process execution engine</em>. Sempre que eu tentava inicializar a <em>engine</em> a mensagem de status nunca se modificava, não informava nem que estava inicializada e nem que estava parada. Após bater bastante cabeça com isso, fui até o manual de instalação e verifiquei que um dos pré-requisitos era que a versão do Weblogic fosse a 9.2 e no meu caso eu estava usando a 10.0 ou 10.3. Na verdade esse problema ocorreu mais em razão de um vacilo meu do que qualquer outra coisa. Instalei a versão 9.2, criei outro diretório novamente e agora eu conseguia <em>startar</em> a <em>engine</em> sem problemas.</p>
<p>Acho que tive também alguns problemas de versão de <a href="http://java.com/pt_BR/download/faq/jvm.xml" target="_blank"  style="text-decoration: underline">JVM</a>, no caso <a href="http://en.wikipedia.org/wiki/JRockit" target="_blank"  style="text-decoration: underline">JRockit</a>, mas isso foi tranquilo de resolver, porque o erro era bem evidente.</p>
<p>Instalação concluída, fui tentar finalmente fazer o <em>deploy</em> de um projeto e&#8230; mais problemas! Fazer o <em>deploy</em> eu até conseguia, mas ao tentar executar os processos um erro estranho ocorria e verificando o <em>log</em> percebi que alguns arquivos do projeto não estavam sendo encontrados. Para mim nada poderia explicar aquilo a não ser problemas de versão, pois como eu já citei, a versão de desenvolvimento que eu estava usando era diferente da versão da distribuição <em>enterprise</em>. Resolvi então tentar abrir o projeto em uma versão de ambiente de desenvolvimento igual a da distribuição <em>enterprise</em> com o intuito de gerar o arquivo a ser <em>deployado</em> em versões iguais. Ao abrir o projeto em uma versão mais antiga não tive nenhum problema, o ALBPM Studio conseguiu detectar todos os processos, <em>screenflows</em>, <em>resources</em> e etc, mas ao tentar executar o processo comecei a ter alguns problemas. Após alguns <em>debugs</em>, percebi que alguns métodos da API de Java (<em>Component Catalog</em>) simplesmente não existiam, ou, não funcionavam nessa versão mais antiga (ALBPM Studio 6.04) e que provavelmente esse poderia ser o mesmo problema que ocorria na distribuição <em>enterprise</em>. Isso de certa forma fazia com que a minha teoria de que não haviam mudanças consideráveis entre as versões ALBPM e OracleBPM caísse por terra.</p>
<p>Fiz os ajustes no projeto na versão mais antiga da ferramenta, gerei um arquivo de <em>deploy</em> novo e fui novamente tentar rodar o projeto na distribuição <em>enterprise</em>. Mesmo problema! A essa hora minha paciência estava esvaindo-se, mas eu precisava conseguir <em>deployar</em> o projeto de qualquer jeito. Resolvi, só por desencargo de consciência, baixar a distribuição <em>enterprise</em> em sua versão mais atual, no caso já como Oracle BPM Enterprise 10g3. Baixei, fiz a instalação &#8211; que por sinal foi muito mais tranquila &#8211; e tentei fazer o deploy do projeto e executá-lo. Para minha surpresa (ou não) foi de primeira! Consegui executar o projeto direitinho na versão nova da distribuição <em>enterprise</em>, o que me faz concluir que a versão 6.04 (ou <) é realmente problemática ou então o impacto entre versões Oracle (Oracle BPM) x BEA (Aqualogic BPM) é realmente considerável.</p>
<h3>Dicas Finais</h3>
<ul>
<li>Caso use a distribuição <em>enterprise</em> na versão 6 (ou <) use o Weblogic 9.2 e não 10.0 (ou >);</li>
<li>Não esqueça de mudar as configurações (<em>file descriptor</em>) do seu SO para permitir que ele consiga abrir mais de 1024 arquivos simultaneamente;</li>
<li>Na criação de um <em>directory service</em>, deixei que a ferramente crie um schema para você no banco de dados, portanto deixe a opção em branco;</li>
<li>Verificar possíveis incompatibilidades entre versões de JVM;</li>
<li>É necessário sempre inicializar a instância do Weblogic antes de inicializar o Admin Center do BPM;</li>
<li>Caso não consiga <em>startar</em> a sua <em>engine</em> e tudo pareça estar correto, tente acessar o console do weblogic e dar <em>unlock</em> no usuário <strong>FuegoWeblogicDeployer</strong>, pois quando uma engine tenta ser inicializada várias vezes e não consegue, esse usuário fica travado;</li>
<li>Caso algum erro ocorra no <em>Process Administrator</em> ou então no <em>Workspace</em>, tente ver o código fonte da página HTML, pois em muitas vezes o erro (detalhado) fica oculto dentro de comentários.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.marcuscavalcanti.net/blog/2009/03/04/algumas-observacoes-e-dicas-sobre-o-oracle-aqualogic-bpm-enterprise/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
