29
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus

Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus

Embed Size (px)

Citation preview

Page 1: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus

Tecgraf PUC-Rio

Setembro de 2013

Introdução ao Openbus

Page 2: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus

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

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

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

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

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

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

Requisitos

• Flexibilidade• Desempenho• Apoio à integração

Page 9: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus

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

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

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

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

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

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

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

Visão de uma Integração

Page 17: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus

Visão de uma Integração

Page 18: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus

Visão de uma Integração

Page 19: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus

Visão de uma Integração

Page 20: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus

Visão de uma Integração

Page 21: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus

Visão da Arquitetura

Page 22: Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus

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

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

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

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

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

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

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

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