A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 CORBA Um Padrão Industrial para Objetos Distribuídos Alcides Calsavara PUCPR - CCET.

Apresentações semelhantes


Apresentação em tema: "1 CORBA Um Padrão Industrial para Objetos Distribuídos Alcides Calsavara PUCPR - CCET."— Transcrição da apresentação:

1 1 CORBA Um Padrão Industrial para Objetos Distribuídos Alcides Calsavara PUCPR - CCET

2 2 SUMÁRIO n Parte I : Sistemas Distribuídos n Parte II : Orientação a Objetos n Parte III : CORBA - Conceitos e Exemplos n Parte IV : CORBA - Services, Facilities & Domains

3 3 Sistemas Distribuídos Parte I

4 4 Sistemas Distribuídos - objetivos - n Melhor relação custo/benefício n Capacidade de processamento além dos limites de sistemas centralizados (velocidade da luz, aquecimento) n Maior domínio de aplicações n Maior confiabilidade e disponibilidade n Crescimento gradativo da capacidade de processamento

5 5 Sistemas Distribuídos - objetivos - n Compartilhamento de dados comuns entre usuários n Compartilhamento de recursos de hardware e software n Comunicação entre pessoas n Flexibilidade na distribuição de tarefas de acordo com as aplicações

6 6 Sistemas Distribuídos - requisitos - n Controle de concorrência n Consistência n Extensibilidade (openness) n Escalabilidade (crescimento gradativo "suave") n Tolerância a falhas n Transparência

7 7 Sistemas Distribuídos - transparência - n Acesso n Localizacão n Concorrência n Replicação n Falha n Migração n Desempenho n Escala n Paralelismo

8 8 Sistemas Distribuídos - componentes básicos - n Comunicação n Sistema de nomes n Manutenção de consistência n Alocação de carga de trabalho

9 9 Comunicação n modelos: –cliente/servidor –grupo n níveis de abstração: –processos e mensagens –objetos e operações (RPC) n formas de sincronismo: –síncrona –assíncrona

10 10 Sistemas Distribuídos - consistência: transações - n Atômica: para o mundo externo, a transação ocorre de forma indivisível. n Consistente: a transação não viola invariantes de sistema. n Isolada: transações concorrentes não interferem entre si (serializable). n Durável: os efeitos de uma transação terminada com commit são permanentes.

11 11 Orientação a Objetos Parte II

12 12 Orientação a Objetos - conceitos fundamentais - n Objeto n Identidade n Encapsulamento n Classificação/Instanciação n Generalização/Especialização n Herança n Polimorfismo

13 13 Orientacão a Objetos - associação e ligacão - n Relacionamento entre instâncias de duas ou mais classes descrevendo um grupo de ligações com estrutura e semântica comuns. n Exemplo: Um país tem como capital uma cidade. n Exemplo: Um funcionário trabalha numa empresa.

14 14 Orientacão a Objetos - modelo dinâmico - n Representa os aspectos de um sistema relativos ao tempo e às modificações de estado n Abrangência: –interações –seqüência de operações –fluxo de controle n Representação: estados e eventos

15 15 CORBA Conceitos e Exemplos Parte III

16 16 CORBA - contexto - n OMG: Object Management Group n OMA: Object Management Architecture (1992) n ORB: Object Request Broker –meio para envio e recebimento de mensagens entre diferente objetos e componentes n CORBA: Common Object Request Broker Architecture –arquitetura que permite interoperação entre os participantes na OMA –adotado por: Digital, HP, Hyperdesk, NCR, Object Design, SunSoft,...

