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

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

Comunicação Entre Objetos Distribuídos

Apresentações semelhantes


Apresentação em tema: "Comunicação Entre Objetos Distribuídos"— Transcrição da apresentação:

1 Comunicação Entre Objetos Distribuídos
-> CORBA Middleware para comunicação entre objetos distribuídos desenvolvidos utilizando linguagens heterogêneas (ou homogêneas) - Commom Object Request Broker Architecture

2 Introdução . Objetos distribuídos desenvolvidos em várias linguagens de programação devem comunicar-se. . ORB – Object Request Broker -> Localizar o objeto, ativá-lo se necessário e cuidar das requisições e respostas. . Principais componentes do CORBA: -> Uma linguagem de definição de interface -> Uma arquitetura que descreve os componentes necessários -> GIOP – General Inter-Orb protocol (representação externa de dados, pode ser implementado sobre qualquer camada de transporte desde que apresente conexões) -> IIOP – Internet Inter-Orb protocol

3 CORBA do ponto de vista do Programador
. CORBA RMI (o que o programador necessita saber?) Exige um pouco mais, pois o ambiente torna-se multi-linguagem, portanto é necessário conhecer - O modelo de objetos oferecido pelo CORBA - A IDL e os mapeamentos para a linguagem de implementação No mais é similar ao modelo RMI. Objeto remoto é a implementação da interface, que gera stubs e skeletons. Sendo que os stubs (ou proxies) são gerados na linguagem do cliente e skeletons na linguagem do servidor.

4 O Modelo de Objetos CORBA
. Os clientes de um objeto remoto, não necessariamente são objetos. Basta ser um programa que envia requisições para um objeto remoto; . O termo CORBA object ou objeto CORBA é usado para se referir ao objeto remoto. . Um objeto CORBA implementa uma interface escrita em IDL, tem uma referência remota e é habilitado a responder invocações de métodos em sua interface. . Um objeto CORBA pode ser implementado por uma linguagem que não é orientada a objeto (isto é, sem o conceito de classe, que também não existe na IDL CORBA). . Se o conceito de classe não existe na IDL, isso significa que objetos (instâncias de classes) não podem ser passados como argumentos. Entretanto estruturas de vários tipos e complexidades, podem.

5 exception CriaException{ } interface Lista {
CORBA IDL exception CriaException{ } interface Lista { int criaLista() raises (CriaException) void inserir(in int qLista, in int qPos, out int status) . } typedef sequence <Lista> minhasListas;

6 CORBA IDL . Parâmetros e Resultados: Parâmetros são de entrada e saída ou ambos, sob o ponto de vista do objeto remoto. (in, out, inout) Podem ser de tipos primitivos: short, int, long, float, etc... ou de tipos construídos: sequence, string, array, record, enumerated, union (ver pg. 683 Coulouris 2001). . O tipo Object: Supertipo de todas as interfaces IDL . Exceções em Corba IDL: Permitido . Semântica de Invocação: at-most-once (ou no máximo uma vez) é o default de qualquer invocação remota usando CORBA. No entanto é possível especificar a utilização da semântica maybe (talvez) com a palavra chave oneway.


Carregar ppt "Comunicação Entre Objetos Distribuídos"

Apresentações semelhantes


Anúncios Google