A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

EJB 3.0 - Acesso Remoto Marco A. S. Reis

Apresentações semelhantes


Apresentação em tema: "EJB 3.0 - Acesso Remoto Marco A. S. Reis"— Transcrição da apresentação:

1 EJB Acesso Remoto Marco A. S. Reis

2 Serialização Recurso disponível desde a primeira versão do Java, permite que se salve o estado de um objeto em uma stream de dados. Também permite que se recupere os dados da stream de volta em um objeto. Para trocar objetos entre JVM's diferentes, é obrigatório implementar Serializable. É assim que o RMI trabalha, tranferindo objetos entre diferentes máquinas.

3 Interface Remota Um session bean pode ser local ou remoto, dependendo do uso que se pretende. Se a aplicação rodar em apenas um servidor, podemos implementar apenas as interfaces locais. Caso o sistema seja distribuído, e há diversas justificativas para isso, as interfaces devem ser remotas e os objetos envolvidos devem obrigatoriamente ser Serializable.

4 AppClient Para acessar um componente remoto vamos criar uma aplicação cliente conforme o exemplo.

5 Library Adicione a library do JBoss, conforme o modelo.

6 Cliente Para acessar remotamente a aplicação cliente precisa das interfaces remotas, bem como das classes de entidades envolvidas. Há várias formas de conseguir, uma delas é a função Export.

7 Especificação Selecione as classes de entidade mais a fachada remota. Indique o caminho da lib do novo projeto como destino das classes.

8 Serviços Remotos Adicione a biblioteca recém-criada no classpath da aplicação.

9 AppClient O projeto, ao final, deve conter os arquivos ao lado.

10 jndi.properties java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces java.naming.provider.url=jnp:// :1099

11 JBoss Para iniciar o JBoss é importante observar os parâmetros de bind, habilitando o servidor a receber solicitações remotas: run.bat (.sh) -c default -b ou run.bat (.sh) -c default –host= ou run.bat (.sh) -c default - Djava.bind.address=

12 ListaRecursosRemotos package org.financeiro.remote; import javax.naming.*; public class ListaRecursosRemotos { public static void main(String[] args) { try { Context ctx = new InitialContext(); NamingEnumeration lista = ctx.list(""); while (lista.hasMore()) { NameClassPair proximo = lista.next(); System.out.println(proximo); } } catch (Exception e) { }

13 ConsultaCorrentistasRemotos package org.financeiro.remote; import java.util.*; import javax.naming.*; import org.financeiro.entidades.*; import org.financeiro.negocio.*; public class ConsultaCorrentistasRemotos { public static void main(String[] args) { try { Context ctx = new InitialContext(); Object proxy = ctx.lookup("FachadaCorrentista/remote"); IFachadaCorrentistaRemote fachada = (IFachadaCorrentistaRemote) proxy; // System.out.println("Lista de correntistas"); List listaDeCorrentistas = fachada.consultaTodos(); for (Correntista c : listaDeCorrentistas) { System.out.println(c.getId() + " - " + c.getNome()); } } catch (Exception e) { e.printStackTrace(); }

14 InsereCorrentistaRemoto package org.financeiro.remote; import java.util.*; import javax.naming.*; import javax.swing.*; import org.financeiro.entidades.*; import org.financeiro.negocio.*; public class InsereCorrentistaRemoto { public static void main(String[] args) { try { Context ctx = new InitialContext(); Object proxy = ctx.lookup("FachadaCorrentista/remote"); IFachadaCorrentistaRemote fachada = (IFachadaCorrentistaRemote) proxy; // Correntista correntista = new Correntista(); correntista.setNome(JOptionPane.showInputDialog("Nome do Correntista")); correntista.setDataDeNascimento(new GregorianCalendar(1979, 4, 6).getTime()); correntista.setTelefone(" "); fachada.inserir(correntista); JOptionPane.showMessageDialog(null, "Correntista inserido com sucesso"); } catch (Exception e) { e.printStackTrace(); }

15 Monitoração A versão 5.0 do Java trouxe uma API completa para monitoração: JMX (Java Management Extension).

16 JMX Agent View Para acessar a ferramenta de monitoração, acesse o endereço:

17 EJB's instalados Clique na opção jboss.j2ee, que irá listar todos os beans instalados no servidor.

18 FachadaCorrentista Verifique no InvokeStats as chamadas de cada método da fachada.


Carregar ppt "EJB 3.0 - Acesso Remoto Marco A. S. Reis"

Apresentações semelhantes


Anúncios Google