aplicação j2ee – exemplo prático
DESCRIPTION
Aplicação J2EE – Exemplo Prático. Guilherme Amaral Avelino. ConverterApp. Criação de uma aplicação J2EE simples, que realiza conversões monetárias Os passos para a construção da aplicação são Construção do aplicativo J2EE: ConverterApp Construção do enterprise bean: ConverterBean - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Aplicação J2EE – Exemplo Prático](https://reader036.vdocuments.mx/reader036/viewer/2022081505/568152eb550346895dc10a31/html5/thumbnails/1.jpg)
APLICAÇÃO J2EE – EXEMPLO PRÁTICO
Guilherme Amaral Avelino
![Page 2: Aplicação J2EE – Exemplo Prático](https://reader036.vdocuments.mx/reader036/viewer/2022081505/568152eb550346895dc10a31/html5/thumbnails/2.jpg)
ConverterApp
Criação de uma aplicação J2EE simples, que realiza conversões monetárias
Os passos para a construção da aplicação são1. Construção do aplicativo J2EE: ConverterApp2. Construção do enterprise bean: ConverterBean3. Construção do cliente de aplicativo:
ConverterClient4. Construção e empacotamento de um cliente Web5. Implantação do ConverterApp no servidor6. Execução dos clientes
![Page 3: Aplicação J2EE – Exemplo Prático](https://reader036.vdocuments.mx/reader036/viewer/2022081505/568152eb550346895dc10a31/html5/thumbnails/3.jpg)
Construção do ConverterApp Deve se criar uma nova aplicação J2EE e
gerar seu pacote de implantação (ConverterApp.ear)1. Abra a ferramenta de implantação deploytool
a. %J2EE_HOME%\bin\deploytool.exe
2. Selecione File → New → Application3. Selecione o local para a criação da aplicação4. Em File Name, entre ConverterApp.exe5. New Aplication6. OK
![Page 4: Aplicação J2EE – Exemplo Prático](https://reader036.vdocuments.mx/reader036/viewer/2022081505/568152eb550346895dc10a31/html5/thumbnails/4.jpg)
Construção do Enterprise Bean Deve armazenar a lógica de negócio da
aplicação Será representado por um ejb de sessão stateless
Passos:1. Criar a pasta /src para armazenamento das
classes e interfaces do aplicativo2. Codificar a classe e as interfaces do bean3. Compilar o código fonte com o asant4. Empacotar o Ejb em um arquivo JAR EJB e
adicioná-lo a aplicação
![Page 5: Aplicação J2EE – Exemplo Prático](https://reader036.vdocuments.mx/reader036/viewer/2022081505/568152eb550346895dc10a31/html5/thumbnails/5.jpg)
Construção do Enterprise Bean Codificando a interface remota
Define os métodos de negócio que um cliente pode chamar
package converter;
import javax.ejb.EJBObject;import java.rmi.RemoteException;import java.math.*;
public interface Converter extends EJBObject { public BigDecimal dollarToYen(BigDecimal dollars) throws RemoteException;
public BigDecimal yenToEuro(BigDecimal yen) throws RemoteException;}
![Page 6: Aplicação J2EE – Exemplo Prático](https://reader036.vdocuments.mx/reader036/viewer/2022081505/568152eb550346895dc10a31/html5/thumbnails/6.jpg)
Construção do Enterprise Bean Codificando a interface home
Define os métodos de permitem um cliente criar, encontrar, ou remover, um enterprise bean
package converter;
import java.rmi.RemoteException;import javax.ejb.CreateException;import javax.ejb.EJBHome;
public interface ConverterHome extends EJBHome { Converter create() throws RemoteException, CreateException;}
![Page 7: Aplicação J2EE – Exemplo Prático](https://reader036.vdocuments.mx/reader036/viewer/2022081505/568152eb550346895dc10a31/html5/thumbnails/7.jpg)
Construção do Enterprise Bean Codificando a classe enterprise bean
Implementa os métodos de negócio definidos pela interface remota
package converter;
import java.rmi.RemoteException;import javax.ejb.SessionBean;import javax.ejb.SessionContext;import java.math.*;
public class ConverterBean implements SessionBean { BigDecimal yenRate = new BigDecimal("121.6000"); BigDecimal euroRate = new BigDecimal("0.0077");
public BigDecimal dollarToYen(BigDecimal dollars) { BigDecimal result = dollars.multiply(yenRate); return result.setScale(2, BigDecimal.ROUND_UP); }
![Page 8: Aplicação J2EE – Exemplo Prático](https://reader036.vdocuments.mx/reader036/viewer/2022081505/568152eb550346895dc10a31/html5/thumbnails/8.jpg)
Construção do Enterprise Bean
public BigDecimal yenToEuro(BigDecimal yen) { BigDecimal result = yen.multiply(euroRate);
return result.setScale(2, BigDecimal.ROUND_UP); }
public ConverterBean() {} public void ejbCreate() {} public void ejbRemove() {} public void ejbActivate() {} public void ejbPassivate() {} public void setSessionContext(SessionContext sc) {}}
![Page 9: Aplicação J2EE – Exemplo Prático](https://reader036.vdocuments.mx/reader036/viewer/2022081505/568152eb550346895dc10a31/html5/thumbnails/9.jpg)
Construção do Enterprise Bean Empacotando o EJB
Com auxilio da deploytool os seguintes passos devem ser realizado: Criação do descritor de implantação do bean Empacotamento do descritor e das classes do
bean em um arquivo EJB EAR (ConverterJAR)
Inserção do arquivo JAR EJB no arquivo ConverterApp.ejb
![Page 10: Aplicação J2EE – Exemplo Prático](https://reader036.vdocuments.mx/reader036/viewer/2022081505/568152eb550346895dc10a31/html5/thumbnails/10.jpg)
Construindo o cliente de aplicativo Programa escrito em Java que em tempo de
execução acessa um serviço fornecido por um que está ejb executando em um servidor de aplicação
Requer 2 arquivos JAR1. Contém as classes do cliente e seu descritor de
implantação2. Contém as classes stubs requeridas pelo
programa do cliente em tempo de execução para acessar os ejbs que rodam no servidor
a. É criado pelo deploytool quando a aplicação é implantada
![Page 11: Aplicação J2EE – Exemplo Prático](https://reader036.vdocuments.mx/reader036/viewer/2022081505/568152eb550346895dc10a31/html5/thumbnails/11.jpg)
Construindo o cliente de aplicativo Codificar o cliente de aplicativo requer:
1. Localizar a interface home2. Criar uma instância do ejb3. Chamar os métodos de negócio
![Page 12: Aplicação J2EE – Exemplo Prático](https://reader036.vdocuments.mx/reader036/viewer/2022081505/568152eb550346895dc10a31/html5/thumbnails/12.jpg)
Construindo o cliente de aplicativo Passos para localização da interface home de um
EJB1. Crie o contexto de atribuição de nome inicial2. Obtenha o contexto de nomenclatura do ambiente do
cliente de aplicação3. Obtenha o objeto ligado ao nome ejb/SimpleConverter4. Estreite a referência para um objeto ConverterHome
Criando uma instância do ejbConverter currencyConverter = home.Create
//código localização da interface homeContext initial = new InitialContext();Context myEnv = (Context) initial.lookup("java:comp/env");Object objref = myEnv.lookup("ejb/SimpleConverter");
ConverterHome home =(ConverterHome) PortableRemoteObject.narrow(objref,
ConverterHome.class);
Converter currencyConverter = home.create();
//código criação de uma instância do ejb
Converter currencyConverter = home.create();
![Page 13: Aplicação J2EE – Exemplo Prático](https://reader036.vdocuments.mx/reader036/viewer/2022081505/568152eb550346895dc10a31/html5/thumbnails/13.jpg)
import converter.Converter;import converter.ConverterHome;import javax.naming.Context;import javax.naming.InitialContext;import javax.rmi.PortableRemoteObject;import java.math.BigDecimal;
public class ConverterClient { public static void main(String[] args) { try { //código localização da interface home
//código criação de uma instância do ejb
BigDecimal param = new BigDecimal("100.00"); BigDecimal amount = currencyConverter.dollarToYen(param);
System.out.println(amount); amount = currencyConverter.yenToEuro(param); System.out.println(amount); System.exit(0); } catch (Exception ex) { System.err.println("Caught an unexpected exception!"); ex.printStackTrace(); } }}