CORBA
Common Object Request Broker
Computação Distribuída
João Bosco Mangueira Sobral
The Client/Server Evolution
Computação Distribuída
João Bosco Mangueira Sobral
O que é a tecnologia CORBA?
• CORBA
• Common Object Request Broker Architecture
– Uma camada de software que distribui objetos
– Oferece uma série de serviços de objeto
– É padonizada pela OMG
• IDL - Interface Definition Language
–
–
–
–
Padrão para definição dos Serviços dos objetos
Linguagem semelhate ao C
Portabilidade para Java, C++, Delphi, Smalltalk, etc..
Permite integração entre sistemas heterogêneos.
Computação Distribuída
João Bosco Mangueira Sobral
OMA – Object Management
Architecture
Computação Distribuída
João Bosco Mangueira Sobral
Integração Cliente/Servidor
Invoca
método () no
objeto Z
IDL
Objeto Z
método()
IDL
Requisições de Objeto
ORB – barramento de objetos
Object Request Broker
Os serviços são distribuidos na forma de
Objetos em um barramento
Computação Distribuída
João Bosco Mangueira Sobral
Estrutura do CORBA 2.0
Computação Distribuída
João Bosco Mangueira Sobral
CORBA algumas características
• Invocação estática
– Os parâmetros podem ser conhecidos
• Invocação dinâmica
– Os parâmetros podem ser “descobertos”
• Escalabilidade
– Criação de uma rede de serviços intergalática
• Segurança, Transparência e Controle
– Serviços disponíveis pela arquitetura
• Coexistência com sistemas atuais (legados)
Computação Distribuída
João Bosco Mangueira Sobral
Evolução dos Componentes
Computação Distribuída
João Bosco Mangueira Sobral
Anatomia do CORBA 2.0
interface
Servico
Cliente
_SKELTON
_STUB
ORB
BOA
IIOP - Internet InterORB Protocol
Computação Distribuída
João Bosco Mangueira Sobral
A IDL modela as interfaces
Account
A linguagem IDL suporta
Os princípios da
Orientação a Objetos
float balance
makeDeposit
makeWithdrawal
Computação Distribuída
João Bosco Mangueira Sobral
Exemplo de interface IDL
Account
float balance
makeDeposit
makeWithdrawal
Computação Distribuída
João Bosco Mangueira Sobral
// IDL
interface Account
{
//Attributes
attribute float balance;
readonly attribute string owner;
//Operations
void makeDeposit(in float amount,
out float newBalance);
void makeWithdrawal(in float amount,
out float newBalance);
};
idl2java
Cliente
InterfaceHolder.java
InterfaceHelper.java
_st_Interface
Interface.idl
idl2java
_sk_Interface
_InterfaceImplBase.java
VisiBroker for Java
Interface.java
Servidor
_exemplo_Interface.java
Computação Distribuída
João Bosco Mangueira Sobral
CORBA e Java
• O uso de Java na Arquitetura CORBA ...
– ... Dá mobilidade de código.
– ... Facilita o CORBA para a WEB.
• Java “concorre” com CORBA
no RMI e EJB (alternativas semelhantes)
Computação Distribuída
João Bosco Mangueira Sobral
Método para desenvolvimento
Servidor
Java/outras
Análise
Modelo
Codigo
Interface
IDL
Projeto
Cliente
Java/outras
Modelagem
UML/CORBA
Computação Distribuída
João Bosco Mangueira Sobral
Implementação
CORBA/Java
Integração entre as tecnologias
Dominio do Problema
UML
Analise e Projeto
CORBA
Arquitetura da Solucao
Java
Ambiente de Implementacao
Computação Distribuída
João Bosco Mangueira Sobral
Links interessantes
• http://www.omg.org
• http:/www.cetus-links.org
Computação Distribuída
João Bosco Mangueira Sobral
Download

CORBA