Problemas comuns na utilização de EJBs
Este artigo apresenta alguns dos principais problemas encontrados durante a implementação de EJBs.
Recursos especiais neste artigo:
Conteúdo sobre boas práticas.
Este artigo apresenta alguns dos principais problemas encontrados durante a implementação de EJBs. Muitos dos problemas enfrentados com esta tecnologia podem estar relacionados com código, mas também temos diversos outros que podem estar relacionados com processos e decisões de arquitetura. Abordaremos também as suas causas e algumas formas de resolvê-los ou atenuá-los.
Em
que situação o tema é útil
Por vezes, gastamos um tempo valioso tentando solucionar
problemas com EJBs, mas que podem possuir soluções simples e de fácil adoção.
Este artigo ajudará o desenvolvedor a checar alguns pontos importantes antes de
se preocupar efetivamente com implementações funcionais do negócio, evitando desperdício
de tempo e erros nos diferentes ambientes (desenvolvimento, testes, produção,
etc.).
EJBs já possuem alguns bons anos de estrada no ecossistema Java. Entretanto, às vezes ainda nos deparamos com problemas que acabam atravancando a implementação, fazendo com que o desenvolvedor perca horas a fio tentando resolver um problema que muitas vezes nem está relacionado com a finalidade de sua implementação. Alguns destes problemas poderiam ser evitados tomando-se alguns cuidados preliminares antes de iniciar o desenvolvimento, ou até mesmo, antes de construir a arquitetura para atender determinada funcionalidade do sistema.
O intuito deste artigo é mostrar alguns dos problemas enfrentados no dia a dia relacionados à implementação de EJBs, além de algumas formas de solucioná-los. Algumas das soluções aqui apresentadas podem não refletir a melhor forma de resolver determinados problemas, haja vista que melhores soluções podem estar relacionadas com padrões arquiteturais de cada empresa e de cada negócio. De qualquer maneira, identificar a causa de um problema já será um excelente começo para determinar qual a melhor solução de acordo com as necessidades e padrões da sua empresa.
Vamos começar falando um pouco sobre arquitetura e estrutura de projetos e depois abordaremos alguns problemas de implementação. Mas antes de abordarmos o real conteúdo do artigo, será necessário fazer alguma preparação mínima para que seja possível evidenciar na prática os problemas aqui apresentados. Esta preparação é necessária para que o leitor faça um acompanhamento e análise mais detalhado do artigo.
Em primeiro lugar, vamos listar os itens que precisamos para acompanhar o artigo. Vale lembrar que dependendo da experiência do leitor, qualquer um dos itens abaixo pode ser substituído por outro de sua preferência (ou mesmo versões mais novas), mas que podem afetar os resultados ou a implementação de alguns dos testes:
· IDE Eclipse Java EE (Indigo);
· Servidor de Aplicação JBoss 5.1.0 GA.
As devidas instalações e configurações não serão abordadas neste artigo. No entanto, o leitor poderá encontrar inúmeros tutoriais a respeito na internet que abordam estes assuntos específicos.
Alguns dos problemas apresentados aqui estão relacionados com o modo conceitual de como os EJBs funcionam. Portanto, dependendo do nível de conhecimento do leitor nesta tecnologia, é muito provável que alguns dos problemas apresentados já sejam pontos de verificação e/ou preocupação no momento da implementação. Entretanto, mesmo programadores mais experientes por vezes caem em algumas armadilhas de código ou conceitos que acabam prejudicando o trabalho ou prazos de entrega, trazendo algum atraso para o projeto.
O artigo consistirá de um projeto EJB completo no Eclipse, simulando alguns problemas que serão tratados no artigo e também algumas simulações de seus possíveis efeitos. Procuraremos detalhar e, principalmente, tornar da forma mais clara possível cada problema abordado, para que o leitor obtenha o máximo de entendimento possível, logo na primeira leitura. Deste modo, vamos primeiro discorrer sobre como montar o projeto no Eclipse. Na sequência e depois de tudo funcionando, abordaremos os seguintes problemas relacionados à implementação de projetos com EJBs:
· Montando o ambiente – Entendendo a arquitetura utilizada;
· Dificuldades relacionadas com a estrutura dos projetos;
· Problemas com a publicação de arquivos (Deploy);
· Exceções na inicialização de atributos de EJBs;
· Utilização de atributos em construtores antes da Injeção de Dependência;
· Concorrência em collections;
· Utilização de atributos em EJBs Stateless;
· Overhead de chamadas em classes utilitárias;
· Ganho de performance com @Local e @Remote.
Montando o ambiente – Entendendo a arquitetura utilizada
Nosso sistema de teste para este estudo de caso está dividido em quatro projetos no Eclipse:
· artigo-base: contém classes e interfaces comuns para os demais projetos. Este projeto serve de base (como o nome sugere) para todos os projetos que precisarem efetuar algum tipo de chamada ou implementação entre si, via interfaces e classes comuns;
· artigo-ejb: contém a implementação dos nossos EJBs e será o mais utilizado para análise dos problemas de implementação e configuração apresentados no artigo;
· artigo-client: possui as classes que serão executadas para validar nossas análises dos estudos de caso e demonstrar as possíveis condições testadas. A intenção deste projeto é simular, da forma mais próxima possível, situações de chamadas de EJBs que podem ocorrer em sistemas rodando em produção;"
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo