Escolar Documentos
Profissional Documentos
Cultura Documentos
Discentes:
Docente:
Celso de Sousa
Introdução ................................................................................................................................... 1
Plataforma Java EE..................................................................................................................... 2
Componentes Java EE ............................................................................................................ 3
Serviços de contêiner .................................................................................................................. 3
Tipos de contêiner .............................................................................................................. 5
Montagem e implantação de aplicativos Java EE .................................................................. 5
Funções de desenvolvimento .................................................................................................. 6
Provedor de Produto Java EE ..................................................................................................... 7
Provedor de componentes de aplicativos ................................................................................... 7
Desenvolvedor Enterprise Bean ................................................................................................. 7
Desenvolvedor de Componentes Web .................................................................................... 8
Desenvolvedor do cliente de aplicativos ................................................................................ 8
Montador de aplicativos ......................................................................................................... 8
Algumas especificações do Java EE ........................................................................................... 8
Conclusão ................................................................................................................................. 12
Referências Bibliográfica ......................................................................................................... 13
Introdução
Este trabalho tem como objetivo geral apresentar e aplicar técnicas já existentes para o
desenvolvimento de software em plataforma JAVA para Web. Como alvo de estudo deste
trabalho foi escolhido uma aplicação financeira pessoal para ser desenvolvida. Pretende-se
apresentar as vantagens que essas técnicas oferecem para o desenvolvimento de software em
plataforma Java EE (Enterprise Edition).
1
Plataforma Java EE
A plataforma Java EE é desenvolvida por meio do Java Community Process (JCP), que é
responsável por todas as tecnologias Java. Grupos de especialistas, compostos por partes
interessadas, criaram Java Specification Requests (JSRs) para definir as várias tecnologias Java
EE. O trabalho da Comunidade Java no programa JCP ajuda a garantir o padrão de estabilidade
e compatibilidade entre plataformas da tecnologia Java.
Na plataforma Java EE, a injeção de dependência pode ser aplicada a todos os recursos de que
um componente precisa, ocultando efetivamente a criação e a pesquisa de recursos do código
do aplicativo. A injeção de dependência pode ser usada em contêineres EJB, contêineres da
Web e clientes de aplicativos. A injeção de dependência permite que o contêiner Java EE insira
automaticamente referências a outros componentes ou recursos necessários, usando anotações.
Este tutorial usa exemplos para descrever os recursos disponíveis na plataforma Java EE para
desenvolvimento de aplicativos corporativos. Seja você um desenvolvedor corporativo novo ou
2
experiente, você deve encontrar nos exemplos e no texto que o acompanha uma base de
conhecimento valiosa e acessível para criar suas próprias soluções.
Componentes Java EE
Serviços de contêiner
3
O processo de montagem envolve a especificação de configurações de contêiner para cada
componente no aplicativo Java EE e para o próprio aplicativo Java EE. As configurações de
contêiner personalizam o suporte subjacente fornecido pelo servidor Java EE, incluindo
serviços como segurança, gerenciamento de transações, pesquisas de API de Java Naming and
Directory Interface (JNDI) e conectividade remota. Aqui estão alguns dos destaques.
O contêiner também gerencia serviços não configuráveis, como ciclos de vida de bean
corporativo e servlet, pool de recursos de conexão de banco de dados, persistência de dados e
acesso às APIs da plataforma Java EE (consulte APIs Java EE 6 ).
4
Tipos de contêiner
O processo de implantação instala os componentes do aplicativo Java EE nos contêineres Java
EE conforme ilustrado na figura a seguir.
Camadas
Na plataforma Java EE existem três tipos de camadas: Camada de Negócio, Camada de
Apresentação e Camada Cliente.
Camada de Negócio
Essa camada também pode ser conhecida como camada física e tem o objetivo de encapsular
a lógica do negócio ou EJBs que são usados pelos componentes da camada da apresentação
que fornecem essa funcionalidade para usuários do aplicativo.
5
Observe um exemplo:
Camada de Apresentação
Essa camada é considerada como lógica de apresentação, pois governa as telas que são
exibidas para o usuário e de como a lógica interagem entre a regra de negócio na sua camada
respectiva para conseguirem trabalhar no processo corporativo. Também se leva em conta a
maneira que o usuário visualiza a página, pois tudo depende do tipo de cliente (browser) que
está tentando acessar.
Depois que uma unidade Java EE for produzida, ela estará pronta para ser implementada. A
implantação normalmente envolve o uso da ferramenta de implantação de uma plataforma para
especificar informações específicas do local, como uma lista de usuários locais que podem
acessá-la e o nome do banco de dados local. Uma vez implantado em uma plataforma local, o
aplicativo está pronto para ser executado.
Funções de desenvolvimento
Os diferentes papéis nem sempre são executados por pessoas diferentes. Se você trabalha para
uma pequena empresa, por exemplo, ou se estiver criando um protótipo de um aplicativo de
amostra, poderá executar tarefas em todas as fases.
Fornecedor de ferramentas
7
• Empacota os arquivos .class e o descritor de implementação no arquivo EJB JAR
Montador de aplicativos
O montador de aplicativos é a empresa ou pessoa que recebe módulos de aplicativos de
fornecedores de componentes e pode montá-los em um arquivo EAR de aplicativo Java EE. O
montador ou implementador pode editar o descritor de implementação diretamente ou pode
usar ferramentas que adicionam corretamente as tags XML de acordo com as seleções
interativas.
especificações do Java EE
As APIs a seguir são as principais dentre as disponibilizadas pelo Java Enterprise:
✓ JavaServer Pages (JSP), Java Servlets, Java Server Faces (JSF) (trabalhar para a Web,
onde é focado este curso)
✓ Enterprise Javabeans Components (EJB) e Java Persistence API (JPA). (objetos
distribuídos, clusters, acesso remoto a objetos etc)
✓ Java API for XML Web Services (JAX-WS), Java API for XML Binding (JAX-B)
(trabalhar com arquivos xml e webservices)
8
✓ Java Autenthication and Authorization Service (JAAS) (API padrão do Java para
segurança)
✓ Java Transaction API (JTA) (controle de transação no contêiner)
✓ Java Message Service (JMS) (troca de mensagens assíncronas)
✓ Java Naming and Directory Interface (JNDI) (espaço de nomes e objetos)
✓ Java Management Extensions (JMX) (administração da sua aplicação e estatísticas
sobre a mesma)
Neste curso FJ-21, atacamos especialmente JSP e Servlets. No curso FJ-26, estuda-se com
profundidade JSF com CDI e JBoss Seam. No FJ-25 é apresentado em detalhe JPA com
Hibernate e o EJB. No FJ-36, estuda-se as especificações mais relacionadas a sistemas de alto
desempenho: EJB, JNDI, JMS, JAX-B além de Web Services (JAX-WS e JAX-RS).
JSP e Servlets são sem dúvida as especificações essenciais que todo desenvolvedor Java vai
precisar para desenvolver com a Web. Mesmo usando frameworks e bibliotecas que facilitam
o trabalho para a Web, conhecer bem essas especificações é certamente um diferencial, e fará
com que você entenda motivações e dificuldades, auxiliando na tomada de decisões
arquiteturais e de design.
✓ Monta arquivos EJB JAR e WAR criados nas fases anteriores em um arquivo de
aplicativo Java EE (EAR)
✓ Especifica o descritor de implementação para o aplicativo Java EE (opcional)
✓ Verifica se o conteúdo do arquivo EAR está bem formado e em conformidade com a
especificação Java EE
A especificação do Web Services for Java™ Platform, Enterprise Edition (Java EE) define o
modelo de programação e a arquitetura de tempo de execução para implementação dos serviços
da Web com base na linguagem Java. Outro nome para a especificação do Web Services for
9
Java EE é Java Specification Requirements (JSR) 109. A especificação inclui padrões abertos
para o desenvolvimento e a implementação de serviços da Web.
É possível integrar a tecnologia Java EE com serviços da Web de várias maneiras. É possível
expor os componentes Java EE como serviços da Web, por exemplo, JavaBeans e enterprise
beans. Ao expor componentes Java EE como serviços da Web, os clientes gravados em código
Java ou clientes de serviço da Web existentes que não estão gravados em código Java podem
acessar esses serviços. Os componentes Java EE podem também agir como clientes de serviço
da Web.
A especificação Web Services for Java EE é a plataforma preferida para a programação baseada
na Web porque fornece padrões abertos que permitem diferentes tipos de linguagens, sistemas
operacionais e software para uma comunicação perfeita por meio da Internet.
Para um aplicativo Java agir como cliente de serviço da Web, deve existir um mapeamento
entre o arquivo WSDL e o aplicativo Java. Para aplicativos JAX-WS, o mapeamento é definido
usando anotações. É possível também usar o descritor de implementação webservices.xml para
especificar o local do arquivo WSDL e substituir o valor definido na anotação @WebServices.
Para aplicativos JAX-RPC, você deve definir o arquivo de mapeamento do JAX-RPC. Para
saber mais sobre o mapeamento que está definido entre o arquivo WSDL e seu aplicativo de
serviços da Web, consulte a especificação JAX-WS ou JAX-RPC nas especificações de
serviços da Web e na documentação da API, dependendo do modelo de programação usado.
Este processo inteiro se baseia na especificação do Web Services for Java EE.
10
A especificação define o descritor de implementação webservices.xml especificamente para
serviços da Web. O arquivo descritor de implementação webservices.xml define o conjunto de
serviços da Web que pode ser implementado em um contêiner ativado para Web Services for
Java EE.
11
Conclusão
Java EE é uma plataforma que contém um conjunto de tecnologias que reduz
significativamente o custo e a complexidade do desenvolvimento, implantação e
gerenciamento de aplicações. Java EE oferece um conjunto de APIs para desenvolvimento e
execução de aplicações robustas, escaláveis e seguras do lado do servidor.
Neste trabalho abordamos diversas técnicas poderosas e populares que existem no ambiente de
programação Java para web. Este trabalho foi muito importante para o nosso conhecimento e
compreensão do aprofundamento deste tema, pois uma vez que visto que nos permitiu a ficar a
conhecer e compreender melhor como a Tecnologia Java EE Web Tecnology funciona.
12
Referências Bibliográfica
ARNDT, Von. Staa. Programação Modular. Editora Campus, 2000. Cap 4: Padrões
BAUER, Christian; KING, Gavin. Java Persistence with Hibernate. New York:
International Series in Computer Science, C.A.R. Hoare Series Editor, 2nd Edition,
1997.
BOND, M. et al.: Aprenda J2EE com EJB, JSP, Servlets, JNDI, JDBC e XML em
CALÇADO, P. Arquitetura de Camadas em Java EE. Mundo Java. Rio de Janeiro, v.3, n.15,
p.34-43, 2005.
13