Академический Документы
Профессиональный Документы
Культура Документы
Francisco C. R. Reverbel
Object Services
IME-USP Departamento de Cincia da Computao
Utilizao da OMA
Arcabouo (framework) para aplicaes distribudas:
AI DI AI DI OS DI OS
ORB
AI
OS Object Framework
AI = Application Interfaces
IME-USP Departamento de Cincia da Computao
CORBA
Arquitetura cliente/servidor orientada a objetos Servio fundamental do ORB: invocao remota de mtodos Clientes podem chamar mtodos de objetos remotos do mesmo modo que chamam mtodos de objetos locais (transparncia de localizao) Para chamar mtodos de um objeto o cliente precisa ter uma referncia para o objeto
IME-USP Departamento de Cincia da Computao
Transparncia de Localizao
Mquina X
Cliente Objeto CORBA objeto co-locado
Mquina Y
Servidor remoto Objeto CORBA Objeto CORBA Objeto CORBA Objeto CORBA
Objrefs
Mquina Y
Servidor Objeto CORBA
Mquina Y
Servidor Objeto CORBA
Mquina X
Cliente chama objref Stub recebe resposta envia requisio
Mquina Y
Servidor Objeto CORBA
Serventes
Objetos CORBA so encarnados por entidades da linguagem de programao na qual o servidor foi escrito Essas entidades so denominadas serventes
Ao longo de sua vida um objeto CORBA pode ser representado por diferentes serventes
10
Mquina X
Cliente chama objref Objeto CORBA
11
Mquina X
Cliente chama objref Objeto CORBA
Mquina X
Cliente chama objref Stub recebe resposta
IME-USP Departamento de Cincia da Computao
Mquina Y
envia requisio Servidor Esqueleto chama Servente
12
Stubs e Esqueletos
O usurio no precisa escrever:
nem os stubs usado nos clientes nem o esqueletos usados no servidores.
13
O Compilador IDL
Os stubs e esqueletos so automaticamente gerados por um compilador IDL O compilador IDL recebe como entrada uma especificao das interfaces dos objetos Essa especificao escrita numa linguagem neutra, a Interface Definition Language (IDL)
Independncia de linguagem de programao
14
Componentes de CORBA
Cliente Servidor
Stub IDL
Interface do ORB
Esqueleto IDL
Esqueleto Dinmico
Adaptador de Objetos
Ncleo do ORB
16
O Desenvolvimento de um Sistema
Etapas Gerais:
Defina as interfaces dos objetos e expresse-as em OMG IDL (Interface Definition Language) Gere stubs e esqueletos Implemente objetos serventes Implemente o programa servidor Implemente aplicaes clientes
17
OMG IDL
Linguagem declarativa usada para especificar interfaces de objetos
Sintaxe baseada em C++ Suporta herana de interfaces Todas as interfaces de objetos so derivadas de CORBA::Object CORBA especificada em IDL
de modo a ser independente de linguagem de programao
18
Mapeamentos de IDL
Definem como IDL traduzida para as diferentes linguagens de programao O OMG padronizou mapeamentos de IDL para C, C++, Smalltalk, Java, COBOL, Ada, Lisp, PL/1 e Python
H mapeamentos para outras linguagens, mas ainda so proprietrios (no padronizados)
19
20
stubs
esqueleto
cliente
servidor
21
22
23
24
25
26
Uma object reference pode ser convertida em string e depois reconvertida em object reference
Voc pode guardar essa string num arquivo Pode divulg-la como bem entender
IME-USP Departamento de Cincia da Computao
27
28
29
30
Observaes
No exemplo visto o servidor e o cliente foram escritos na mesma linguagem Poderiam ter sido escritos em linguagens diferentes
Por exemplo: servidor em C++ e cliente em Java
31