Serviços. CORBA Services, Facilities & Domains The CORBA framework Object Request Broker - ORB...
Transcript of Serviços. CORBA Services, Facilities & Domains The CORBA framework Object Request Broker - ORB...
Serviços
CORBAServices, Facilities & Domains
The CORBA framework
Object Request Broker - ORB
aplication objects CORBA facilities
CORBA services
CORBA domains
Services- categorias -
• Information management
• Task management
• System management
• Infrastructure
Services- information management -
• property
• relationship
• query
• externalization
• persistent object
• collection
Services- task management -
• events
• concurrency
• transaction
Services- system management -
• naming
• lifecycle
• licensing
• trader
Services- infrastructure -
• security
• time services
• messaging
Property Service
• propriedades são atributos dinâmicos vinculados a objetos de aplicação
• propriedades são úteis para aplicações de gerenciamento, como desktop managers, debugging tools, browsers,...
• exemplo: um desktop manager pode vincular propriedades de proteção e compartilhamento a objetos
• exemplo: uma ferramenta de debugging pode vincular informação sobre a execução (como breakpoints) a objetos de um programa
Relationship Service
• permite estabelecer ligacões entre objetos
• evita que objetos mantenham object references explicitamente
• cria objetos adicionais:– Relationship– Role
Query Service
• usado com bancos de dados comerciais
• suporta bancos relacionais e OO
• proposto por: IBM, Sybase, SunSoft
• contempla: SQL92, SQL-3, OQL
• queries são dinâmicas
• queries podem ser resolvidas síncrona ou assincronamente
Externalization Service
• converte estruturas de dados em formato que pode ser armazenado externamente ao programa e transmitido via rede
• remove ponteiros
• parte do processo de marshalling
• útil também para migrar objetos (mas não inclui métodos)
Persistent Object Service
• criado por fornecedores de bancos de dados relacionais e OO
• inclui 3 protocolos de persistência:– ODMG 93– direct access protocol (usa DDL, um
subconjunto de IDL)– dynamic data object protocol
Collection Service
• grupos de objetos– listas sequenciais– pilhas– filas– bags ...
• estende a funcionalidade de bibliotecas como a STL (Standard Template Library) para sistemas distribuídos
Events Service
• canal de passagem de eventos entre produtores e consumidores de eventos
• pode ser usado para comunicacão multicast• um consumidor registra seu interesse em
eventos com o servico• estilos de interacão:
– push– pull
Concurrency Service
• garante acesso atômico a objetos distribuídos
• portabilidade: uso de concorrência por múltiplos sistemas operacionais e linguagens
• tipos de lock:– read, write– upgrade (pode mudar para write)– intention read, intention write (fine granularity)
Transaction Service
• permite a manipulacão de estados de objetos distribuídos de forma consistente
• 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
• usa two-phase commit protocol• suporta transações flat e nested• baixo suporte a tolerância a falhas (Orbix + Isis)• não suporta transações de longa duração
Naming Service
• permite recuperar uma referência para um objeto, dado um nome vinculado a este
• operacões básicas:– bind– unbind– resolve
• espaço de nomes organizado em hierarquia (nós intermediários são chamados de contexto)
Lifecycle Service
• criação de objetos é responsabilidade das aplicações: lista de parâmetros é imprevisível
• permite criar object factories, que criam, duplicam, movem e removem objetos de certos tipos pelo sistema distribuído (com transparência de localização)
Licensing Service
• permite protecão de propriedade intelectual através de gerenciamento de licenças de forma dinâmica
• inclui, por exemplo: trabalhos de arte em computador e aplicações comerciais
• estimativa: 70% de todo software em uso no mundo é pirata
Trader Service
• uma espécie de páginas amarelas, onde fornecedores publicam seus serviços e interessados procuram por eles
• nem sempre se sabe o nome do objeto que pode prover o serviço
• um serviço é caracterizado através de sua interface (influenciado por APM ANSA Trader)
Security Service
• deve ser suportado diretamente pelo ORB
• abrange: confidencialidade, integridade, contabilidade, disponibilidade e "não-repúdio"
• funções básicas: controle de acesso, auditoria, autenticação e políticas de implementação
Time Service
• suporta recuperação e sincronização de relógios (físicos) em sistemas distribuídos
• suporta sincronização através de sinais de rádio gerados localmente ou por fontes do governo
Messaging Service
• permite processamento assíncrono através do ORB
• interfaces IDL têm semântica síncrona, por default
• estende a utilidade de CORBA para cobrir a funcionalidade disponível em MOM (message-oriented middleware)
• não dá garantia de entrega de mensagens
Services- histórico -
• RFP1 - 1993– Lifecycle– Event notification– Naming Service– Persistent Service
Services- histórico -
• RFP2 - 1994– Externalization– Relationships– Concurrency– Transaction
Services- histórico -
• RFP3 - 1996– Security– Time
Services- histórico -
• RFP4 - 1995– Licensing– Properties– Query
Services- histórico -
• RFP5 - 1996– Trading– Collections– Start-up
Services- histórico -
• Em preparacao em 1997– Interface Versioning– Asynchronous Invocation (message)
Facilities- categorias -
• User Interface
• Information Management
• System Management
• Task Management
Facilities- User Interface -
• Compound presentation & interchange
• Printing
• Asian input
• Rendering management
Facilities- Information Management -
• Data interchange
• Meta-object
• Information storage & retrieval
• Internationalization & time operations
Facilities- System Management -
• Common management
• Configuration & change management
• Security administration
Facilities- Task Management -
• Mobile agents
• Workflow
• Automation & Scripting
Facilities
• Horizontais– Distributed Document Compound– OpenDoc Parts, Framework Objects– Common Management– Internationalization– Time– Data Interchange
Facilities
• Verticais– Business Object– Meta-object– Printing and Method
Facilities - histórico• Cf RFP1 Compound presentation and interchange - completa• Cf RFP2 Internationalization and time operations - início 3/95• Cf RFP3 Data interchange and mobile agents - início 11/95• Cf RFC1 Common management facility - início 1/96• Cf RFP4 Business objects - início 1/96• Cf RFP5 Meta-object facility - início 6/96• Cf RFP6 Printing facility - início 3/96• Cf RFP7 Asin input - início 6/96• Cf RFP8 Automation & scripting - início 9/96• Cf RFC2 Workflow - início 12/96• Cf RFP9 Rendering management - início 9/96• Cf RFP10 Information storage and retrieval - início 3/97• Cf RFP11 Configuration & change management - 5/97• Cf RFP12 Rule management - início 8/97• Cf/ORBOS RFP Security administration - início 1/98
Domains
• CORBA-financials• CORBA-med• Telecom• Manufacturing• Multimedia Conference• Business Objects• Internet• ...
Outras Abordagens
• Microsoft– COM, DCOM,– ActiveX, ASP
• SUN– Java,– JavaBeans, Enterprise JavaBeans– Jini