180 likes | 375 Views
RMI-IIOP. Sem RMI-IIOP. Tecnologia para programação de objetos em ambientes distribuídos baseado na arquitetura e linguagem Java Combinação de Java – RMI e CORBA Resultado do desenvolvimento conjunto da Sun e da IBM
E N D
Tecnologia para programação de objetos em ambientes distribuídos baseado na arquitetura e linguagem Java Combinação de Java – RMI e CORBA Resultado do desenvolvimento conjunto da Sun e da IBM Mudanças nas especificações CORBA adotadas pela OMG possibilitaram o surgimento da RMI-IIOP Com RMI-IIOP as aplicações distribuídas podem ser desenvolvidas em Java-RMI, beneficiando-se da interoperabilidade entre diferentes linguagens e plataformas que o CORBA oferece Desta forma as interfaces dos objetos remotos são descritas em Java sem a necessidade de uma linguagem específica definida pela OMG-IDL Clientes RMI-IIOP podem se comunicar com servidores CORBA, assim como servidores RMI-IIOP podem disponibilizar serviços para clientes CORBA RMI-IIOP suporta ambos protocolos; IIOP e JRMP RMI-IIOP - Visão Geral
Visão geral REDE
Java IDL • Tecnologia Java para objetos distribuídos baseado na arquitetura CORBA • Permite desenvolver aplicações e objetos em Java capazes de se comunicar com outras plataformas e linguagens • Java IDL faz o mapeamento OMG IDL-Java • Java IDL é para programadores CORBA • Utilizado para acessar os recursos disponíveis CORBA Cliente Servidor ORB ORB IIOP
Matrix de Interoperabilidade SERVIDOR RMI (JRMP) RMI (IIOP) CORBA CLIENTE X OK RMI(JRMP) OK RMI(IIOP) OK OK OK X CORBA OK OK
RMI-IIOP suporta os protocolos JRMP e IIOP Sem reescrever o código fonte de um objeto RMI-JRMP, o mesmo poderá ser invocado por um cliente RMI-IIOP Da mesma forma, um cliente CORBA poderá invocar um objeto no servidor, mesmo que este objeto tenha sido implementado em RMI-IIOP Dual Export
Arquitetura RMI-IIOP Servidor RMI-IIOP Cliente RMI-IIOP Cliente RMI AGREGADOR STUB ORB Camada RMI STUB ORB Camada RMI IIOP JRMP IIOP ORB Cliente CORBA STUB
Definir uma Interface remota – O server object deve declarar seus serviços via interface remota. Deve ter a extensão org.omg.CORBA.Object Opcionalmente poderá gerar um CORBA IDL Compilar utilizando javac Criar os IIOP Stubs Implementar a interface remota Compilar utilizando javac Inicializar o servidor de nomes ou URL-based Naming Service Inicializar os objetos no servidor Escrever o código fonte no cliente Localizar o objeto remoto via Servidor de Nomes Compilar utilizando o javac Inicializar o cliente Roteiro
Roteiro – Interface RMI-IIOP Definir a Interface remota (.java) java2IDL opcional (.IDL) javac IDL2ir (.class) Stub Cliente Stub Server java2IIOP CORBA Interface Repository (.class) Implementar o cliente (.class) Implementar a interface (.java) javac Inicializar o Servidor de nomes (.java) javac (.class) Start client (.class) Start server objects