17 17 CORBA - ORB : produtos comerciais - n Orbix (Iona Technologies)Iona Technologies n VisiBroker (Borland)Borland n ChorusORB (Sun)Sun n Component Broker/DSOM (IBM)IBM n Voyager ORB (ObjectSpace)ObjectSpace n OrbAda (Top Graph'X)Top Graph'X n Nouveau (Roguewave)Roguewave n Netscape Internet Service Broker (Netscape)Netscape n ObjectDirector (Fujitsu)Fujitsu n DOME (Object Oriented Technologies)Object Oriented Technologies n BEA WebLogic Server (BEA)BEA

18 18 CORBA - ORB : produtos acadêmicos/gratuitos - n ORBacus (Object-Oriented Concepts)Object-Oriented Concepts n ILU Freeware ORB (Xerox Parc)Xerox Parc n DIMMA (ANSA)ANSA n JADE (APM)APM n JavaIDL (JavaSoft)JavaSoft n TAO ( Distributed Object Computing Group at Washington University ) Distributed Object Computing Group at Washington University n omniORB2 (AT&T Laboratories )AT&T Laboratories n MICO (University of Frankfurt)University of Frankfurt

19 19 CORBA - referências - n Orfali & Harkey & Edwards. The Essential Distributed Objects Survival Guide n Mowbray & Zahavi. The Essential CORBA n Mowbray & Ruh. Inside CORBA n OMA Guide. OMG n CORBA Revision 2. OMG.1995 n CORBAservices. OMG n CORBAfacilities. OMG n Distributed Object Computing Magazine. OMG n

20 20 CORBA – algumas referências disponíveis na biblioteca da PUCPR n Advanced CORBA programming with C++ n Client/ server programming with Java and CORBA - 2nd ed. n CORBA : a guide to the common object request broker architecture n CORBA fundamentals and programming n Essential CORBA : systems integration using distributed objects, The n Understanding CORBA : common object request broker architecture

21 21 CORBA - produtos - n Orbix (IONA) n VisiBroker (Visigenic - Borland) n ObjectBroker (Digital - Compaq) n ILU Freeware ORB n Fresco Freeware ORB (X Consortium) n OmniBroker (Object-Oriented Concepts) n CORBUS (BBN - governo EUA) n DISCUS (governo EUA)

22 22 CORBA - objetivos - n construção de sistemas distribuídos: –criação de novos componentes –integração de componentes existentes middleware –não inclui modelagem de aplicações –não inclui implementação de aplicações –inclui mecanismos que auxiliam na implementação

23 23 CORBA - abordagem - n orientacão a objetos n modelo cliente/servidor n comunicação via RPC n mecanismos disponíveis através de: –servicos, facilidades e domínios n independência de: –hardware, SO, linguagem

24 24 ORB Cliente Implementação do Objeto ORB Request

25 25 Modelo de objetos n Clientes são entidades que requisitam serviços. n Uma requisição inclui uma operação, o objeto destino, parâmetros da operação. n Uma operação denota um serviço que pode ser requisitado. n Um objeto é um encapsulamento de serviços que podem ser requisitados por clientes. n Um valor é qualquer coisa que pode ser parâmetro em uma requisição; valores podem identificar um objeto. n Uma referência a objeto é um nome que identifica um certo objeto de maneira consistente.

26 26 Operações n A assinatura de uma operação define os valores que podem ser usados como parâmetros e resultados em sua requisição. n Cada parâmetro tem um modo e um tipo. n Os modos de parâmetro são: in, out, inout n O resultado de uma requisição pode ser uma exceção, denotando serviço anormal. n Uma exceção é usada para passar informação para o originador da requisição. n Semântica: at-most-once, oneway (best-effort, cliente não tem resultados)

27 27 Arquitetura ORB Cliente Implementação do objeto Invocação Dinâmica Stubs IDL Interface ORB Esqueleto IDL Adaptador do Objeto Núcleo ORB

28 28 Componentes ORB n Interface de Invocação Dinâmica: clientes fazem requisições independentemente da interface do objeto; cliente sabe o tipo do objeto a assinatura da operação. n Stubs IDL: clientes fazem requisições de acordo com a interface do objeto (IDL: Interface Definition Language); cliente tem uma referência para o objeto e sabe a assinatura da operação. n Esqueleto IDL: a implementação do objeto recebe uma requisição através do esqueleto IDL. (Há stubs e esqueletos para cada tipo de objeto.) n Adaptador do Objeto: a implementação do objeto pode chamar um adaptador do objeto durante o processamento de uma requisição (resolver referências, segurança,...)

29 29 IDL: Interface Definition Language Definições IDL IDL stub Repositório de Interfaces Esqueleto IDL Implementação (em linguagem) Repositório de Implementação

30 30 Componentes ORB n Stub IDL: clientes fazem requisições de acordo com a interface do objeto (IDL: Interface Definition Language); cliente tem uma referência para o objeto e conhece a assinatura da operação. n Esqueleto IDL: a implementação do objeto recebe uma requisição através do "esqueleto" IDL. (Há stubs e esqueletos para cada tipo de objeto.)

31 31 Componentes ORB n Interface de Invocação Dinâmica: clientes fazem requisições independentemente da interface do objeto; cliente descobre o tipo do objeto e a assinatura da operação. n Adaptador do Objeto: a implementação do objeto pode chamar um adaptador do objeto durante o processamento de uma requisição (resolver referências, segurança,...)

32 32 CORBA Services, Facilities & Domains Parte IV

33 33 Services - categorias - n Information management n Task management n System management n Infrastructure

34 34 Services - information management - n property n relationship n query n externalization n persistent object n collection

35 35 Services - task management - n events n concurrency n transaction

36 36 Services - system management - n naming n lifecycle n licensing n trader

37 37 Services - infrastructure - n security n time services n messaging

38 38 Property Service n propriedades são atributos dinâmicos vinculados a objetos de aplicação n propriedades são úteis para aplicações de gerenciamento, como desktop managers, debugging tools, browsers,... n exemplo: um desktop manager pode vincular propriedades de proteção e compartilhamento a objetos n exemplo: uma ferramenta de debugging pode vincular informação sobre a execução (como breakpoints) a objetos de um programa

39 39 Relationship Service n permite estabelecer ligacões entre objetos n evita que objetos mantenham object references explicitamente n cria objetos adicionais: –Relationship –Role

40 40 Query Service n usado com bancos de dados comerciais n suporta bancos relacionais e OO n proposto por: IBM, Sybase, SunSoft n contempla: SQL92, SQL-3, OQL n queries são dinâmicas n queries podem ser resolvidas síncrona ou assincronamente

41 41 Externalization Service n converte estruturas de dados em formato que pode ser armazenado externamente ao programa e transmitido via rede n remove ponteiros n parte do processo de marshalling n útil também para migrar objetos (mas não inclui métodos)

42 42 Persistent Object Service n criado por fornecedores de bancos de dados relacionais e OO n inclui 3 protocolos de persistência: –ODMG 93 –direct access protocol (usa DDL, um subconjunto de IDL) –dynamic data object protocol

43 43 Collection Service n grupos de objetos –listas sequenciais –pilhas –filas –bags... n estende a funcionalidade de bibliotecas como a STL (Standard Template Library) para sistemas distribuídos

44 44 Events Service n canal de passagem de eventos entre produtores e consumidores de eventos n pode ser usado para comunicacão multicast n um consumidor registra seu interesse em eventos com o servico n estilos de interacão: –push –pull

45 45 Concurrency Service n garante acesso atômico a objetos distribuídos n portabilidade: uso de concorrência por múltiplos sistemas operacionais e linguagens n tipos de lock: –read, write –upgrade (pode mudar para write) –intention read, intention write (fine granularity)

46 46 Transaction Service n permite a manipulacão de estados de objetos distribuídos de forma consistente n trabalha sobre monitores compatíveis com X/Open: –Tuxedo protocols –IBM/Transarc Encina –bancos de dados OO compatíveis com ODMG-93 –LU6.2 da IBM n usa two-phase commit protocol n suporta transações flat e nested n baixo suporte a tolerância a falhas (Orbix + Isis) n não suporta transações de longa duração

47 47 Naming Service n permite recuperar uma referência para um objeto, dado um nome vinculado a este n operacões básicas: –bind –unbind –resolve n espaço de nomes organizado em hierarquia (nós intermediários são chamados de contexto)

48 48 Lifecycle Service n criação de objetos é responsabilidade das aplicações: lista de parâmetros é imprevisível n permite criar object factories, que criam, duplicam, movem e removem objetos de certos tipos pelo sistema distribuído (com transparência de localização)

49 49 Licensing Service n permite protecão de propriedade intelectual através de gerenciamento de licenças de forma dinâmica n inclui, por exemplo: trabalhos de arte em computador e aplicações comerciais n estimativa: 70% de todo software em uso no mundo é pirata

50 50 Trader Service n uma espécie de páginas amarelas, onde fornecedores publicam seus serviços e interessados procuram por eles n nem sempre se sabe o nome do objeto que pode prover o serviço n um serviço é caracterizado através de sua interface (influenciado por APM ANSA Trader)

51 51 Security Service n deve ser suportado diretamente pelo ORB n abrange: confidencialidade, integridade, contabilidade, disponibilidade e "não- repúdio" n funções básicas: controle de acesso, auditoria, autenticação e políticas de implementação

52 52 Time Service n suporta recuperação e sincronização de relógios (físicos) em sistemas distribuídos n suporta sincronização através de sinais de rádio gerados localmente ou por fontes do governo

53 53 Messaging Service n permite processamento assíncrono através do ORB n interfaces IDL têm semântica síncrona, por default n estende a utilidade de CORBA para cobrir a funcionalidade disponível em MOM (message-oriented middleware) n não dá garantia de entrega de mensagens

54 54 Services - histórico - n RFP –Lifecycle –Event notification –Naming Service –Persistent Service

55 55 Services - histórico - n RFP –Externalization –Relationships –Concurrency –Transaction

56 56 Services - histórico - n RFP –Security –Time

57 57 Services - histórico - n RFP –Licensing –Properties –Query

58 58 Services - histórico - n RFP –Trading –Collections –Start-up

59 59 Services - histórico - n Em preparacao em 1997 –Interface Versioning –Asynchronous Invocation (message)

60 60 Facilities - categorias - n User Interface n Information Management n System Management n Task Management

61 61 Facilities - User Interface - n Compound presentation & interchange n Printing n Asian input n Rendering management

62 62 Facilities - Information Management - n Data interchange n Meta-object n Information storage & retrieval n Internationalization & time operations

63 63 Facilities - System Management - n Common management n Configuration & change management n Security administration

64 64 Facilities - Task Management - n Mobile agents n Workflow n Automation & Scripting

65 65 Facilities n Horizontais –Distributed Document Compound –OpenDoc Parts, Framework Objects –Common Management –Internationalization –Time –Data Interchange

66 66 Facilities n Verticais –Business Object –Meta-object –Printing and Method

67 67 Facilities - histórico n Cf RFP1 Compound presentation and interchange - completa n Cf RFP2 Internationalization and time operations - início 3/95 n Cf RFP3 Data interchange and mobile agents - início 11/95 n Cf RFC1 Common management facility - início 1/96 n Cf RFP4 Business objects - início 1/96 n Cf RFP5 Meta-object facility - início 6/96 n Cf RFP6 Printing facility - início 3/96 n Cf RFP7 Asin input - início 6/96 n Cf RFP8 Automation & scripting - início 9/96 n Cf RFC2 Workflow - início 12/96 n Cf RFP9 Rendering management - início 9/96 n Cf RFP10 Information storage and retrieval - início 3/97 n Cf RFP11 Configuration & change management - 5/97 n Cf RFP12 Rule management - início 8/97 n Cf/ORBOS RFP Security administration - início 1/98

68 68 Domains n CORBA-financials n CORBA-med n Telecom n Manufacturing n Multimedia Conference n Business Objects n Internet n...

69 69 Outras Abordagens n Microsoft –COM, DCOM, – ActiveX, ASP n SUN –Java, –JavaBeans, Enterprise JavaBeans –Jini


Carregar ppt "1 CORBA Um Padrão Industrial para Objetos Distribuídos Alcides Calsavara PUCPR - CCET."

Apresentações semelhantes


Anúncios Google