Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
Transcript of Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
![Page 1: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/1.jpg)
Tecgraf PUC-Rio
Setembro de 2013
Introdução ao Openbus
![Page 2: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/2.jpg)
Conteúdo
• O que é?• Motivação• Requisitos• Serviços básicos• Governança• SDKs• Tecnologias envolvidas
![Page 3: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/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 plataformas (POSIX-compliant, Windows, MacOSX e outras).
![Page 4: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/4.jpg)
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: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/5.jpg)
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: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/6.jpg)
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: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/7.jpg)
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: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/8.jpg)
Requisitos
• Flexibilidade• Desempenho• Apoio à integração
![Page 9: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/9.jpg)
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: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/10.jpg)
Requisitos - Desempenho
• Eficiência na transferência de grandes volumes de dados
• Escalabilidade para grandes volumes de mensagens
![Page 11: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/11.jpg)
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: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/12.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 13: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/13.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 14: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/14.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 15: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/15.jpg)
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: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/16.jpg)
Visão de uma Integração
![Page 17: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/17.jpg)
Visão de uma Integração
![Page 18: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/18.jpg)
Visão de uma Integração
![Page 19: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/19.jpg)
Visão de uma Integração
![Page 20: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/20.jpg)
Visão de uma Integração
![Page 21: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/21.jpg)
Visão da Arquitetura
![Page 22: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/22.jpg)
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: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/23.jpg)
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• 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: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/24.jpg)
Suporte ao Desenvolvimento
• Para desenvolver serviços ou clientes, o OpenBus fornece SDKs nas seguintes linguagens:• C++, C#, Java e Lua
• O SDK implementa o protocolo de acesso do OpenBus• Implementa também algumas otimizações e
facilitadores como caches e renovação de lease
• São fornecidas duas APIs, uma completa e outra guiada aos usos mais comuns (Assistente)
• Neste curso, veremos o uso do SDK Java para desenvolvimento de clientes e servidores integrados ao barramento OpenBus
![Page 25: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/25.jpg)
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: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/26.jpg)
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: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/27.jpg)
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: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/28.jpg)
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• Correção do problema de ofertas “zumbi”
![Page 29: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.](https://reader035.fdocumentos.tips/reader035/viewer/2022062512/552fc16d497959413d8ecf2c/html5/thumbnails/29.jpg)
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