Objetos Distribuídos
Padrão CORBA
Trabalho de Fundamentos da Engenharia de Software
Profº Ricardo Luiz Schneider
Alunos:
Fábio Campos Lourenço
Fernando Azeredo Andrade
Desenvolvimento de Software
Atualmente Não Possui o Devido Nível
de Maturidade:






Não atende totalmente às qualidades
desejadas.
Prazos de entrega não são cumpridos.
Requisitos funcionais do sistema não
satisfeitos ou desatualizados quando
entregues.
Orçamentos previstos “estouram”.
Custos de manutenção são altos.
Difícil integração dos sistemas.
Melhorando o Desenvolvimento
de Sistemas

Tecnologia de Orientação a Objetos

Encapsulamento
– Os dados de um objeto estão encapsulados e são
acessados pelos métodos de interface.
– Dá mais ênfase à interface dos objetos e à
interoperabilidade entre classes.
Vantagens da Orientação a
Objetos (O.O.)

Melhor produtividade e redução do tempo de
desenvolvimento.

Reuso.

Flexibilidade.

Redução de custos.

Facilidade de manutenção.
Arquitetura Cliente / Servidor

Tem por objetivo compartilhar recursos,
dados, software e hardware.

Cada computador em uma rede pode
oferecer serviços como um servidor e
utilizar outros serviços como cliente.
Objetos Distribuídos
Combinação de Orientação a Objetos e
Computação Distribuída.
 Permite uma completa
interoperabilidade entre componentes
de aplicações em ambientes
distribuídos e heterogêneos.
 Middleware.

Middleware

Conectar aplicações distribuídas.

Solucionar problemas de falta de
transparência entre componentes.

Permitir uma gerência simples e eficaz.
Modelo Integrador

Identificar a compatibilidade entre tipos
definidos em modelos diferentes.

Compatibilizar o modelo de execução
de objetos de diferentes arquiteturas
que precisam interagir.
Aplicações Distribuídas em
Camadas

Two-tier (2 camadas)
–

Falta de controle centralizado.
N-tier (3 camadas)
–
–
–
Desktop - Interface com o usuário.
Servidor de Aplicação - Lógica do negócio
e lógica de dados.
Servidor de Banco de Dados - Serviços de
dados e arquivos.
Visão Geral de CORBA

Proposta da OMG (Object Management
Group).

Interface comum aos objetos escritos
em diferentes linguagens de
programação.
Objetivo da CORBA
Dar a todos os seus componentes a
“mesma cara”.
 Interfaces definidas em uma linguagem
declarativa.
 A interação ocorre através de um
Middleware(ORB), que estabelece a
relação Cliente/Servidor.

Arquitetura CORBA
C++
Delphi
Java
C++
Delphi
Java
IDL
IDL
IDL
IDL
IDL
IDL
CLIENTE
SERVIDOR
ORB
Linguagem IDL

Puramente declarativa, usada para
descrever objetos CORBA.

Subconjunto de C++ com instruções
adicionais.
Objeto CORBA

Geralmente representa conceito do
mundo real.

Oferece atributos e operações que
compõe sua interface IDL.
Objeto CORBA

Cliente/Servidor.

Se comunicam estando na mesma
máquina ou em uma máquina remota
via Internet.
REPOSITÓRIO DE
IMPLEMENTAÇÃO
REPOSITÓRIO
DE INTERFACE
ADAPTADOR DE
OBJETOS
CLIENTE
DII
IDL
STUBS
INTERFACE
ORB
SERVIDOR
ESQUELETO
IDL
Serviços CORBA
Componentes complementares
definidos como IDL
 Ex:

–
–
–
Segurança
Controle de Concorrência
Ciclo de Vida
Facilidades CORBA
Especializações dos serviços CORBA.
 Ex:

–
–
–
Interface do usuário
Interfaces especializadas
Gerência de tarefas
Padrão DCOM
Distributed Component Object
 Maior competidor do CORBA
 Criado pela Microsoft

EXTENSÃO
MS OLE
MS COM
ActiveX
EXTENSÃO
DCOM
DCOM
Produto comercial novo,
poucas empresas utilizam.
x CORBA
Mais antigo, mais empresas
utilizam.
Roda em plataformas que Roda em plataformas que
tenham serviço COM (Entire tenham serviço CORBA
X).
ORB (VisiBroker).
Identifica interfaces usando Identifica interfaces usando
IIDs e a implementação de seu nome e a implementação
objetos usando CLSIDs
de objetos por mapeamento
no IR.
O mapeamento do nome do O mapeamento do nome do
obj. é feito pelo Registry
obj. é feito pelo IR
(Implementation Repository)
DCOM
x CORBA
 Informação sobre os tipos  Informação sobre os tipos
para os métodos é mantida para os métodos é mantida
pela Type Library.
pelo Interface Repository
 Responsável pela localização  Responsável pela localização
da implementação de um obj da implementação de um obj
é o Service Control Manager
é o Object Request Broker
 Responsável pela ativação da  Responsável pela ativação da
implementação de um obj é implementação de um obj é
o Service Control Manager
o Object Adapter
 Do lado do servidor o stub é  Do lado do servidor o stub é
chamado de stub.
chamado de skeleton.
DCOM
x CORBA
 Todos
os
parâmetros  Na passagem de parâmetros
passados entre
Cliente e entre Cliente e Servidor,
Servidor são definidos na todos os tipos da interface
Interface, por ref ou valor
são por ref, e obj por valor.
 Chamada de métodos retorna  Suporta exceções de C++ e
um codigo de erro. Utiliza específicas do CORBA,
obj do tipo IErrorInfo para permite ao usuário definir
tratamento.
exceções.
Referências Bibliográficas

www.infosys.tuwien.ac.at/Research/Corba/OMG/arch2.htm#446864

www.nautilus.com.br/~francioli

www.omg.org/corba/beginners.html

Moraes, João A. G. de Queiroz e Madeira, Edmundo. CORBA:
Plataforma Aberta de Objetos Distribuídos. Developers Magazine nº 21,
páginas 26 a 30, Maio de1998
Download

ppt - DCC