Arquitetura CORBA e Objetos Distribuídos Sistemas Distribuídos Prof. Danielle Martin Prof. Pedro...
Transcript of Arquitetura CORBA e Objetos Distribuídos Sistemas Distribuídos Prof. Danielle Martin Prof. Pedro...
![Page 1: Arquitetura CORBA e Objetos Distribuídos Sistemas Distribuídos Prof. Danielle Martin Prof. Pedro Toledo Universidade de Mogi das Cruzes.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc182497959413d8f4266/html5/thumbnails/1.jpg)
Arquitetura CORBA e Objetos Distribuídos
Sistemas Distribuídos
Prof. Danielle MartinProf. Pedro Toledo
Universidade de Mogi das Cruzes
![Page 2: Arquitetura CORBA e Objetos Distribuídos Sistemas Distribuídos Prof. Danielle Martin Prof. Pedro Toledo Universidade de Mogi das Cruzes.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc182497959413d8f4266/html5/thumbnails/2.jpg)
Arquitetura CORBA
C ommon
O bject
R equest
B roker
A rchitecture
![Page 3: Arquitetura CORBA e Objetos Distribuídos Sistemas Distribuídos Prof. Danielle Martin Prof. Pedro Toledo Universidade de Mogi das Cruzes.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc182497959413d8f4266/html5/thumbnails/3.jpg)
Arquitetura CORBA
Criada pelo Object Management Group (OMG), é a arquitetura padrão de sistemas distribuídos heterogêneos. Propõe uma estrutura comum para o gerenciamento de objetos distribuídos
(OMA – Object Management Architecture).
![Page 4: Arquitetura CORBA e Objetos Distribuídos Sistemas Distribuídos Prof. Danielle Martin Prof. Pedro Toledo Universidade de Mogi das Cruzes.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc182497959413d8f4266/html5/thumbnails/4.jpg)
Arquitetura CORBA – Características
Implementação do ORB – Object Request Broker– Módulo intermediário entre o cliente e o servidor– Corretor para troca de mensagens (requisição /
resposta)– Invocação remota de métodos– Cliente e servidor não se conhecem diretamente– MIDDLEWARE
![Page 5: Arquitetura CORBA e Objetos Distribuídos Sistemas Distribuídos Prof. Danielle Martin Prof. Pedro Toledo Universidade de Mogi das Cruzes.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc182497959413d8f4266/html5/thumbnails/5.jpg)
Arquitetura CORBA – Representação
![Page 6: Arquitetura CORBA e Objetos Distribuídos Sistemas Distribuídos Prof. Danielle Martin Prof. Pedro Toledo Universidade de Mogi das Cruzes.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc182497959413d8f4266/html5/thumbnails/6.jpg)
IDL Stubs/Skeletons
IDL Stub – interface estática do lado cliente compilada com protótipos dos métodos invocados a um servidor.– Gerado automaticamente pelo compilador do ORB– Permite ao cliente acessar o componente remoto
IDL Skeleton – interface estática compilada com os métodos remotos do lado servidor– Gerado automaticamente pelo compilador do ORB– Recebe mensagem com parâmetros de entrada– Realiza a chamada para a real implementação da classe– Empacota mensagem de resposta
![Page 7: Arquitetura CORBA e Objetos Distribuídos Sistemas Distribuídos Prof. Danielle Martin Prof. Pedro Toledo Universidade de Mogi das Cruzes.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc182497959413d8f4266/html5/thumbnails/7.jpg)
IDL – Interface Definition Language
Linguagem universal para definição de interfaces
O ORB oferece um compilador IDL
O compilador IDL gera os arquivos Stubs e Skeletons
Linguagem de definição, e não de programação
![Page 8: Arquitetura CORBA e Objetos Distribuídos Sistemas Distribuídos Prof. Danielle Martin Prof. Pedro Toledo Universidade de Mogi das Cruzes.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc182497959413d8f4266/html5/thumbnails/8.jpg)
Distribuição de Objetos Remotos
A distribuição de objetos remotos consiste no compartilhamento, através do middleware, de uma instância de objeto que pode ser acessada de diferentes máquinas.
E possível compartilhar objetos distribuídos em Java utilizando o Java RMI – Remote Method Invocation
![Page 9: Arquitetura CORBA e Objetos Distribuídos Sistemas Distribuídos Prof. Danielle Martin Prof. Pedro Toledo Universidade de Mogi das Cruzes.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc182497959413d8f4266/html5/thumbnails/9.jpg)
Arquitetura de um Objeto Distribuído
![Page 10: Arquitetura CORBA e Objetos Distribuídos Sistemas Distribuídos Prof. Danielle Martin Prof. Pedro Toledo Universidade de Mogi das Cruzes.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc182497959413d8f4266/html5/thumbnails/10.jpg)
Servidor do Objeto Distribuído
A classe Servidor cria a instância do meuObj e realiza sua publicação no middleware, sob o nome objDist.
Utiliza-se o metodo rebind, da classe Naming:– Naming.rebind(“//localhost/objDist”, meuObj);
O objeto, com seus atributos e métodos, fica acessível para qualquer classe que saiba acessar sua referência.
![Page 11: Arquitetura CORBA e Objetos Distribuídos Sistemas Distribuídos Prof. Danielle Martin Prof. Pedro Toledo Universidade de Mogi das Cruzes.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc182497959413d8f4266/html5/thumbnails/11.jpg)
Cliente do Objeto Distribuído
Por questão de encapsulamento e reuso, o Cliente não deve ter acesso à implementação da classe de negócio, que gerou o objDist.
O acesso é feito utilizando uma classe de interface para receber a referência do objeto.
A referência do objDist é recuperada usando o metodo lookup da classe Naming:
– InterfaceObj objRef;– objRef = (InterfaceObj) Naming.lookup(“//ip.do.servidor/objDist”);
![Page 12: Arquitetura CORBA e Objetos Distribuídos Sistemas Distribuídos Prof. Danielle Martin Prof. Pedro Toledo Universidade de Mogi das Cruzes.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc182497959413d8f4266/html5/thumbnails/12.jpg)
RMI – Remote Method Invocation
Servidor.javaObjetoNegocio meuObj = new ObjetoNegocio();Naming.rebind(“//localhost/objDist”, meuObj);
Cliente.javaInterfaceObjeto objRef;
objRef = (InterfaceObjeto) Naming.lookup(“//ip.do.serv/objDist”);