Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouThalita Betancourt Alterado mais de 10 anos atrás
1
Marco A. S. Reis http://marcoreis.net
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<NameClassPair> 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<Correntista> 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.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.