Normalmente o Weblogic executa as aplicações mais importantes numa corporação e a existem dois pontos básicos que necessitam de muita atenção:
1) Segurança: o Weblogic, por ser um servidor de aplicação executa as principais aplicações e sistema de uma corporação, para isto ele tem acesso a muitas outras redes: banco de dados, sistemas internos, externos, legados, etc. Caso o Weblogic seja invadido muitas informações podem ser expostas. Desta forma, não é interessante colocar o Weblogic na ultima camada, exposto na internet;
2) Disponibilidade: normalmente um sistema ou um conjunto deles são executados em mais de um servidor Weblogic, desta forma, caso algum se torne indisponível, seja por falha do sistema ou danos no hardware, normalmente utilizamos uma camada anterior que irá balancear as requisições entre os servidores Weblogic e, em caso de falha, impedirá que novas chamadas sejam enviadas ao servidor que falhou.
Para estes dois fatores existem muitas soluções, no entanto a mais simples e comum é o uso de um servidor de HTTP (Hypertext Transfer Protocol - Protocolo de Transferência de Hipertexto). Este servidor ficará entre o Weblogic e o acesso para a internet.
O servidor HTTP mais famoso e utilizado é o Apache, que, além de ser gratuito, ainda existe um Plugin oferecido pela Oracle para o Apache, que permite a comunicação automatizada entre o servidor Weblogic e o servidor HTTP. Plugin é um pequeno conjunto de funcionalidades em forma de sistema, que é feito para se integrar com produtos já estabelecidos, com a finalidade de estender suas funcionalidades.
A Oracle oferece sua própria versão de servidor de HTTP, juntamente com o Plugin para o Weblogic, chamado OHS (Oracle HTTP Server) que faz parte de um pacote de software chamado Oracle WebTier Utilities. Neste manual será utilizado o servidor Apache, juntamente com o Plugin, que na versão 12c não vem com o Weblogic, devendo ser baixado em separado. Acesse estes links e baixe ambos os produtos:
Para baixar o Plugin do Weblogic para Apache:
http://www.oracle.com/technetwork/middleware/ias/downloads/wls-plugins-096117.html
Para baixar o Apache:
http://httpd.apache.org/download.cgi
Para demonstrar como o servidor HTTP irá ajudar no que se refere a segurança, veremos na próxima imagem que cada camada de um sistema fica protegido por um Firewall, que irá impedir acessos indesejados. Observe a figura abaixo:
Figura 1 (clique para ampliar)
Entre a internet e os sistemas corporativos, que são executados no Weblogic, existe o servidor HTTP, que é o Apache com o Plugin para o Weblogic, também conhecida como camada Web. Desta forma o servidor Weblogic não fica vulnerável para o mundo exterior, através da internet. O servidor HTTP recebe as requisições e desvia para o Weblogic, que efetua o processamento dos dados e retorna para o servidor HTTP, que responde para o usuário ou cliente, através da internet.
Dentro deste esquema de rede, para afetar o servidor Weblogic é necessário passar por um Firewall, o servidor HTTP e um segundo Firewall. O quesito segurança é de extrema importância, abrangente e muito complexo, aqui está sendo demonstrado apenas um mínimo necessário em questão de segurança.
O servidor HTTP não ajuda apenas a resolver questões de segurança. Quanto existe um sistema muito importante, normalmente ele não pode parar, caso contrário pode causar prejuízo, tanto a corporação quanto a seus clientes. Para isto é muito comum que as aplicações sejam implantadas em ambientes em Cluster (como visto no inicio), onde mais de uma máquina irá rodar as aplicações Java. Para que as requisições sejam devidamente distribuídas entre as máquinas que compõem o Cluster, podemos utilizar o servidor HTTP.
No esquema abaixo podemos ver um servidor HTTP distribuindo as requisições que entram pela internet entre dois servidores Weblogic, caso algum deles apresente alguma falha, o servidor HTTP, através do Plugin, irá perceber qual o servidor está inoperante e não enviará novas requisições para ele. Também tem a capacidade de desviar as requisições que estavam em andamento para a máquina operante. Veja a figura abaixo:
Figura 2 (clique para ampliar)