quinta-feira, 13 de maio de 2010

EJB - Enterprise Java Beans


O que é EJB ?
É um dos principais componentes da plataforma J2EE.
EJB é um componente do tipo servidor que executa no container do servidor de aplicação (ex.: JBoss).

Para que serve?
Os principais objetivos da tecnologia EJB são de fornecer um desenvolvimento de aplicações Java rápido e simplificado, baseado em componentes distribuidos, transacionais, seguros e portáveis.

Quais suas vantagens?
  • Invocação remota de métodos: Com a invocação remota de métodos podemos ter diversos clientes remotos nas mais diversas localidades.

  • Load Balancing: Podemos ter diferentes servidores, e cada chamada do cliente podemos balancear a carga entre os diversos servidores disponíveis.

  • Fail-over: Quando um desses servidores der problema, devemos passar a chamar automaticamente outro servidor transparentemente para o cliente.

  • Transações: O conceito de transação é muito importante para EJB. Com o conceito de transações, é possível acessar diversas base de dados e executar uma série de modificações, caso algum erro ocorra durante o processamento de alguma das tarefas solicitadas todo o processo é cancelado e o sistema volta ao estado inicial.

  • Clunstering: Para podermos ter tolerância a falhas, devemos replicar a aplicação entre os diversos servidores.

  • Threading: O desenvolvedor de componentes EJB não precisa se preocupar com aspectos multithreading da aplicação. Como tratar diversos clientes? Como evitar impasse entre as threads? Como sincronizar os objetos? Essas perguntas não devem ser respondidas pelo desenvolvedor uma vez que o container é responsável pelo tratamento dessas questões.

  • Suporte a MOM (Message-Oriented middleware): Algumas requisições são baseadas em mensagens. A especificação EJB permite esse tipo de processamento através do Message - Driven Bean.

  • Ciclo de vida do Objeto: Quando o tráfego aumenta ou diminui os objetos para servi-los deverão ser criados e destruídos.

  • Gerenciamento de recursos: Se o cliente não está mais conectado ao servidor, o servidor deve reutilizar ao máximo os recursos, retornando-os ao pool, marcando suas conexões como livre.

  • Segurança: Podemos definir a segurança de um componente EJB simplesmente por configuração (segurança declarativa).

  • Caching: O servidor de aplicações faz caching de componentes de entidades de forma a otimizar o acesso ao banco de dados.
Quais containers que implementam EJB?
  • FREE

    *OpenEJB
    *Geronimo
    * Glassfish
    *JBoss
    *Jfox
    *JOnAS
  • PAGOS:

    *WebLogic
    *HP AS
    *IBM Web Sphere
    *Macromedia JRun
    *Oracle e outras

Nenhum comentário:

Postar um comentário

DÚVIDAS - CRITICAS - SUGESTÕES