Desenvolvimento

Ξ 2 comentários

Weblogic: Poderoso servidor de aplicações Java

publicado por Frederico Cerqueira Alves

Nos últimos anos a Oracle (www.oracle.com) tem investido pesado na plataforma Java, dedicando seus esforços em constituir produtos cada vez mais robustos e performáticos, com alto desempenho e escalabilidade. Um dos principais produtos para tal investimento é a consolidação no mercado de seu servidor de aplicações: Oracle Weblogic Server. Dedicado a desenvolver e publicar aplicações das mais variadas frentes de negócio em plataforma Java EE (“Java Enterprise Edition”). Neste artigo serão relatados alguns fatores que consolidam o Weblogic como um dos principais servidores baseados em Java disponíveis no mercado global.

A Java Enterprise Edition (JEE, antigamente citada como J2EE), é uma plataforma consistente de recursos e principalmente munida de vários conjuntos de especificações altamente padronizadas utilizando como linguagem de programação o Java. Cabe ressaltar que é definida por uma série de detalhes, cujo desenvolvimento de referência das especificações da JEE (“reference implementations”) é feito por empresas tais como: Oracle, IBM e Sun (antigamente antes da aquisição feita pela Oracle e seus parceiros). Umas das principais especificações da JEE é o EJB (“Enterprise Java Beans Components”), e a Java Persistence API (JPA) que permitem a criação de objetos distribuídos, recursos de acesso remoto e artefatos de persistência da informação, entre diversos outros componentes dentro de inúmeras APIs ou pacotes de interfaces para vários propósitos sistêmicos. Um servidor de aplicações em Java utiliza a JEE como o principal motor de regras e padrões seguindo as especificações definidas por ela e permitindo que as aplicações desenvolvidas sejam publicadas para consumo dos usuários ou sistemas integrados. O Weblogic Server não é somente um servidor de aplicações que utiliza a especificação JEE expondo sua gama de APIs, mas também um poderoso conjunto de soluções para impulsionar o desenvolvimento de aplicações com rápida publicação, monitoramento, segurança, “cluster” e administração. Na versão atual, Weblogic Server 12c, já é possível utilizar os conceitos de “Cloud Computing” e publicação de aplicações neste cenário.

As versões da JEE utilizadas por alguns dos principais servidores de aplicações do mercado podem ser obtidas em:

http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html

O conjunto de ferramentas e recursos do Weblogic Server o torna eficaz e com uma poderosa estrutura para suportar (considerado como “foundation”) de outras suítes da Oracle, tais como “Oracle Fusion Middleware” e “Oracle Fusion Applications”, em que é possível ter um ambiente completo para desenvolvimento de aplicações e serviços nas mais variadas especificações e tecnologias/arquiteturas: SOA (Arquitetura Orientada a Serviços), AIA (Arquitetura de Integração entre Aplicações), PIP (Pacotes/Interfaces de Integração para Processos), Cloud Computing, CMS (repositório de conteúdo), Portal/Web Applications, etc…

Dentre as principais ferramentas para desenvolvimento de sistemas e serviços que utilizam o Weblogic Server como ambiente de publicação, monitoramento e testes é possível citar: Eclipse, Oracle NetBeans e Oracle JDeveloper.

De uma forma bem rápida e prática é possível perceber que o servidor de aplicações da Oracle disponibiliza três frentes de gestão: Console de Administração, Gestão de Aplicações e uma eficaz ferramenta para gerência de controle de aplicações por script (WLST – Weblogic Scripting Tool). Já para o ciclo de vida de publicação dos artefatos que irão expor as aplicações neste servidor existe um framework para o controle de soluções seguindo fluxos de configuração, publicação, ativação e monitoramento, conforme imagem 1.


img1-wlsunificado

O Weblogic Server pode ser instalado em inúmeros ambientes e plataformas, assim como banco de dados que poderão ser utilizados. Dentre os principais recursos necessários para instalação e configuração é possível perceber a facilidade para implantar este servidor em um ambiente corporativo, cuja lista completa de plataformas suportadas segue abaixo:

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html e

http://www.oracle.com/technetwork/middleware/weblogic/overview/index.html?ssSourceSiteId=otnpt

A partir de agora, será apresentada uma utilização prática deste servidor, utilizando a versão 10.x em Windows para demonstração, através da console de administração com a publicação de uma aplicação web simples suportada por qualquer servidor de aplicações “webpages”, como por exemplo, o Tomcat. Para a instalação do produto e criação do “Domain Server”, vide documentação da própria Oracle:

http://docs.oracle.com/cd/E24329_01/doc.1211/e24492/install_screens.htm

Após instalação do Weblogic Server com um Domain Server (non-cluster) é possível identificar que existe um comando simples para inicialização. Contudo, dependendo de cada ambiente corporativo a instalação deverá seguir certos padrões, principalmente se necessitar da utilização de vários servidores em cluster. Para este artigo vamos adotar um servidor de exemplo, criado a partir do diretório do Windows (neste caso o Windows Vista): %ORACLE_HOME%\wlserver_10.3\samples\domains\wl_server. Note que “wlserver_10.3” trata-se da versão e nome do diretório raiz em que o Weblogic Server fora instalado. Para o diretório “wl_server” atribuiu-se o nome do servidor weblogic para o domínio criado, ao qual serão publicadas as aplicações. O comando “startWebLogicEx.cmd” inicializa a subida do servidor, cuja porta default das aplicações e da console no protocolo HTTP é definida com o valor 7001. Já para o protocolo HTTPS foi associada a porta 7002. Para os exemplos neste artigo utilizaremos sempre a porta 7002 no padrão https.

img2-wlscomando

img3-wlsprompt

img4-wlspageindex

Acessando o Weblogic Administration Console – https://localhost:7002/console
(por padrão foi utilizado o usuário weblogic com a senha weblogic)

img5-wlsloginadm

img6-wlsadm

Note que no canto direito existe um menu lateral que acessa as principais funcionalidades de administração do Weblogic, e o nome dado ao domínio é atribuído na raiz de opções (“Domain Structure”).

Na primeira opção do menu é possível avaliar todas as funcionalidades disponíveis para criar e configurar o ambiente servidor e todas as máquinas que farão parte da estrutura do domínio, inclusive com hosts virtuais, clusters e “work managers” para áreas exclusivas de processos e aplicações que necessitam de uma execução particular ao longo do servidor dentro da máquina virtual java.

O foco principal deste artigo é apresentar a área de “deployments”, ou seja, como publicar e gerenciar as aplicações. Neste sentido, é necessário criar uma aplicação web Java bastante simples, apenas para disponibilizar um contexto web que exibe uma página contendo data atual. Para isso, crie a estrutura abaixo dentro de um diretório chamado tiespecialistasweb:

– Crie a pasta WEB-INF/ com as subpastas abaixo

img6a-webinf

– Edite um arquivo chamado index.jsp, contendo:

<html>
bgcolor=”white”>
color=”blue”>
<%@ page buffer=”1kb” autoFlush=”false” %>
<p>TI Especialistas – Weblogic Server</p>
<p>
<%= new java.util.Date() %>
</p>
<p> 🙂 </p>
</html>

Para o arquivo web.xml não é necessária nenhuma configuração especifica, pois o objetivo é o de ilustrar a publicação de uma aplicação web exemplo muito simples. Contudo, segue abaixo o arquivo web.xml utilizado:

<?xml version=”1.0″ encoding=”ISO-8859-1″ ?>
<web-app>
<description>TI Especialistas</description>
Web App portavel para Weblogic
</web-app>

Ao término da definição dos arquivos e pastas é necessário compactar todo o conteúdo gerando o arquivo tiespecialistasweb.war:

img6b-war

O próximo passo agora é publicar no Weblogic a nossa aplicação, que também pode ser utilizada em outros servidores como o Tomcat e Glassfish. Para tal, na console de administração do Weblogic Server acesse pelo menu a opção “Deployments”:

img7-wlspublicacao

