Deployment é o conjunto de atividades que fazem com que um software, ou componentes de software, estejam prontos para uso. Durante o deployment, o container EJB lê as configurações contidas no deployment descriptor ou nas annotations no código-fonte e prepara um ambiente padronizado para a execução dos beans.
Ou seja, o deployment descriptor especifica quais serviços de infra-estrutura o container EJB proverá aos enterprise beans, desde que o deployment seja feito num container EJB certificado.
Annotation (metadado)
Deployment descriptor é um arquivo XML, portanto propenso a erros, e acrescenta grande complexidade ao ciclo de vida de desenvolvimento. As annottions para EJB foram introduzidas para ser uma alternativa aos deployment descriptors e, conseqüentemente, aliviar o desenvolvedor da sua complexidade inerente.
Annotation, ou metadado, é um elemento que pode ser adicionado a um pedaço de código para fornecer informações adicionais sobre esse código. A JSR-175 (A Metadata Facility for the Java Programming Language), íncluída no J2SE 5.0, fornece o meio para criação e processamento de annotations. A JSR-220 definiu uma série de annotations específicas para o desenvolvimento de enterprise beans.
Entretanto, deployment descriptors não foram eliminados, nem estão ultrapassados. Foram mantidos como forma redundante de informação sobre o deployment de um enterprise bean; isto é, podem ser utilizados em conjunto com os metadados. Nesse caso, o deployment descriptor tem precedência sobre a sua annotation equivalente.
Deployment Descriptors Proprietários
Há certos serviços providos pelos containeres que são específicos de cada container EJB, indo além do que define a especificação JSR-220, como clustering e load balancing - uma forma de diferenciação entre servidores Java EE.
A configuração necessária para esses serviços é feita em deployment descriptors proprietários. Esses serviços geralmente podem ser ajustados através de suas respectivas annotations, nesse caso, tornando o código-fonte não portável entre os diferentes servidores.
Annotations in Action
As duas figuras abaixo, retiradas do Apêndice 2 do livro Mastering Enterprise JavaBeans 3.0, demonstram como os metadados ajudam a reduzir a complexidade do desenvolvimento de enterprise beans.
Perceba que as annotations @Stateful, @Remote e @Interceptors equivalem a 16 linhas de código XML de um deployment descriptor equivalente. Além disso, os metadados são inerentemente ligados ao código-fonte, enquanto o deployment descriptor é externo ao código.
Nem Tudo São Flores
O uso de annotation simplifica e agiliza o desenvolvimento de enterprise beans, contudo não substitui completamente os deployment descriptors.
Quando os papéis de Bean Provider e EJB Deployer são executados por pessoas diferentes, pode haver confusão e retrabalho ao definir a configuração do deployment. Nesse caso, como os metadados estão presentes no código-fonte, se o EJB Deployer precisar verificar ou alterar essa configuração, será necesário todo o trabalho para chegar ao código-fonte, inspecioná-lo e alterá-lo.
Principalmente quando a mudança na configuração do deployment é freqüente, é indicado uma separação de responsabilidades bem definida. A configuração deve ficar sob incubência exclusiva do Bean Provider ou do EJB Deployer.
Leitura Recomendada:
Fontes Utilizadas:
Segunda-feira, Março 26, 2007
Sobre Annotations e Deployment Descriptors no EJB 3.0
Assinar:
Postar comentários (Atom)


0 comentários:
Postar um comentário