arquitetura e objetos distribuídos em corba aula 3

47
Arquitetura e Objetos Distribuídos em CORBA Aula 3 Especificações OMA Object Web

Upload: others

Post on 13-Jan-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Arquitetura e Objetos Distribuídos em CORBA

Aula 3

Especificações OMAObject Web

Page 2: Arquitetura e Objetos Distribuídos em CORBA Aula 3

The Client/Server Evolution

Page 3: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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.

Page 4: Arquitetura e Objetos Distribuídos em CORBA Aula 3

OMA – Object Management Architecture

Page 5: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Integração Cliente/Servidor

Requisições de Objeto

Invocamétodo () no

objeto Z

Objeto Zmétodo()

IDLIDL

ORB – barramento de objetosObject Request BrokerOs serviços são distribuidos na forma deObjetos em um barramento

Page 6: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Estrutura do CORBA 2.0

Page 7: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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)

Page 8: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Evolução dos Componentes

Page 9: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Anatomia do CORBA 2.0

Cliente

interface

Servico

_STUB _SKELTON

BOAORB

IIOP - Internet InterORB Protocol

Page 10: Arquitetura e Objetos Distribuídos em CORBA Aula 3

A IDL modela as interfaces

AccountA linguagem IDL suporta Os princípios da Orientação a Objetos

float balance

makeDepositmakeWithdrawal

Page 11: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Exemplo de interface IDL

// IDLinterface Account{//Attributesattribute float balance;readonly attribute string owner;//Operationsvoid makeDeposit(in float amount,out float newBalance);void makeWithdrawal(in float amount,out float newBalance);};

Account

float balance

makeDepositmakeWithdrawal

Page 12: Arquitetura e Objetos Distribuídos em CORBA Aula 3

idl2java

Interface.idl idl2java

InterfaceHolder.javaCliente

InterfaceHelper.java

_st_Interface

_sk_Interface

_InterfaceImplBase.java

Interface.javaServidor

VisiBroker for Java

_exemplo_Interface.java

Page 13: Arquitetura e Objetos Distribuídos em CORBA Aula 3

CORBA e Java

• O uso de Java na Arquitetura CORBA ...– ... Dá mobilidade de código.– ... Facilita o CORBA para a WEB.

• Java “concorre” com CORBAno RMI e EJB (alternativas semelhantes)

Page 14: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Método para desenvolvimento

Análise

Projeto

CodigoModelo

ServidorJava/outras

InterfaceIDL

ClienteJava/outras

ModelagemUML/CORBA

ImplementaçãoCORBA/Java

Page 15: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Integração entre as tecnologias

JavaAmbiente de Implementacao

CORBAArquitetura da Solucao

Dominio do Problema

UMLAnalise e Projeto

Page 16: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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.

Page 17: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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.

Page 18: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Arquitetura Cliente/Servidor

• Uma aplicação distribuída é conceitualmente modelada para ser composta por dois processos cooperantes: o processo-cliente e o processo servidor.

Page 19: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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

Page 20: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Componentes da Computação Distribuída

• Interfaces Gráficas• Sistemas de Correio Eletrônico• Sistemas de Processamento de Transações On-

Line ( 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 )

Page 21: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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)

Page 22: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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.

Page 23: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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.

Page 24: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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)

Page 25: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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

Page 26: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Evolução de Tecnologias WEB

Page 27: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Modelo da Object WEB baseado em Java e CORBA

Page 28: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Tendências

Objetos DistribuídosComponentes de SW

Agentes MóveisRedes e Gerência

Segurança em Redes

Page 29: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Objetos Distribuídos

Page 30: Arquitetura e Objetos Distribuídos em CORBA Aula 3

MOM versus RPC

Page 31: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Server Framework Adaptor

Page 32: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Objeto Composto em CORBA

Page 33: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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.

Page 34: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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.

Page 35: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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.

Page 36: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Tecnologias para Documentos Compostos

• OpenDoc torna possível clientes e servidores CORBA trocarem componentes via documentos móveis.

Page 37: Arquitetura e Objetos Distribuídos em CORBA Aula 3

OpenDoc e CORBA

Page 38: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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.

Page 39: Arquitetura e Objetos Distribuídos em CORBA Aula 3
Page 40: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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.

Page 41: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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 ?

Page 42: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Evolução dos Browsers

Page 43: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Modelos de Cliente para Web

Page 44: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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.

Page 45: Arquitetura e Objetos Distribuídos em CORBA Aula 3

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.

Page 46: Arquitetura e Objetos Distribuídos em CORBA Aula 3
Page 47: Arquitetura e Objetos Distribuídos em CORBA Aula 3

Links interessantes

• http://www.omg.org• http:/www.cetus-links.org