versão 1 - julho/2013 tecgraf puc-rio novembro de 2013 introdução ao openbus

29
versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus

Upload: renato-martim-palhares-quintao

Post on 07-Apr-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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