Versão 3 – fevereiro/2014 Tecgraf PUC-Rio Fevereiro de 2014 IDL.
Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.
-
Upload
osvaldo-igrejas-santana -
Category
Documents
-
view
216 -
download
1
Transcript of Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.
![Page 1: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/1.jpg)
Tecgraf PUC-Riomaio de 2011
Introdução ao Openbus
![Page 2: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/2.jpg)
Conteúdo
• O que é?• Motivação• Serviços básicos• Governança• SDKs• Tecnologias envolvidas
![Page 3: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/3.jpg)
O que é?
• Uma arquitetura aberta e orientada a serviços (SOA) para integrar dados e aplicações heterogêneas.
• Essas aplicações podem estar escritas em diferentes linguagens e ser específicas por plataforma (POSIX-compliant, Windows, MacOSX e outras).
![Page 4: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/4.jpg)
Serviçode
Diretório
Clientedo
ServiçoServiço
1. Serviço se registra no diretório
2. Cliente procura detalhesdo serviço no diretório
3. Cliente interage com o serviço
Arquitetura Orientada a Serviço (SOA)
![Page 5: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/5.jpg)
SOA
• O que é?– Padrão de referência para a implementação de
soluções de integração em que aplicações compartilham dados e funcionalidades sob a forma de serviços
• Principais características:– Baixo acoplamento entre provedores e consumidores
– Linguagem neutra para descrição dos serviços– Relação dinâmica entre consumidores e provedores
![Page 6: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/6.jpg)
Padrão CORBA
• Especificado pela OMG• Infraestrutura para o desenvolvimento de aplicações
distribuídas em ambientes heterogêneos• Tecnologia madura, comprovadamente estável e
eficiente• Independência de plataforma e linguagem de
programação• Especificação de interfaces de serviço em uma
linguagem neutra (IDL)• Transporte eficiente de diversos tipos de dados,
inclusive dados binários
![Page 7: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/7.jpg)
Proposta OpenBus
• Arquitetura SOA• Implementação CORBA• Serviços básicos• Controle de acesso• Registro de ofertas• Serviço de eventos
• Comunicação direta ponto a ponto• Padronização de APIs de serviços e dados
![Page 8: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/8.jpg)
Visão da Arquitetura
Serviço deRegistro
Serviço deAcesso
OpenBus
Sistema Consumidor de
ServiçosBDSISMICA BDGEOL
…
Serviço deSessão
…
Sistema Provedorde
ServiçosAplicação
BAplicação
A
![Page 9: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/9.jpg)
Serviço de Acesso
Cliente
Serviço de Acesso
• Ponto de entrada no barramento • sua localização (referência) é conhecida por todos
credencial• Emite uma credencial• possui uma validade• suporte a autorização
Autenticação com usuário / senha
• Autentica os componentes que querem fazer parte do barramento
LDAP
![Page 10: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/10.jpg)
Serviço de Acesso - Autenticação
• A autenticação no barramento pode ser feita por chave e senha ou por certificado digital
• Quando a conexão com o barramento é proveniente de um cliente de um sistema, normalmente se usa a autenticação por chave e senha
• Quando a conexão com o barramento é proveniente de um sistema servidor, normalmente se usa a autenticação por certificado digital
![Page 11: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/11.jpg)
Serviço de Acesso - Credenciais
• Estrutura básica– Identificador único– Nome da entidade proprietária.
• Lease– Indica por quanto tempo uma credencial é válida.– Deve ser renovada de tempos em tempos.
![Page 12: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/12.jpg)
Serviço de Registro
• Permite a oferta e a descoberta de serviços.• Sua referência é obtida através do Serviço de
acesso.• Oferta de serviço
– Identificação das interfaces do serviço– Lista de propriedades descritivas
![Page 13: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/13.jpg)
Serviço de Registro
Serviço de Acesso
Serviçoautenticado
Obtém referênciado serviço de registro
LDAP
Serviço de Registro
Autenticaçãocom certificado
credencial
Registrasua oferta
ofertas
Procura umaoferta de serviço
Clienteautenticado
Obtém referênciado serviço de registro
Acessao serviço
![Page 14: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/14.jpg)
SessãoCliente
ACliente
C
ClienteB
Serviço de Sessão
• Agrupa componentes que compartilham uma mesma credencial• mantém a validade da credencial junto ao serviço de
acesso,• oferece mecanismo simplificado de troca de mensagens
entre seus componentes.
![Page 15: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/15.jpg)
Criasessão
Serviço de Sessão
Serviço de Sessão
Obtém referênciado serviço de sessão
Serviço de Registro
ofertas
Obtém referênciado serviço de registro
credencial
Se adicionaà sessão
Clienteautenticado
Cliente
Serviço de Acesso
LDAP
![Page 16: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/16.jpg)
Governança
• O objetivo do mecanismos de governança é estabelecer um controle dos membros (usuários e aplicações) do barramento e de quais serviços esses membros podem prover.• Cadastro dos sistemas• Cadastro das implantações que acessam o barramento• Cadastro dos usuários que exportam serviços no
barramento• Cadastro das interfaces dos serviços exportados no
barramento• Cadastro das autorizações de oferta de serviços
![Page 17: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/17.jpg)
Governança
![Page 18: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/18.jpg)
Governança
$ run_management --login=admin --add-system=HelloWorld --description="Hello World”
$ run_management --login=admin --add-user=brunoos --name="Bruno Silvestre”
$ run_management --login=admin --add-deployment=HelloService --system=HelloWorld --description="Hello World implantado no setor A" --certificate=../certs/hello.crt
$ run_management --login=admin --add-interface=IDL:demo/hello:1.0
$ run_management --login=admin --add-interface=IDL:demo/hello:2.0
$ run_management --login=admin --set-authorization=HelloService --grant=IDL:demo/hello:1.0
$ run_management --login=admin --set-authorization=brunoos --grant=IDL:demo/hello:1.0
![Page 19: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/19.jpg)
Suporte ao Desenvolvimento
• Para desenvolver serviços ou utilizar serviços existentes, o OpenBus possui SDKs nas seguintes linguagens:• C++• C#• Java• Lua
• Nesse curso, veremos o uso do SDK Java para desenvolvimento de clientes e servidores integrados ao barramento OpenBus
![Page 20: Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.](https://reader036.fdocumentos.com/reader036/viewer/2022062522/570638621a28abb8239009bb/html5/thumbnails/20.jpg)
CORBA e SCS• O Openbus utiliza CORBA como middleware de
comunicação e distribuição das aplicações• As requisições entre os clientes e servidores trafegam
pelo ORB• Mecanismo de interceptação de CORBA é usado para
garantir a autenticação das requisições• Serviços são componentes SCS• Um serviço é um componente que exporta uma ou mais
facetas (interfaces)• As facetas dos componentes de serviços são definidas
usando IDLs