<?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>jeveaux.com &#187; App Servers</title>
	<atom:link href="http://jeveaux.com/category/java/app-servers/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeveaux.com</link>
	<description>blog de um apaixonado por programação, videogame, leitura, ideias empreendedoras e agora tatuagem</description>
	<lastBuildDate>Tue, 05 Jul 2011 19:40:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Apache2 e Tomcat com mod_jk</title>
		<link>http://jeveaux.com/2009/apache2-e-tomcat-com-mod_jk/</link>
		<comments>http://jeveaux.com/2009/apache2-e-tomcat-com-mod_jk/#comments</comments>
		<pubDate>Sun, 03 May 2009 15:43:20 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[App Servers]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Apache2]]></category>
		<category><![CDATA[mod_jk]]></category>
		<category><![CDATA[Tomcat]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/?p=653</guid>
		<description><![CDATA[Nesses últimos dias trabalhei bastante na administração e configuração de servidores *nix na Giran, revivendo algumas experiências antigas e aprendendo muitas outras novas e estou aproveitando para escrever um pouco sobre elas. Configurando um servidor de desenvolvimento da Giran as &#8230; <a href="http://jeveaux.com/2009/apache2-e-tomcat-com-mod_jk/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Nesses últimos dias trabalhei bastante na administração e configuração de servidores *nix na <a href="http://www.giran.com.br">Giran</a>, revivendo algumas experiências antigas e aprendendo muitas outras novas e estou aproveitando para escrever um pouco sobre elas.</p>
<p>Configurando um servidor de desenvolvimento da Giran as novidades não foram grandes, a maioria das aplicações, serviços e preocupações foram as mesmas de um ambiente de desenvolvimento local. Já as experiências com a configuração do servidor de produção foram bem mais legais e algumas inéditas. Oracle, MySQL, SVN, Gitorious, <a href="http://www.rubyenterpriseedition.com">Ruby Enterprise Edition</a> + <a href="http://www.modrails.com">Passenger</a> e claro, <a href="http://httpd.apache.org">Apache 2 HTPP Server</a> e <a href="http://tomcat.apache.org">Apache Tomcat</a>.</p>
<p>Por hora vou escrever apenas sobre o <em>mod_jk</em>, que é a integração entre o <a href="http://httpd.apache.org">Apache 2 HTPP Server</a> e o <a href="http://tomcat.apache.org">Apache Tomcat</a>. Eu já tive experiências anteriores com o mod_jk em ambientes de produção, em ambientes com redudância, com tomcat, com jboss e alguns mais, mas ainda não havia passado por uma situação onde eu iniciasse do zero e todas as responsabilidades estivessem comigo, e isso foi ótimo.</p>
<p>Um resumo do ambiente:</p>
<ul>
<li>Ubuntu Server 8.04</li>
<li>Apache 2 HTTP Server 2.2.8</li>
<li>Apache Tomcat 6.0.18</li>
<li>JDK 1.6.0_13</li>
</ul>
<h3>O Apache</h3>
<p>O Apache e o <em>mod_jk</em> foram instalados usando o próprio apt-get, então esta tarefa foi realmente muito fácil:</p>
<pre lang="bash">jeveaux@baium ~ $ sudo apt-get install apache2 libapache2-mod-jk</pre>
<p>Uma série de pacotes e dependências virão junto com os dois pacotes acima, pode confirmar que tudo vai dar certo.</p>
<p>Esta instalação deixará o Apache em <em>/etc/apache2</em>, onde nós teremos (os principais arquivos):</p>
<ul>
<li><strong>httpd.conf</strong> &#8211; Configuração geral do apache.</li>
<li><strong>conf.d</strong> &#8211; Configurações diversas, todos arquivos que estiverem nesse diretório serão carregados como configuração.</li>
<li><strong>mods-available</strong> &#8211; Arquivos de configuração e ativação dos módulos.</li>
<li><strong>mods-enabled</strong> &#8211; Módulos que estão ativados no apache, são links simbólicos para os arquivos do diretório <em>mods-available</em>.</li>
<li><strong>sites-available</strong> &#8211; Arquivos de configuração dos <em>sites (VirtualHost)</em>.</li>
<li><strong>sites-enabled</strong> &#8211; Sites que estão ativados, são links simbólicos para os arquivos do diretório <em>sites-available</em>.</li>
</ul>
<p>No <em>httpd.conf</em> poucas coisas precisam de intervenção, pessoalmente eu gosto muito deste esquema de organização e divisão de configurações utilizada pelo apache. Por exemplo, tudo que estiver no diretório <em>APACHE2_HOME/mods-enabled</em> será carregado automaticamente, primeiro todos os arquivo <em>.load</em>, que geralmente contém o <em>LoadModule</em>, e depois todos os arquivos <em>.conf</em>, que contém as configurações específicas do módulo, desta forma temos vários pares load+conf, um para cada módulo.</p>
<h3>O JDK e o Tomcat</h3>
<p>Apesar do servidor ser Ubuntu, desta vez eu não usei o apt-get. Eu sempre preferi instalar o JDK e algumas outras ferramentas de forma <em>manual</em>, não sei exatamente porque tenho essa mania, mas não consigo fugir.</p>
<p>O que importa é que o <em>JAVA_HOME</em> e o <em>PATH</em> estejam ajustados, se isso estiver correto tanto faz se você instalar usando o apt-get ou não. De qualquer forma, se você optar por usar o apt-get, basta seguir o comando abaixo:</p>
<pre lang="bash">jeveaux@baium ~ $ sudo apt-get install sun-java6-jdk tomcat5.5</pre>
<p>Se não, se você for <span style="text-decoration: line-through;">paranóico</span> como eu, certifique-se de ter configurado o <em>JAVA_HOME</em> e o <em>PATH</em> manualmente no seu <em>.bashrc</em>:</p>
<pre lang="bash">export JAVA_HOME=/development/jdk1.6.0_13
export PATH=$JAVA_HOME/bin:$PATH</pre>
<h3>O mod_jk</h3>
<p>O mod_jk já foi instalado anteriormente, então só precisamos certificar de que ele esteja ativado.</p>
<blockquote><p>Caso você queira ativar ou desativar um módulo, existem duas maneiras: 1) usar os comandos <em>a2enmod &lt;mod&gt;</em> e <em>a2dismod &lt;mod&gt;</em> ou simplesmente criar ou remover os links simbólicos em <em>APACHE2_HOME/mods-enabled</em>.</p></blockquote>
<h5>1) Configurar os workers</h5>
<p>A instalação foi tão simples que somente um arquivo nos interessa por enquanto: <em>/etc/libapache2-mod-jk/workers.properties</em>. Abaixo apenas as configurações mais importantes e algumas que precisaremos alterar:</p>
<pre lang="apache">workers.tomcat_home=/development/apache-tomcat-6.0.18
workers.java_home=<span>/</span>development<span>/</span>jdk1.6.0_13
worker.list=ajp13_worker
worker.ajp13_worker.port=8009
worker.ajp13_worker.host=localhost
worker.ajp13_worker.type=ajp13
worker.ajp13_worker.lbfactor=1</pre>
<p>No workers.properties temos o mapeamento do tomcat <em>(workers.tomcat_home)</em> e do JDK <em>(workers.java_home)</em>. Há outra propriedade muito importante que é a <em>worker.list</em>, nela definimos todos <em>&#8220;workers&#8221;</em> que teremos. Para um único servidor teremos apenas um <em>worker</em>, mas em ambientes de cluster teremos vários. E temos para cada <em>worker</em> as suas configurações particulares: <em>port</em>, <em>host</em> e <em>type</em>, além de uma em particular, muito importante em ambiente de <em>cluster</em> e <em>load balancer</em>, a <em>lbfactor</em>, que indica a quantidade de trabalho do <em>worker</em> no conjunto, quanto menor o valor, menor o esforço do <em>worker</em>, ou seja, menos requisições serão despachadas para este <em>worker</em>.</p>
<h5>2) Iniciar (ou montar) o JK</h5>
<p>Mais uma vez temos dois caminhos a seguir aqui. Iniciar o JK no site principal ou em algum <em>VirtualHost</em> (sub-domínio) específico. O que vai mudar é onde você vai inserir o código a seguir.</p>
<p>Caso queira colocar o JK no seu site principal, você poderá inserir o código abaixo no seu <em>httpd.conf</em> &#8211; o que eu não recomendo &#8211; ou criar um arquivo <em>jk.conf</em> em <em>APACHE2_HOME/mods-available</em>, depois criar o link simbólico para este arquivo em <em>APACHE2_HOME/mods-enabled</em>.</p>
<p>Mas se você quiser ou precisar usar o JK somente em algum site e/ou sub-domínio específico, insira o código abaixo direto no arquivo do site em <em>APACHE2_HOME/sites-enabled</em>.</p>
<pre lang="apache">JkWorkersFile   /etc/libapache2-mod-jk/workers.properties
JkLogFile       /var/log/apache2/mod_jk.log
JkLogLevel      info
JkMount /*.jsp ajp13_worker
JkMount /teste/* ajp13_worker</pre>
<p>Com essas configurações estamos escolhendo qual arquivo de workers vamos usar <em>(JkWorkerFile)</em>, ou seja, qual o tomcat e JDK. Também definimos o arquivo de log e qual o tipo de log será gravado e, o ponto chave, quando o JK será usado. O <em>JkMount</em> pode ser repetido quantas vezes for preciso e é nele que definiremos todos os padrões de URL quanto forem precisos para que o JK seja usado.</p>
<blockquote><p>É neste momento, configurando o <em>JkMount</em>, que podemos dividir o processamento de recursos dinâmicos (jsp, servlet) para o Tomcat e recursos estáticos para o Apache. Não vou entrar nesse ponto neste artigo, mas fica a dica.</p></blockquote>
<p>Com o trecho acima estamos encaminhando para o tomcat &#8211; através do JK &#8211; tudo que terminar com <em>.jsp</em> ou tudo que estiver após <em>/teste</em>.</p>
<h3>O Deployment</h3>
<p>Aqui tudo correrá como qualquer aplicação Java, sem nenhuma diferença. Chamaremos nossa aplicação Java de <em>&#8220;teste&#8221;</em>. Após o deploy podemos acessa-la como de costume em <em>http://localhost:8080/teste</em>, mas agora com o JK podemos acessar também através da porta 80 (apache) em <em>http://localhost/teste</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeveaux.com/2009/apache2-e-tomcat-com-mod_jk/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Event Servers</title>
		<link>http://jeveaux.com/2007/event-servers/</link>
		<comments>http://jeveaux.com/2007/event-servers/#comments</comments>
		<pubDate>Mon, 04 Jun 2007 11:45:22 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[App Servers]]></category>
		<category><![CDATA[BEA]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/?p=13</guid>
		<description><![CDATA[A mais ou menos um ano atrás, dei uma virada na minha carreira e atividades quando sai da Consist e entrei na Inflor, foi quando deixei de trabalhar diretamente com aplicações JavaEE (especificando e desenvolvendo principalmente) para trabalhar mais voltado &#8230; <a href="http://jeveaux.com/2007/event-servers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A mais ou menos um ano atrás, dei uma virada na minha carreira e atividades quando sai da <a href="http://www.consist.com">Consist</a> e entrei na <a href="http://www.inflor.com.br">Inflor</a>, foi quando deixei de trabalhar diretamente com aplicações JavaEE (especificando e desenvolvendo principalmente) para trabalhar mais voltado a integrações e processos, apesar destas aplicações ainda serem completamente JavaEE (EJBs, JMS, etc) as ferramentas para este trabalho tiram o <em>gostinho </em>de quem gosta de desenvolver. Mas onde quero chegar é, neste um ano trabalhei sempre com o BEA Weblogic Server usando bastante o Workshop, Portal e o Integration e pude encontrar muitos pontos fortes, diferenciais e também muitos bugs super estranhos.</p>
<p>Depois de uma passada habitual pelo <a href="http://lucabastos.blogspot.com/">Blog do Luca</a>, fiquei sabendo em primeira mão do lançamento do <a href="http://www.bea.com/framework.jsp?CNT=overview.htm&amp;FP=/content/products/weblogic/event_server/">Event Server da BEA</a>, junto veio de tabela uma nova versão do Real Time Server.</p>
<p>Estou rodando esse brinquedinho aqui em casa mas ainda não consegui ver diferenças significativas entre o WLS8.1 e WLS9.2 que tenho aqui, como ainda não simulei uma grande quantidade de eventos para testa-lo, ficarei com a dúvida se esta é mais uma técnica milagrosa da BEA para vender mais algumas centenas de licenças ou se o novo servidor realmente suportará os 50.000 eventos complexos e simultâneos, <a href="http://www.infoworld.com/article/07/05/28/bea-events_1.html">como se propõe a fazer</a>. Pelo que pude ver no site do Event Server, ele tem um novo Dashboard que me pareceu muito interessante e útil, só que ainda não consegui usa-lo, se alguém souber como por favor me avise ou se alguém já estiver usando-o, deixe um comentário :D</p>
]]></content:encoded>
			<wfw:commentRss>http://jeveaux.com/2007/event-servers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

