corba alcides calsavara. sistemas distribuídos - objetivos - melhor relação custo/benefício...
TRANSCRIPT
![Page 1: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/1.jpg)
CORBAAlcides Calsavara
![Page 2: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/2.jpg)
Sistemas Distribuídos- objetivos -
Melhor relação custo/benefícioCapacidade de processamento além dos limites práticos de sistemas centralizados (velocidade da luz, aquecimento)Maior domínio de aplicaçõesMaior confiabilidade e disponibilidadeCrescimento gradativo da capacidade de processamento
![Page 3: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/3.jpg)
Sistemas Distribuídos- objetivos -
Compartilhamento de dados comuns entre usuáriosCompartilhamento de recursos de hardware e softwareComunicação entre pessoasFlexibilidade na distribuição de tarefas de acordo com as aplicações
![Page 4: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/4.jpg)
Sistemas Distribuídos- requisitos -
Controle de concorrênciaConsistênciaExtensibilidade (openness)Escalabilidade (crescimento gradativo suave)Tolerância a falhasTransparência
![Page 5: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/5.jpg)
Sistemas Distribuídos- transparência -
AcessoLocalizacãoConcorrênciaReplicaçãoFalhaMigraçãoDesempenhoEscalaParalelismo
![Page 6: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/6.jpg)
Sistemas Distribuídos- componentes básicos -
ComunicaçãoSistema de nomesManutenção de consistência Alocação de carga de trabalho
![Page 7: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/7.jpg)
Sistemas Distribuídos- comunicação -
modelo: cliente/servidor grupo
abstracão: processos e mensagens objetos e operações (RPC)
sincronismo: síncrona assíncrona
![Page 8: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/8.jpg)
8
Sistemas Distribuídos- consistência: transacões -
Atômica: para o mundo externo, a transação ocorre de forma indivisível.Consistente: a transação não viola invariantes de sistema.Isolada: transações concorrentes não interferem entre si (serializable).Durável: os efeitos de uma transação terminada com commit são permanentes.
![Page 9: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/9.jpg)
CORBA
Conceitos e Exemplos
![Page 10: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/10.jpg)
10
CORBA- contexto -
OMG: Object Management GroupOMA: Object Management Architecture (1992)ORB: Object Request Broker facilidade para envio e recebimento de
mensagens entre diferente objetos e componentes
CORBA: Common Object Request Broker Architecture arquitetura que permite interoperação entre os
participantes na OMA (objetos diversos) adotada por: HP, SunSoft, IBM, Xerox, Oracle, ...
![Page 11: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/11.jpg)
CORBA- ORB : produtos comerciais -
Orbix (Iona Technologies) VisiBroker (Borland) ChorusORB (Sun)Component Broker/DSOM (IBM)Voyager ORB (ObjectSpace)OrbAda (Top Graph'X)Nouveau (Roguewave) Netscape Internet Service Broker (Netscape)ObjectDirector (Fujitsu)DOME (Object Oriented Technologies)BEA WebLogic Server (BEA)
![Page 12: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/12.jpg)
CORBA- ORB : produtos acadêmicos/gratuitos -
ORBacus (Object-Oriented Concepts) ILU Freeware ORB (Xerox Parc)DIMMA (ANSA)JADE (APM)JavaIDL (JavaSoft) TAO ( Distributed Object Computing Group at Washington University )omniORB2 (AT&T Laboratories )MICO (University of Frankfurt)
![Page 13: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/13.jpg)
CORBA- referências básicas -
Orfali & Harkey & Edwards. The Essential Distributed Objects Survival Guide. 1995Mowbray & Zahavi. The Essential CORBA. 1995Mowbray & Ruh. Inside CORBA. 1997www.omg.org
OMA Guide CORBA Revision 2 CORBAservices CORBAfacilities
Distributed Object Computing Magazine, OMGhttp://mini.net/cetus
![Page 14: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/14.jpg)
CORBA - referências disponíveis na biblioteca da PUCPR
Advanced CORBA programming with C++ Client/ server programming with Java and CORBA - 2nd ed. CORBA : a guide to the common object request broker architecture CORBA fundamentals and programming Essential CORBA : systems integration using distributed objects, The Understanding CORBA : common object request broker architecture
![Page 15: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/15.jpg)
CORBA- objetivos -
construcão de sistemas distribuídos: criacão de novos componentes integracão de componentes existentes (legados)middleware: não inclui modelagem de aplicacões não inclui implementacão de aplicacões inclui mecanismos que auxiliam na
implementacão, a partir do modelo e do projeto
![Page 16: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/16.jpg)
CORBA- abordagem -
orientacão a objetosmodelo cliente/servidorcomunicação via RPCmecanismos disponíveis através de: servicos, facilidades e domíniosindependência de: hardware, SO, linguagem
![Page 17: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/17.jpg)
17
ORB
Cliente Implementaçãodo Objeto
ORB
Request
![Page 18: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/18.jpg)
18
Modelo de objetosClientes são entidades que requisitam serviços.Uma requisição inclui uma operação, o objeto destino, parâmetros da operação.Uma operação denota um serviço que pode ser requisitado.Um objeto é um encapsulamento de serviços que podem ser requisitados por clientes.Um valor é qualquer coisa que pode ser parâmetro em uma requisição; valores podem identificar um objeto.Uma referência a objeto é um nome que identifica um certo objeto de maneira consistente.
![Page 19: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/19.jpg)
19
OperaçõesA assinatura de uma operação define os valores que podem ser usados como parâmetros e resultados em sua requisição.Cada parâmetro tem um modo e um tipo.Os modos de parâmetro são: in, out, inoutO resultado de uma requisição pode ser uma exceção, denotando serviço anormal.Uma exceção é usada para passar informação para o originador da requisição.Semântica: at-most-once, oneway (best-effort, cliente não tem resultados)
![Page 20: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/20.jpg)
20
Arquitetura ORB
Cliente Implementaçãodo objeto
InvocaçãoDinâmica
StubsIDL
InterfaceORB
EsqueletoIDL
Adaptadordo Objeto
Núcleo ORB
![Page 21: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/21.jpg)
21
Componentes ORBInterface 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. 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.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.)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, ...)
![Page 22: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/22.jpg)
22
IDL: Interface Definition Language
DefiniçõesIDL
IDL stub
Repositóriode Interfaces
EsqueletoIDL
Implementação(em linguagem)
Repositório deImplementação
![Page 23: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/23.jpg)
IDL - exemplomodule Escola { interface Curso; // declarado, mas não definido interface Estudante {
attribute string nome;attribute unsigned long matricula;exception ClasseLotada;void registra (in Curso curso) raises (ClasseLotada);exception ReqIncompleto;void gradua ( ) raises (ReqIncompleto);typedef sequence<Curso> ListaCursos;ListaCursos cursos_registrados();
}}
![Page 24: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/24.jpg)
Exemplo – arquivo IDL// IDL - arquivo Hello.idl
interface Hello{
void trabalhe ( );};
![Page 25: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/25.jpg)
Exemplo – arquivos relacionados à IDL
compilação do arquivo IDL: idl Hello.idl
Arquivos gerados:Hello.hHello.cppHello_skel.hHello_skel.cpp
![Page 26: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/26.jpg)
Exemplo –implementação do objeto em Java
import org.omg.CORBA.*;public class Hello_impl extends _HelloImplBase{ public void trabalhe ( ) { System.out.println("Hello World!"); }}
![Page 27: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/27.jpg)
Exemplo – ativação do servidor (1)// Initialize the ORBORB orb =
ORB.init ( args, new java.util.Properties ( ) ) ;
// Initialize the Basic Object AdapterBOA boa =
orb.BOA_init ( args, new java.util.Properties ( ) ) ;
// Create the implementation objectHello_impl p = new Hello_impl ( ) ;
![Page 28: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/28.jpg)
Exemplo – ativação do servidor (2)
// Export a reference to this object to a file
// obtém uma referência para o objeto// em formato de stringString ref = orb.object_to_string ( p );
// abre um arquivo para escritaString refFile = "C:\Temp\Hello.ref";FileOutputStream file = new FileOutputStream(refFile);PrintStream out = new PrintStream(file);
// escreve a referência no arquivo em formato de stringout.println( ref );
![Page 29: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/29.jpg)
Exemplo – ativação do servidor (3)// Run the object implementation
boa.impl_is_ready ( null );
![Page 30: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/30.jpg)
Exemplo – cliente em Java (1)
// Initialize ORBORB orb =
ORB.init ( args, new java.util.Properties ( ) );
![Page 31: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/31.jpg)
Exemplo – cliente em Java (2)
// Get "hello" object reference from a file
// abre o arquivo para leituraString refFile = "C:\Temp\Hello.ref";FileInputStream file = new FileInputStream(refFile);DataInputStream in = new DataInputStream(file);
// lê a referência em formato de stringString ref = in.readLine();
![Page 32: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/32.jpg)
Exemplo – cliente em Java (3)
// Convert IOR String reference to object referenceorg.omg.CORBA.Object obj = orb.string_to_object(ref);
// Throw an exception in case of failureif (obj == null) throw new RuntimeException();
// Cast generic Corba.Object reference to// Hello interface referenceHello h = HelloHelper.narrow(obj);
// Finally, use the reference !h.trabalhe ( ); // remote method invocation
![Page 33: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/33.jpg)
CORBA
Services
![Page 34: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/34.jpg)
ORB e serviços CORBA
NamingService
EventService
SecurityService
PersistenceObjectService
TransactionService
ORB
Cliente ObjetoCliente Objeto
![Page 35: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/35.jpg)
Services- categorias -
Information managementTask managementSystem managementInfrastructure
![Page 36: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/36.jpg)
Services- information management -
propertyrelationshipqueryexternalizationpersistent objectcollection
![Page 37: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/37.jpg)
Services- task management -
eventsconcurrencytransaction
![Page 38: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/38.jpg)
Services- system management -
naminglifecyclelicensingtrader
![Page 39: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/39.jpg)
Services- infrastructure -
SecurityTime ServicesMessaging
![Page 40: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/40.jpg)
Property Servicepropriedades são atributos dinâmicos vinculados a objetos de aplicacãopropriedades são úteis para aplicacões de gerenciamento, como desktop managers, debugging tools, browsers,...exemplo: um desktop manager pode vincular propriedades de protecão e compartilhamento a objetosexemplo: uma ferramenta de debugging pode vincular informacão sobre a execucão (como breakpoints) a objetos de um programa
![Page 41: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/41.jpg)
Property Service - produtos
OpenFusion Property Service (PrismTech) Property Service with Java & C++ bindings. Property Service (Carsten Zerbst) Property Service implemented using Tcl and Mico.
![Page 42: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/42.jpg)
Relationship Servicepermite estabelecer ligacões entre objetosevita que objetos mantenham object references explicitamentecria objetos adicionais: Relationship Role
![Page 43: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/43.jpg)
Relationship Service - produtos
Enabled Systems Persistent Relationship Service (Enabled Systems) Relationship Service with Java & C++ bindings. OpenFusion Relationship Service (PrismTech) Relationship Service with Java & C++ bindings.
![Page 44: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/44.jpg)
Query Serviceusado com bancos de dados comerciaissuporta bancos relacionais e OOproposto por: IBM, Sybase, SunSoftcontempla: SQL92, SQL-3, OQLqueries são dinâmicasqueries podem ser resolvidas sincrona ou assincronamente
![Page 45: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/45.jpg)
Externalization Serviceconverte estruturas de dados em formato que pode ser armazenado externamente ao programa e transmitido via rederemove ponteirosparte do processo de marshallingútil também para migrar objetos (mas não inclui métodos)
![Page 46: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/46.jpg)
Persistent Object Servicecriado por fornecedores de bancos de dados relacionais e OOinclui 3 protocolos de persistência: ODMG 93 direct access protocol (usa DDL, um
subconjunto de IDL) dynamic data object protocol
![Page 47: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/47.jpg)
Persistent Object Service - produtos
Secant Extreme Persistent Object Service for C++ and Java (Secant) Persistent Object Service with Java & C++ bindings.
![Page 48: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/48.jpg)
Collection Servicegrupos de objetos listas sequenciais pilhas filas bags ...estende a funcionalidade de bibliotecas como a STL (Standard Template Library) para sistemas distribuídos
![Page 49: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/49.jpg)
Collection Service - produtos
OpenFusion Collection Service (PrismTech) Collection Service with Java & C++ bindings.
![Page 50: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/50.jpg)
Events Servicecanal de passagem de eventos entre produtores e consumidores de eventospode ser usado para comunicacão multicastum consumidor registra seu interesse em eventos com o servicoestilos de interacão: push pull
![Page 51: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/51.jpg)
Events Service - produtosNetEvents (Exemplar Development) Java implementation of the Event Service. OpenFusion Event Service (PrismTech) Event Service with Java & C++ bindings.
![Page 52: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/52.jpg)
Notification Service - produtos
DSTC Notification Service (DSTC) C++ implementation of the Notification Service. OpenFusion Notification Service (PrismTech) Notification Service with Java & C++ bindings. ORBacus Notify (OOC) C++ implementation of the Notification Service. Orbital Notification Service (NEC) C++ implementation of the Notification Service.
![Page 53: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/53.jpg)
Concurrency Servicegarante acesso atômico a objetos distribuídosportabilidade: uso de concorrência por múltiplos sistemas operacionais e linguagenstipos de lock: read, write upgrade (pode mudar para write) intention read, intention write (fine granularity)
![Page 54: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/54.jpg)
Concurrency Service - produtos
OpenFusion Concurrency Service (PrismTech) Concurrency Service with Java & C++ bindings.
![Page 55: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/55.jpg)
Transaction ServiceOTS: Object Transaction Servicepermite a manipulacão de estados de objetos distribuídos de forma consistentetrabalha 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 protocolsuporta transações flat e nestedbaixo suporte a tolerância a falhas (Orbix + Isis)não suporta transações de longa duração
![Page 56: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/56.jpg)
Transaction Service - produtos
CORBAplus Transaction Service (Expersoft) C++ implementation of the OTSJava Transaction Service (JTS) (JavaSoft) Java implementation of the OTSJTSArjuna (Arjuna Solutions) Java implementation of the Java Transaction Service OTSArjuna (Arjuna Solutions) C++ implementation of the OTSTPBroker (Hitachi) C++ implementation of OTS, and Java Implementation of OTS and JTS. VisiBroker ITS (Borland) Implementation of CORBA OTS and JTS
![Page 57: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/57.jpg)
Naming Servicepermite recuperar uma referência para um objeto dado um nome vinculado a esteoperacões básicas: bind unbind resolve
espaco de nomes organizado em hierarquia (nós intermediários são chamados de contexto)
![Page 58: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/58.jpg)
Naming Service - produtosDSTC Scalable Naming Service (DSTC) C++ implementation of the Naming Service ENames - CORBA Naming Service Browser [German] (Entrance Software) Java / Swing Naming Service Browser jNames (OutBack Resource Group) Java implementation of the Naming Service OpenFusion Naming Service (PrismTech) Naming Service with Java & C++ bindings ORBacus Names (OOC) Java implementation of the Naming Service TRC Naming Service (Technical Resource Connection) Java implementation of the Naming Service.
![Page 59: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/59.jpg)
Lifecycle Servicecriacão de objetos é responsabilidade das aplicacões: lista de parâmetros é imprevisívelpermite criar object factories, que criam, duplicam, movem e removem objetos de certos tipos pelo sistema distribuído (com transparência de localizacão)
![Page 60: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/60.jpg)
Lifecycle Service - produtos
OpenFusion Lifecycle Service (PrismTech) Lifecycle Service with Java & C++ bindings.
![Page 61: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/61.jpg)
Licensing Servicepermite protecão de propriedade intelectual através de gerenciamento de licensas de forma dinâmicainclui, por exemplo: trabalhos de arte em computador e aplicacões comerciais.estimativa: 70% de todo software em uso no mundo é pirata
![Page 62: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/62.jpg)
Licensing Service - produtos
SilkMeter (Segue Software) C++ and Java implementations of the Licensing Service.
![Page 63: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/63.jpg)
Trading Serviceuma espécie de páginas amarelas, onde fornecedores publicam seus servicos e interessados procuram por elesnem sempre se sabe o nome do objeto que pode prover o servicoum servico é caracterizado através de sua interface (influenciado por APM ANSA Trader)
![Page 64: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/64.jpg)
Trading Service - produtosDSTC Object Trader (DSTC) C++ implementation of the Trading Object Service. JTrader (Bruno Böttcher) Java Trading Service, implementing Manager - Factory pattern OpenFusion Trading Service (PrismTech) Trading Object Service with Java & C++ bindings. ORBacus Trader (OOC) Java implementation of the Trading Object Service. TOI (IKV) C++ implementation of the Trading Object Service. Trader (Washington University in St. Louis) C++ implementation of the Trading Object Service.
![Page 65: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/65.jpg)
Security Servicedeve ser suportado diretamente pelo ORBabrange: confidencialidade, integridade, contabilidade, disponibilidade e não-repudiacãofuncões básicas: controle de acesso, auditoria, autenticacão e políticas de implementacão
![Page 66: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/66.jpg)
Security Service - produtos
ORBAsec (Adiron) Java implementation of the Security Service (Level 1 and Level 2) SecureBroker (Promia) Java implementation of the Security Service (Level 1 and Level 2)
![Page 67: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/67.jpg)
Timing Servicesuporta recuperacão e sincronizacão de relógios (físicos) em sistemas distribuídossuporta sincronizacão através sinais de rádio gerados localmente ou por fontes do governo
![Page 68: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/68.jpg)
Timing Service - produtosOpenFusion Time Service (PrismTech) Time Service with Java & C++ bindings. Time Service (Carsten Zerbst) Time Service implemented using C++.
![Page 69: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/69.jpg)
Messaging Servicepermite processamento assíncrono através do ORBinterfaces IDL têm semântica síncrona, por defaultestende a utilidade de CORBA para cobrir a funcionalidade disponível em MOM (message-oriented middleware)não suporta garantia de entrega de mensagens
![Page 70: CORBA Alcides Calsavara. Sistemas Distribuídos - objetivos - Melhor relação custo/benefício Capacidade de processamento além dos limites práticos de sistemas](https://reader035.vdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f5d96/html5/thumbnails/70.jpg)
Messaging eTolerância a Falhas
The Ensemble Project (Cornell University) Piranha: A CORBA Tool For High Availability Q/CORBA (University of Colorado) TIB/ObjectBus 2.0 White Paper (TIBCO)