Enterprise JavaBeans (EJBs) são componentes de software. UMA componente de software
é um programa que é executado dentro de um recipiente. (O que é um recipiente? Leia mais!) O componente fornece alguma funcionalidade única que é específico para o aplicativo que você desenvolver, quer se trate de um carrinho de compras para um varejista on-line ou um serviço de gestão de contas para um banco. o
recipiente fornece os componentes de software com
serviços do sistema. serviços do sistema são os serviços genéricos que qualquer tipo de aplicação pode se beneficiar, como os serviços de segurança e de transacção. Isso significa que você pode se beneficiar de muitas características muito poderosas do sistema em seus componentes de software sem escrever qualquer código para criar esses recursos.
Os EJBs que você desenvolve em seu aplicativo EJB deve fornecer serviços que são únicos e especiais para os problemas empresariais seu software precisa enfrentar. Se os seus componentes EJB não resolver um problema único, então você não precisa necessariamente desenvolvê-los yourself- provavelmente você pode comprar componentes existentes que fazem o trabalho.
Agora para a captura. (Você nunca tem alguma coisa por nada.) No caso de EJBs, a fim de beneficiar de serviços de qualquer recipiente, você - como o desenvolvedor EJB - devem aderir a um contrato com o recipiente. O recipiente concorda em fornecer certas características a seus EJBs de acordo com um determinado conjunto de regras. Em troca, você deve desenvolver seus EJBs em conformidade com uma estrutura especificado que o container EJB pode entender.
Pense deste conceito componente da mesma forma que você pode pensar em seu sistema de entretenimento doméstico. Você tem a capacidade de escolher entre uma variedade de marcas para as suas diferentes componentes - você pode obter uma marca de TV, outra marca de leitor de Blu-ray, e ainda uma outra marca de sistema de home theater / alto-falante. Você pode ligá-los todos juntos, porque cada componente adere a uma convenção que exige interfaces consistentes. Da mesma forma, Enterprise JavaBeans podem ser adicionados e removidos de qualquer container EJB porque a especificação EJB requer interfaces consistentes entre o recipiente e o componente EJB.
A figura a seguir ilustra uma visão simples do modelo de componente para Enterprise JavaBeans.
A vista componente de um aplicativo EJB.
A figura mostra os seguintes três jogadores-chave em um aplicativo EJB:
o cliente é uma aplicação de software que faz uso de componentes EJB. O cliente pode residir no mesmo computador que o componente EJB, ou pode residir num computador remoto. O cliente também pode ser virtualmente qualquer tipo de aplicação. Você pode ter um aplicativo JavaServer Pages (JSP) como um cliente, ou uma aplicação desktop que residem no computador de um usuário. O cliente pode também ser outra Enterprise JavaBeans.
O recipiente é o anfitrião para os componentes EJB. Ele fornece uma variedade de serviços do sistema para o componente EJB, assim você não tem que desenvolver-los sozinho. Quando uma aplicação cliente - tais como uma aplicação JSP - invoca um método em um componente EJB, a chamada é passada através do recipiente em primeiro lugar EJB. O recipiente executa estes serviços especiais e, em seguida, passa o pedido do cliente para o componente EJB. Em última análise, o componente EJB executa as operações solicitadas pelo cliente. Todo esse processo é completamente transparente para o cliente aplicação-, tanto quanto o cliente está em causa, ele pensa que está falando diretamente para um componente EJB.
O componente EJB é um provedor de serviços de negócios ou dados de negócios. Serviços prestados às empresas e dados comerciais são processos que andinformation você definir e que são específicos para as necessidades do seu negócio. Como um desenvolvedor de componentes EJB, as suas responsabilidades de desenvolvimento são dois:
Seus componentes EJB deve implementar os métodos exigidos pela arquitetura de componentes EJB. Estes métodos são colectivamente referidos como o interface de programação de aplicativo (API). Os métodos definidos na API permitir que o container EJB para fornecer serviços de sistema a seus componentes EJB. Eles também permitem que você faça pedidos para o recipiente para executar determinadas ações, como obter a identidade de um usuário.
Você deve implementar os métodos de negócio necessários para a aplicação que você está desenvolvendo. Isso permite que o cliente para receber serviços de negócios e dados de negócios a partir do seu componente EJB. Por exemplo, se você está desenvolvendo um aplicativo de carrinho de compras para o seu negócio, você precisa definir métodos para adicionar itens ao carrinho e remover itens do carrinho.
Os princípios básicos da escrita Empresa Código JavaBean
Um Enterprise JavaBeans (EJB) é como um mini-programa que confere algumas funcionalidades exclusivas para a aplicação, ou recipiente, ele é executado em. Abaixo estão os fundamentos de escrever código EJP.
Resumo de interfaces EJB freqüentemente usados
A tabela a seguir identifica as interfaces que deve implementar para cada tipo de Enterprise JavaBeans (EJB) que você criar.
Interface / Classe | Message-Driven Bean | Session bean | bean de entidade |
---|
interface remota | Nenhum | javax.ejb.EJBObject | javax.ejb.EJBObject |
interface local | Nenhum | javax.ejb.EJBLocalObject | javax.ejb.EJBLocalObject |
interface inicial remota | Nenhum | javax.ejb.EJBHome | javax.ejb.EJBHome |
interface inicial local | Nenhum | javax.ejb.EJBLocalHome | javax.ejb.EJBLocalHome |
classe bean | javax.ejb.MessageDrivenBean | javax.ejb.SessionBean | javax.ejb.EntityBean |
O EJB 2.0 tag DOCTYPE
Os seguintes DOCTYPE tag deve ser incluído em todos os arquivos de descritor de implementação 2.0 EJB:
descrição básica de um bean de sessão
O seguinte bloco de XML contém uma entrada típica para descrever um bean de sessão no descritor de implementação do aplicativo EJB:
MyEJBNamefully.qualified.RemoteHomeInterfaceNamefully.qualified.RemoteInterfaceNamefully.qualified.LocalHomeInterfaceNamefully.qualified.LocalInterfaceNamefully.qualified.BeanClassNameStateless | StatefulContainer | Feijão
Para o atributo, o valor pode ser tanto stateless ou stateful. Para o atributo, o valor pode ser tanto Recipiente ou Feijão.
descrição básica de um bean de entidade
O seguinte bloco de código XML é uma descrição típica de uma classe de bean de entidade no descritor de implementação do aplicativo EJB:
EJBComponentNamefully.qualified.RemoteHomeInterfaceNamefully.qualified.RemoteInterfaceNamefully.qualified.LocalHomeInterfaceNamefully.qualified.LocalInterfaceNamefully.qualified.BeanClassNamefully.qualified.PrimaryKeyNameContainer | FeijãoFalso2.xfieldNameprimaryKeyFieldName
Para o atributo, o valor pode ser tanto Recipiente ou Feijão.
descrição básica de um bean controlado por mensagem
O seguinte bloco de XML ilustra uma descrição típica de um bean controlado por mensagem no descritor de implementação:
fully.qualified.BeanClassNameContainer | BeanAuto-reconhecem | Dups-ok-acknowledgejavax.jms.Queue | javax.jms.Topic