12.3.4. Acesso Remoto para os EJBs

12.3.4.1. Acesso de Método Remoto

O JBoss Remoting é o framework que fornece acesso remoto aos EJBs, JMX MBeans e outros serviços similares. Ele funciona com os seguintes tipos de transporte, com ou sem SSL:

Tipos de Transporte Suportados

  • Socket / Socket de Segurança
  • RMI / RMI sobre SSL
  • HTTP / HTTPS
  • Servlet / Servlet de Segurança
  • Bisocket / Bisocket de Segurança
O JBoss Remoting fornece também a descoberta automática através do Multicast ou JNDI.
Isto é usado por muitos dos subsistemas com o JBoss Enterprise Application Plataform e também habilita-o ao design, implementação e implantação de serviços que podem ser invocados de maneira remota por clientes sobre mecanismos diferentes de transporte. Isto permite também o acesso a serviços existentes no JBoss Enterprise Application Plataform.
Marshalling Dados

O sistema Remoting fornece também o marshalling de dados e serviços sem marshalling. O marshalling de dados refere-se à habilidade de mover com segurança os dados através dos limites da plataforma e da rede, de forma que um sistema separado pode executar trabalhos no mesmo. O trabalho é então enviado de volta ao sistema original e comporta-se como se tivesse manuseado manualmente.

Visão Geral da Arquitetura

Quando você realiza o design de um aplicativo diferente que usa o Remoting, você direciona o seu aplicativo à comunicar-se com o servidor pela configuração do mesmo para uso de um tipo especial de localizador de recurso chamado InvokerLocator, que é uma Sequência simples com o formato de tipo de URL. O servidor escuta por solicitações para recursos remotos num connector, que é configurado como parte do subsistema remoting. O connector manuseia a solicitação ao ServerInvocationHandler configurado. Cada ServerInvocationHandler implementa um invoke(InvocationRequest) de método, que sabe como manusear a solicitação.

O framework do JBoss Remoting contém três camadas que espelham-se ao lado do cliente e do servidor.

Camadas do Framework do JBoss Remoting

  • O usuário interage com a camada externa. No lado do cliente, a camada externa é a classe Client, que envia as solicitações de invocação. No lado do servidor, ela é o InvocationHandler, que é implementado pelo usuário e recebe solicitações de invocação.
  • O transporte é controlado pela camada do invocador.
  • A camada mais baixa contendo o marshaller e sem marshaller, que converte formatos de dados para formatos eletrônicos.