Arquitetura e Objetos Distribuídos em CORBA Aula 3

Propaganda
Arquitetura e Objetos
Distribuídos em CORBA
Aula 3
Especificações OMA
Object Web
The Client/Server Evolution
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.
OMA – Object Management
Architecture
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
Estrutura do CORBA 2.0
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)
Evolução dos Componentes
Anatomia do CORBA 2.0
interface
Servico
Cliente
_SKELTON
_STUB
ORB
BOA
IIOP - Internet InterORB Protocol
A IDL modela as interfaces
A linguagem IDL suporta
Os princípios da
Orientação a Objetos
Account
float balance
makeDeposit
makeWithdrawal
Exemplo de interface IDL
Account
float balance
makeDeposit
makeWithdrawal
// 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
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)
Método para desenvolvimento
Servidor
Java/outras
Análise
Modelo
Codigo
Interface
IDL
Projeto
Cliente
Java/outras
Modelagem
UML/CORBA
Implementação
CORBA/Java
Integração entre as tecnologias
Dominio do Problema
UML
Analise e Projeto
CORBA
Arquitetura da Solucao
Java
Ambiente de Implementacao
Aplicações Distribuídas
• Aplicações que são funcionalmente separadas em
processos distintos rodando em computadores
diferentes sobre uma rede.
• Os processos interoperam para resolver um
problema computacional comum.
• Consistem de interface de usuário, dados do
usuário e os processos em diferentes
computadores.
Arquitetura Cliente/Servidor
• Anos 90
– Capacidade dos Desktops
– Redes Locais
– Técnicas de Acesso a bases de dados
– Interfaces Gráficas
– Principal modelo escolhido para as soluções fornecidas
pela Computação Distribuída.
Arquitetura Cliente/Servidor
• Uma aplicação distribuída é
conceitualmente modelada para ser
composta por dois processos cooperantes: o
processo-cliente e o processo servidor.
Componentes da Computação
Distribuída
•
•
•
•
Controle da Concorrência
Rede de Computadores
Chamadas Remotas a Procedimentos
Serviços de Nomes e Diretórios
Distribuídos
• Sistemas de Arquivos Distribuídos
• SGBDs Cliente/Servidor
Componentes da Computação
Distribuída
• Interfaces Gráficas
• Sistemas de Correio Eletrônico
• Sistemas de Processamento de Transações OnLine ( OLTP )
• Sistemas de Gerenciamento de Redes
• Serviços de Segurança
• Servidores de Objetos Distribuídos
• Tecnologia Web e a Internet
• Middleware ( camada de distribuição )
Middleware
• Middleware é um software que permite
elementos de aplicações interoperarem
através de redes, apesar das diferenças nos
protocolos de comunicação, arquiteturas de
sistemas, sistemas operacionais, bases de
dados e outro serviços de aplicação.
(Rymer 1996)
Objetos
• Os objetos fornecem uma forma para organizar a
complexidade nos modernos sistemas de computação.
• A combinação natural de dados, comportamento e a
separação explícita entre interface e implementação,
proporcionam uma solução ótima para a distribuição
de dados e processos de uma aplicação.
Objetos Distribuídos
• Objetos podem ser usados para construir
aplicações distribuídas seguindo o modelo
Cliente/Servidor.
• Assim, devem poder ser localizados e
acessados através de uma rede de
computadores.
Modelos de Objetos
• Modelos definidos, seguindo o paradigma
de orientação a objetos, para servir de base
para a construção de implementações de
objetos distribuídos.
• SOM (System Object Model) - IBM
• COM (Component Object Model) - MicroSoft
• CORBA (Commom Object Request Broker
Architecture) - OMG (Object Management Group)
Produtos para Computação Distribuída
• DCE (Distributed Computing Environment)
OSF - Open Software Foundation) 1988
IBM, DEC, Bull, HP, Nixdorf, Apollo,
Phillips, Siemens, Hitachi
• Produtos CORBA (diversos)
• DCOM (MicroSoft)
• DSOM (IBM) ....
Muitos outros
Evolução de Tecnologias WEB
Modelo da Object WEB baseado
em Java e CORBA
Tendências
Objetos Distribuídos
Componentes de SW
Agentes Móveis
Redes e Gerência
Segurança em Redes
Objetos Distribuídos
MOM versus RPC
Server Framework Adaptor
Objeto Composto em CORBA
Documentos Compostos
• É um documento composto de textos,
gráficos, planilhas eletrônicas, elementos da
multimídia (áudio, imagens).
• Um documento composto nada mais é que
uma coleção (container) visualmente
organizada de componentes.
Frameworks
• Frameworks de documentos compostos –
OLE e OpenDoc proporcionam duas
tecnologias chaves:
1) Uma base visual de componentes para
criar browsers Web abertos.
2) A tecnologia de containers para
distribuição, visualização e armazenagem
de componentes relacionados e seus dados.
Tecnologias para Documentos
Compostos
• OpenDoc
• Em março de 1996, a OMG adotou
OpenDoc como a base para sua tecnologia
de documento composto. Isso significa que
CORBA agora tem uma arquitetura
consistente para ambos os lados, o cliente e
o servidor.
Tecnologias para Documentos
Compostos
• OpenDoc torna possível clientes e
servidores CORBA trocarem componentes
via documentos móveis.
OpenDoc e CORBA
Business Object Facility
• OMG está correntemente especificando
Frameworks para domínios de aplicação:
manufatura, comércio eletrônico,
transportes, telecomunicação, saúde,
finanças, entre outros.
• Mas o que estes frameworks constroem ?
O BOF define um componente CORBA
genérico chamado, business object.
The Object Web II Vision
• Documentos compostos como browsers
Web abertos:
- O browser Web construído inteiramente
de componentes.
- O próprio browser é um container visual
de componentes.
- Um componente também pode imbutir
outro componente.
The Object Web II Vision
• Um browser Web pode ser construído como
um container OpenDoc ou OLE (Microsoft)
• O desktop é o browser.
• A próxima geração de browsers Internet
consistirão de um conjunto de componentes
e containers de documentos compostos.
• Onde você encontrará um destes browsers
Web baseados em componentes ?
Evolução dos Browsers
Modelos de Cliente para Web
Segundo Modelo
• Tudo sobre o desktop é habilitado à Web.
• A idéia que você será capaz de acessar a
Web de dentro de qualquer aplicação ou
componente, sem executar um browser.
Terceiro Modelo
• Shippable Places:
Você pode acessar a web de dentro de seus
places. Um place é uma montagem visual
de componentes relacionados. Um
shippable place é um container móvel de
componentes.
Links interessantes
• http://www.omg.org
• http:/www.cetus-links.org
Download