Agora clique na opção “Install’ e localize o seu arquivo tiespecialistasweb.war. A partir daí, basta clicar sempre em “Next” ou simplesmente “Finish”. Lembre-se que ao instalar uma nova aplicação, por padrão o Weblogic deixará este recurso como ativo, e poderá neste momento ser acessada através da url: https://localhost:7002/tiespecialistasweb/.

Uma aplicação ao ser publicada pode a qualquer momento ser retirada do ar (“Stop”) ou removida em definitivo (“Delete”), neste caso antes de optar por esta opção verifique se a aplicação não está mais ativa, ou seja, utilizar como pré-requisito a ação de “Stop”.

Para um ambiente em cluster a instalação de uma aplicação nos diversos servidores disponíveis pode ser feita para cada um dos nós ativos ou com replicação em todos os servidores pertencentes a este cluster. Inclusive as demais ações como “Stop”, podem ser feitas nó a nó, garantindo assim que um servidor do cluster possa entrar em manutenção sem que o site fique indisponível.

Por fim, o processo de monitoramento da aplicação pode ser realizado através do acesso: Deployment -> tiespecialistasweb -> Monitoring

img8-wlsmonitoramento

Ao longo do monitoramento é possível coletar informações como quantidade de sessões ativas, servlets, servidores e workload (gerencia de work managers e threads).

Não poderia faltar uma demonstração do uso dos recursos de banco de dados, ou seja, a criação de datasources utilizados por serviços ou pelas aplicações a serem publicadas. Para tal deve-se acessar Services -> JDBC -> DataSources:

img9-datasources

A criação de um datasource é muito simples e rápida com a escolha do banco de dados (database type e datasource name/jndi), informando o driver desejado e mapeamento as credenciais de usuário e senha. Após a criação de um acesso ao banco de dados via datasource é possível monitorá-lo, assim como feito com as aplicações web.

Um recurso do Weblogic Server que pode ser bastante utilizado, principalmente para acompanhamento das aplicações e serviços é a criação de agentes SNMP (Diagnostics -> SNMP). É possível criar um agente para enviar a uma determinada aplicação que observa eventos via protocolo UDP uma série de notificações suportadas pelo servidor Weblogic, e neste sentido monitorar eventos de inicialização, mensagens de avisos, erros e paradas de aplicações.

Opinião

A ideia principal deste artigo foi apresentar algumas características importantes de um servidor de aplicações como o Weblogic Server. A quantidade de recursos disponíveis e informações mais abrangentes, para quem se interessar, podem ser facilmente obtidas dos sites da Oracle. Procurei demonstrar uma maneira simples e fácil de acessar o monitoramento e publicação de uma simples aplicação web.

Uma característica fundamental para quem deseja realizar um prova de conceito ou mesmo testar este servidor é a enorme quantidade de documentos, artigos e help online disponibilizados pela Oracle. Desde 2005 atuo com este servidor, e acompanhei as evoluções nas versões 6, 7 e 8, ainda como BEA Weblogic Server e recomendo sem ressalvas.

Um fator importante na aquisição de um servidor de aplicações como o Weblogic é formar uma equipe para realizar o suporte ao produto, principalmente com os treinamentos da Oracle e acompanhamento assistido nas primeiras implantações por uma equipe especializada no assunto, permitindo um aproveitamento dos recursos computacionais de acordo com o ambiente produtivo da empresa, a fim de obter os melhores resultados.

Autor

Especialista TI na área de arquitetura e desenvolvimento de sistemas Java/JEE, atuando desde 2000 com esta tecnologia. Pós-graduado (MBA) em Gestão de TI pela PUC/PR e Graduado pela Universidade Federal de Uberlândia – UFU, em Ciência da Computação, com ênfase em Engenharia de Software.

Frederico Cerqueira Alves

Comentários

2 Comments

  • Interessante para iniciar alguns trabalhos de benchmark e analise para instituições corporativas.

  • Excelente o seu artigo, fui seguindo o passo a passo aqui e deu tudo certo. Obrigado 🙂

You must be logged in to post a comment.

Busca

Patrocínio

Publicidade



Siga-nos!

Newsletter: Inscreva-se

Para se inscrever em nossa newsletter preencha o formulário.

Artigos Recentes