![Page 1: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/1.jpg)
versão 1 - julho/2013
Tecgraf PUC-RioNovembro de 2013
Introdução ao OpenBus
![Page 2: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/2.jpg)
versão 1 - julho/2013
Conteúdo
• O que é?• Motivação• Requisitos• Serviços básicos• Governança• SDKs• Tecnologias envolvidas
![Page 3: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/3.jpg)
versão 1 - julho/2013
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 plataformas (POSIX-compliant, Windows, MacOSX e outras).
![Page 4: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/4.jpg)
versão 1 - julho/2013
Motivação
• Múltiplos sistemas permeiam diferentes fases dos fluxos de trabalho
• Dados volumosos e operações complexas• Inviabilidade de uso de um único sistema• Necessidade de troca de dados entre
sistemas• A seguir, exemplos de integrações
comuns
![Page 5: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/5.jpg)
versão 1 - julho/2013
Motivação – Integração de Sistemas
• Integração externa• Exemplo:
• Exportação de arquivos no sistema origem• Importação de arquivos no sistema destino• Reconstrução de atributos e/ou informações
perdidas no processo• Depende dos formatos reconhecidos pelos
sistemas envolvidos• Exige esforço manual a cada operação• Suscetível a erros na importação
![Page 6: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/6.jpg)
versão 1 - julho/2013
Motivação – Integração de Sistemas
• Integração direta• Uso de funcionalidades explícitas de
integração construídas nos sistemas• Melhor qualidade na integração e menor
suscetibilidade a erros• Exige codificações específicas em cada
sistema para integrar com os demais• Ordem quadrática de “pontes” para
comunicação
![Page 7: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/7.jpg)
versão 1 - julho/2013
Motivação – Integração de Sistemas
• Integração via serviços• Definição de padrões de dados e operações• Descoberta de serviços em tempo de
execução• Independência de linguagem e arquitetura• Também oferece a melhor qualidade e menor
suscetibilidade a erros• Não exige codificações específicas em cada
sistema para integrar com os demais• Apenas uma ponte de comunicação para cada
sistema integrado
![Page 8: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/8.jpg)
versão 1 - julho/2013
Requisitos
• Flexibilidade• Desempenho• Apoio à integração
![Page 9: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/9.jpg)
versão 1 - julho/2013
Requisitos - Flexibilidade
• Arquitetura aberta e extensível a diferentes domínios
• Compatibilidade com múltiplas linguagens
• Suporte a múltiplas plataformas• Suporte a extensibilidade independente
![Page 10: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/10.jpg)
versão 1 - julho/2013
Requisitos - Desempenho
• Eficiência na transferência de grandes volumes de dados
• Escalabilidade para grandes volumes de mensagens
![Page 11: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/11.jpg)
versão 1 - julho/2013
Requisitos - Integração
• Transferência de dados estruturados e adequados ao domínio
• Mecanismo de catálogo e busca por aplicações
• Suporte a mecanismos de autenticação e autorização
![Page 12: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/12.jpg)
versão 1 - julho/2013
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 13: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/13.jpg)
versão 1 - julho/2013
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 14: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/14.jpg)
versão 1 - julho/2013
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 15: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/15.jpg)
versão 1 - julho/2013
Proposta OpenBus
• Arquitetura SOA• Tecnologias CORBA e SCS• Serviços básicos• Controle de acesso (autenticação e
identificação)• Registro de ofertas (catálogo de serviços)
• Comunicação direta ponto a ponto• Padronização de serviços de dados e
colaboração (serviços adicionais)
![Page 16: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/16.jpg)
versão 1 - julho/2013
Visão de uma Integração
![Page 17: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/17.jpg)
versão 1 - julho/2013
Visão de uma Integração
![Page 18: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/18.jpg)
versão 1 - julho/2013
Visão de uma Integração
![Page 19: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/19.jpg)
versão 1 - julho/2013
Visão de uma Integração
![Page 20: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/20.jpg)
versão 1 - julho/2013
Visão de uma Integração
![Page 21: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/21.jpg)
versão 1 - julho/2013
Visão da Arquitetura
![Page 22: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/22.jpg)
versão 1 - julho/2013
Governança
• O objetivo do mecanismo 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 de Categorias• Cadastro de Entidades• Cadastro das interfaces dos serviços exportados no
barramento• Cadastro das autorizações de ofertas de serviços
![Page 23: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/23.jpg)
versão 1 - julho/2013
CORBA e SCS
• O OpenBus utiliza CORBA como middleware de comunicação e distribuição das aplicações• Mecanismo de interceptação de CORBA é usado
para garantir a autenticação e fornecer segurança nas requisições
• Serviços são componentes SCS• Representação única para as aplicações distribuídas que
participem do barramento, independente de linguagem• Um serviço é um componente que exporta uma ou mais
facetas (interfaces)• As facetas dos componentes são definidas usando IDLs
(linguagem neutra)• Componentes podem especificar seus requisitos de
integração através de receptáculos
![Page 24: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/24.jpg)
versão 1 - julho/2013
Suporte ao Desenvolvimento (SDK)
• Para desenvolver serviços ou clientes, o OpenBus fornece SDKs nas seguintes linguagens:• C++, C#, Java e Lua
• A biblioteca implementa o protocolo de acesso do OpenBus• Implementa também algumas otimizações
• O SDK fornece, além da biblioteca, um utilitário guiado a facilitar os usos mais comuns (Assistente)
• Neste curso, veremos o uso do SDK C# para desenvolvimento de clientes e servidores integrados ao barramento OpenBus
![Page 25: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/25.jpg)
versão 1 - julho/2013
Versionamento
• O OpenBus oferece suporte ao protocolo de sua versão atual e da imediatamente anterior• Atualmente versões 2.0.x.y e 1.5.w.z são
suportadas• Versionamento com quatro dígitos
(A.B.C.D)• A.B: major version (versão do protocolo)• C: minor version• D: patch version
![Page 26: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/26.jpg)
versão 1 - julho/2013
Versionamento
• Isso resulta em impacto zero na atualização do barramento para a próxima versão• Caso todos os clientes já estejam trabalhando
na versão atual• Integrações também não são afetadas
caso apenas uma de suas partes atualize para a nova versão• Ou seja, não é necessário que todas as partes
atualizem o SDK do OpenBus ao mesmo tempo
![Page 27: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/27.jpg)
versão 1 - julho/2013
Versionamento
• Caso haja diferenças no nível de segurança dos protocolos (como entre o 1.5 e o 2.0), a melhoria só será aproveitada quando todos evoluírem para a nova versão
![Page 28: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/28.jpg)
versão 1 - julho/2013
Melhorias da Versão 2.0
• Segurança:• Criptografia sobre dados secretos de autenticação• Delegação não baseada em confiança• Impedimento de personificação• Provimento de informações para realização de
auditorias• Governança e Administração:• Maior número de informações sobre ofertas• Capacidade de gerência sobre logins• Revisão do log do barramento
![Page 29: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus](https://reader036.vdocuments.pub/reader036/viewer/2022062522/570638631a28abb82390137d/html5/thumbnails/29.jpg)
versão 1 - julho/2013
Melhorias da Versão 2.0
• Revisão da API:• Remodelagem da Biblioteca de Acesso• Inclusão do Assistente• Possibilidade de multiplexação de conexões• Revisão e definição de conceitos