1 / 13

Aplicação J2EE – Exemplo Prático

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

pancho
Download Presentation

Aplicação J2EE – Exemplo Prático

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aplicação J2EE – Exemplo Prático Guilherme Amaral Avelino

  2. 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 • Construção do cliente de aplicativo: ConverterClient • Construção e empacotamento de um cliente Web • Implantação do ConverterApp no servidor • Execução dos clientes

  3. Construção do ConverterApp • Deve se criar uma nova aplicação J2EE e gerar seu pacote de implantação (ConverterApp.ear) • Abra a ferramenta de implantação deploytool • %J2EE_HOME%\bin\deploytool.exe • Selecione File → New → Application • Selecione o local para a criação da aplicação • Em File Name, entre ConverterApp.exe • New Aplication • OK

  4. 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: • Criar a pasta /src para armazenamento das classes e interfaces do aplicativo • Codificar a classe e as interfaces do bean • Compilar o código fonte com o asant • Empacotar o Ejb em um arquivo JAR EJB e adicioná-lo a aplicação

  5. 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; }

  6. 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; }

  7. 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); }

  8. 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) {} }

  9. 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

  10. 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 JAR • Contém as classes do cliente e seu descritor de implantação • Contém as classes stubs requeridas pelo programa do cliente em tempo de execução para acessar os ejbs que rodam no servidor • É criado pelo deploytool quando a aplicação é implantada

  11. Construindo o cliente de aplicativo • Codificar o cliente de aplicativo requer: • Localizar a interface home • Criar uma instância do ejb • Chamar os métodos de negócio

  12. Construindo o cliente de aplicativo • Passos para localização da interface home de um EJB • Crie o contexto de atribuição de nome inicial • Obtenha o contexto de nomenclatura do ambiente do cliente de aplicação • Obtenha o objeto ligado ao nome ejb/SimpleConverter • Estreite a referência para um objeto ConverterHome • Criando uma instância do ejb Converter currencyConverter = home.Create //código localização da interface home Context 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();

  13. 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(); } } }

More Related