Open diovanemonteiro opened 5 years ago
Containers são a interface entre um componente e a funcionalidade de baixo nível específica da plataforma que suporta o componente. Antes que possa ser executado, um componente web, enterprise bean, ou aplicação cliente deve ser montado em um módulo Java EE e implantado em seu container. A plataforma JEE fornece quarto tipos de containers:
É chamado de servidor JEE completo (full), aqueles que implementam os dois containers que rodam no lado servidor: o Container Web e o Container EJB. São exemplos de servidores JEE full o Glassfish, o JBoss, etc.
O processo de instalar uma aplicação no servidor JEE é chamado de deployment, e tem como objetivo publicar os componentes nos seus respectivos containers. Os componentes na plataforma JEE são agrupados em módulos, que são a unidade básica agregadora de componentes ou outros módulos.
Os componentes da aplicação que compõem um módulo são empacotados em um Java ARchive (JAR) que é um arquivo comprimido com o formato ZIP. Neste pacote (módulo), juntamente com os componentes, opcionalmente são adicionados os arquivos de meta-informação, chamados de descritores de implantação (DD).
A plataforma define os seguintes tipos de módulos:
- Enterprise ARchive (EAR)
- Web ARchive (WAR)
- Java ARchive (JAR)
- Resource adapter ARchive
Apesar de a plataforma definir os quatro tipos acima, aplicações JEE, a depender da complexidade e tamanho, podem ser distribuídas da seguinte forma:
- módulo EAR: aplicação completa, podendo utilizar todos os containers.
- módulo WAR: distribue aplicação WEB e pode ter EJB (JEE6) dentro dele. Só usa o container web.
- modulo JAR: aplicações cliente stand alone, applet, etc;
O módulo Enterprise ARchive (EAR) é um arquivo JAR padrão com extensão .ear que contém todos os módulos JEE da aplicação. Seu descritor de implantação (opcional) é o application.xml, localizado no diretório META-INF, como se pode ver na figura abaixo.
Segundo o tutorial da plataforma JEE, seus objetivos são:
A plataforma possui tecnologias que são voltadas para o aumento da produtividade do desenvolvedor, tais como o uso de annotations que permite a redução da quantidade de código XML para registrar componentes nos descritores de implantação.
JSF (Java Server Faces) é um framework utilizado no desenvolvimento em Java de interfaces web. Possui características de uma arquitetura MVC (Model-View-Controller) e, além disso, tem um modelo de interfaces gráficas baseado em eventos.
Hibernate é um framework para mapeamento objeto/relacional para aplicações em Java que permite realizar, por meio de arquivos XML ou por meio de anotações ( Annotation em Java), o mapeamento de classes Java em tabelas do banco de dados relacionais e vice-versa.
AJAX (Asynchronous JavaScript and XML ). Além disso, AJAX envolve várias tecnologias, sendo uma nova maneira de usar os padrões que já existem. AJAX usa uma combinação das seguintes tecnologias: JavaScript, CSS, XML e ainda o Objeto XMLHttpRequest.
O Servlet é uma classe de programa em Java utilizada para estender a capacidade dos servidores em aplicações web que trabalham com a filosofia requisição e resposta.
É falso afirmar que JSP não possui partes estáticas. As páginas JSP são compostas, além das tags específicas para programar scripts em Java, de código HTML/XML misturado. E esse código HTML/XML é justamente a parte estática.
Containers são a interface entre um componente e a funcionalidade de baixo nível específica da plataforma que suporta o componente. Antes que possa ser executado, um componente web, enterprise bean, ou aplicação cliente deve ser montado em um módulo Java EE e implantado em seu container.
A plataforma JEE fornece quarto tipos de containers:
Para configurar uma aplicação JEE podemos utilizar os descritores de implantação ou as annotations. Existem dois tipos de descritores de implantação:
Anotações (annotations) simplificam o processo de desenvolvimento de aplicações, permitindo que os desenvolvedores especifiquem dentro da própria classe Java como o componente se comporta no container. Anotações são uma alternativa para os descritores de implantação.
Java Enterprise Edition é a plataforma da tecnologia Java voltada para desenvolvimento de aplicações distribuídas que define um conjunto de especificações.
Essas especificações variam de acordo com a versão JEE. A última versão a ser chamada de J2EE foi a 1.4, que entre outros, apresentava as seguintes APIs:
É importante destacar que a partir da JEE6 as APIs passaram a ser categorizadas, indicando, por exemplo, APIs que são especificações JSE que são relacionadas à plataforma JEE que é o caso de JDBC.
EJB
Os dois containers que existem e executam em um servidor de aplicações Java EE completo são o Web Container e o EJB Container.
Exemplos: client container, applet container, web container , e EJB container.
Web Container
O Web Container é um container J2EE que hospeda aplicativos da web e amplia a funcionalidade do servidor web, fornecendo aos desenvolvedores a ambiente para executar servlets e Java Server Pages (JSPs).
EJB Container
Já para o EJB Container, temos os Beans corporativos (componentes EJB) que são componentes do servidor de linguagem de programação Java que contêm lógica de negócios. O EJB container fornece acesso local e remoto para beans corporativos.
JPA
HIBERNATE