Juliana Jenny Kolb
Home > Simulados on-line > Questões de Concursos > Tecnologia da Informação (TI) > Java
Materiais de Estudo Complementares
Apostila Completa Java PDF |
Java_JEE |
JEE/J2EE – Java Enterprise Edition
Nota: O nome J2EE era usado nas versões mais antigas, até a 1.4. Hoje, o nome correto é Java EE, por uma questão de marketing, mas você ainda vai encontrar muitas referências ao antigo termo J2EE.
O que é Java EE?
O Java EE (Java Enterprise Edition) consiste de uma série de especicações bem detalhadas, dando uma receita de como deve ser implementado um software que faz uso de serviços de infraestrutura*.
*infraestrutura: persistência em banco de dados, transação, acesso remoto, web services, gerenciamento de threads, gerenciamento de conexões HTTP, cache de objetos, gerenciamento da sessão web, balanceamento de carga, entre outros.
Containers
O container provê os componentes construídos (como Servlets ou EJBs ). Quando uma aplicação web faz uma solicitação para um Servlet, o servidor não entrega a solicitação diretamente ao Servlet, mas para o container que contém o Servlet.
O container gerencia o ciclo de vida, provem mecanismos de segurança e disponibilizam os serviços necessários para cada tipo de componente.
Cada tipo de aplicação prevista no Java EE possui um tipo de container específico:
- Aplicações servidoras web rodam em um Container Web;
- Componentes remotos rodam em um Container EJB;
- Aplicações clientes que utilizam Java EE rodam no Application Client Container.
Todas as APIs e serviços de especificação Java EE vêm junto com um Container.
*Há alguns servlet containers (pagos) famosos no mercado, entre eles, o Apache Tomcat, Jetty e Google App Engine.
Características:
- Um container “envolve” um componente de forma a capturar mensagens dirigidas e fornecer serviços automáticos a este componente.
- Portanto, antes de ser usado, um componente (seja cliente, Web ou EJB) deve:
- Ser montado numa aplicação.
- Ser “deployed” (implantado) dentro de um container.
- O container pode ser configurado em tempo de deployment,
- Com declarative programming, isto é, mudança de atributos.
- Exemplos do que se faz no deployment ao configurar um container:
- Estabelecer segurança.
- Estabelecer o tratamento transacional.
- Mapear nomes entre a aplicação e os recursos disponíveis.
- O container também gerencia serviços não configuráveis:
- O lifecycle dos componentes (achar, criar, destruir, …).
- Pooling de recursos (conexões de bancos de dados, por exemplo).
- Persistência de dados.
Principais APIs disponibilizadas pelo Java Enterprise
- JavaServer Pages (JSP) (+), Java Servlets (+), Java Server Faces (JSF).
- Enterprise Javabeans Components (EJB) (+) e Java Persistence API (JPA). (objetos distribuídos, clusters, acesso remoto a objetos, etc).
- Java API for XMLWeb Services (JAX-WS), Java API for XML Binding (JAX-B) (trabalha com arquivos xml e webservices).
- 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).
Servlet Container
O Java EE possui várias especicações, entre elas, algumas para lidar com o desenvolvimento de uma aplicação Web:
- Servlet (+)
- JSP (+)
- JSTL
- JSF