Padrões Arquiteturais. Sistemas Distribuídos: Broker



Documentos relacionados
Padrões Arquiteturais e de Integração - Parte 1

Figura 01 Kernel de um Sistema Operacional

3 SCS: Sistema de Componentes de Software

UFG - Instituto de Informática

Sistemas Distribuídos. Introdução

Introdução ao Modelos de Duas Camadas Cliente Servidor

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA

Paradigma Cliente/Servidor

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

SISTEMAS DISTRIBUIDOS

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos

Estilos Arquiteturais. Estilos Arquiteturais. Exemplos de Estilos Arquiteturais. Estilo: Pipe e Filtros

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Sistemas Distribuídos Arquiteturas Middlewares

Adriano Reine Bueno Rafael Barros Silva

Serviços Web: Introdução

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Considerações no Projeto de Sistemas Cliente/Servidor

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

Sistemas distribuídos:comunicação

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos

INE Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

3. Comunicação em Sistemas Distribuídos


UNIVERSIDADE. Sistemas Distribuídos

Web Services. (Introdução)

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Padrões de Projeto Implementados em Infraestrturas de Componentes

CORBA Common Object Request Broker Architecture. Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos

3 Arquitetura do Sistema

SISTEMAS OPERACIONAIS


Sistemas Distribuídos

Comunicação em Sistemas Distribuídos

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Distributed Systems Principles and Paradigms

Comunicação. Parte II

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Tópicos em Sistemas Distribuídos. Modelos de Comunicação

SISTEMAS DISTRIBUÍDOS

UNIVERSIDADE. Sistemas Distribuídos

JXTA. Alessandro Vasconcelos Ferreira de Lima.

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Arquitetura de Computadores II

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida

Aspectos técnicos do desenvolvimento baseado em componentes

SISTEMAS DISTRIBUÍDOS

Sistemas Operacionais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

ESTUDO DE CASO WINDOWS VISTA

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Profs. Deja e Andrei

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Sistemas Distribuídos

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC

Sistemas Cliente-Servidor

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Modelos de Arquiteturas. Prof. Andrêza Leite

Sistemas Operacionais

Sistemas Distribuídos RPC

SISTEMAS OPERACIONAIS 2007

Sistemas Distribuídos

Desenvolvimento Cliente-Servidor 1

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -ARQUITETURAS DE APLICAÇÃO MÓVEL. Prof. Angelo Augusto Frozza, M.Sc.

Capítulo 7 CAMADA DE TRANSPORTE

Arquitetura dos Sistemas de Informação Distribuídos

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

ARQUITETURA DE SISTEMAS. Cleviton Monteiro

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve

3 Serviços na Web (Web services)

Nomes e Endereçamento. Nomes e Endereçamento. Paradigmas em Sistemas Distribuídos. Paradigmas em Sistemas Distribuídos

Revisão. Karine Peralta

Fundamentos de Banco de Dados

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes.

Programação Cliente em Sistemas Web

SISTEMAS OPERACIONAIS

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Service Oriented Architecture SOA

4 Estrutura do Sistema Operacional Kernel

Transcrição:

Padrões Arquiteturais Sistemas Distribuídos: Broker

Sistemas Distribuídos Tendências: Sistemas Comp. com múltiplas CPUs Redes locais com centenas de hospedeiros Benefícios Economia Desempenho e escalabilidade Distribuição intrínseca Confiabilidade Desvantagem: hw e sw overhead 2 Livro Texto: Pattern Oriented Software

Padrões em S.D. Pipes e Filtros Embora possa ser usado na distribuição é mais freqüentemente empregado na estruturação do núcleo da aplicação Microkernel Aplica-se a sistemas de software que deve ser aptos a se adaptarem a mudanças nos requisitos do sistema Emprega a arquitetura Cliente-Servidor Mais adequado a sistemas adaptáveis Broker 3 Livro Texto: Pattern Oriented Software

Broker Permite estruturar aplicações distribuídas através de componentes desacoplados, que interagem via invocações remotas Coordena toda a comunicação Encaminhamento de requisições Resultados Exceções 4 Livro Texto: Pattern Oriented Software

Exemplo 5 Livro Texto: Pattern Oriented Software

Contexto Ambiente distribuído Possivelmente heterogêneo Com componentes cooperantes independentes 6 Livro Texto: Pattern Oriented Software

Problema Construir um sistema de software complexo como um conjunto de componentes desacoplados e interoperantes Grande flexibilidade, manutenabilidade, alterabilidade Potencialmente distribuíveis e escaláveis Entretanto... 1. Problemas com a forma de comunicação (dependência do mecanismo de IPC, localização, linguagem de programação etc) 2. Problemas com a gerência dos serviços 7 Livro Texto: Pattern Oriented Software

Problema A distribuição deve ser transparente Componentes deve ser aptos a acessar serviços providos por terceiros através de invocações remotas com transparência de localização Pode-se precisar trocar, adicionar ou remover componentes em tempo de execução A arquitetura deve esconder detalhes específicos do sistema e da implementação do usuário 8 Livro Texto: Pattern Oriented Software

Solução Introduzir um componente broker para obter melhor desacoplamento entre clientes e servidores. Servidores se registram no broker e exportam seus serviços via interface dos métodos Clientes acessam os serviços via broker Broker localiza servidor apropriado, encaminha requisições e transmite os resultados e exceções de volta ao cliente Broker provê a integração de duas tecnologias: a de distribuição e a de objetos 9 Livro Texto: Pattern Oriented Software

Estrutura 1. Servidor Implementa objetos que expõem suas funcionalidades via interfaces Interfaces podem ser disponibilizadas através de IDL ou de um padrão binário 2. Clientes Aplicações que acessam o serviço de pelo menos um servidor Para tanto, encaminham requisições ao broker e recebem dele as respostas ou exceções 10 Livro Texto: Pattern Oriented Software

Estrutura 3. Broker Mensageiro responsável pela transmissão das requisições, respostas e exceções Deve prover algum mecanismo de localização (identificador) Oferece APIs aos clientes e servidores (registro, invocação de métodos etc) Pode prover serviços adicionais (serviço de nomes, suporte a serialização/marshaling etc) 11 Livro Texto: Pattern Oriented Software

Estrutura 4. Proxy do lado do Cliente Camada adicional entre cliente e broker Provê transparência (objeto remoto aparece como se fosse local). Esconde: O mecanismo de IPC entre cliente e broker A criação/remoção de blocos de memória O marshaling de parâmetros e resultdos 5. Proxy do lado do Servidor Análogo ao anterior (recebem requisições, desempacotam as mensagens, de-serializam os parâmetros, chamam os serviços apropriados e retornam resultados/exceções serializados ao cliente 12 Livro Texto: Pattern Oriented Software

Estrutura 6. Pontes Componentes opcionais Escondem detalhes de implementação quando dois brokers interoperam em redes heterogêneas (diferentes redes, S.O.s etc) 13 Livro Texto: Pattern Oriented Software

Estrutura 14 Livro Texto: Pattern Oriented Software

Dinâmica Cenário 1 Servidor se registra 15 Livro Texto: Pattern Oriented Software

Cenário 2 - Cliente envia requisição a servidor local (síncrona) 16 Livro Texto: Pattern Oriented Software

Cenário 3 Interação de diferentes brokers via pontes 17 Livro Texto: Pattern Oriented Software

Implementação 1. Definir um modelo de objetos ou usar um modelo existente (nomes, objetos, requisições, valores, exceções, tipos suportados, extensões de tipos, interfaces e operações) 2. Decidir qual tipo de interoperabilidade de componentes o sistema deve oferecer (especificar um padrão binário ou introduzir uma IDL de alto nível) Vantagem/desvantagem 3. Especificar as APIs que o broker provê para colaborar com clientes e servidores Decidir também se invocações estáticas ou dinâmicas 18 Livro Texto: Pattern Oriented Software

Implementação 4. Usar objetos proxy para esconder detalhes de implementação dos clientes e servidores 5. Projetar o broker (como ele deve agir): Protocolo on-the-wire detalhado Broker local em toda máquina Mecanismo de identificação do cliente para retorno de resultados Mecanismo de (un)marshaling de parâmetros 19 Livro Texto: Pattern Oriented Software

Implementação Prover buffers (se suportar comunicação assíncrona) Prover Diretório de Serviços Serviço de Nomes Informação de tipos dos servidores (se suportar invocação de métodos dinâmica) Planejar ação (semântica de erro) do broker em caso de erros (de componentes e/ou da comunicação) 6. Desenvolver compiladores de IDL 20 Livro Texto: Pattern Oriented Software

Usos conhecidos CORBA IBM SOM/DSOM Microsoft OLE 2.x WWW 21 Livro Texto: Pattern Oriented Software

Benefícios Transparência de localização Mudança e extensão de componentes Portabilidade de um sistema de Broker Interoperabilidade entre diferentes sistemas de Broker Reusabilidade 22 Livro Texto: Pattern Oriented Software

Desvantagens Eficiência limitada Baixa tolerância a falta (do broker) Teste e Debug - apresentam vantagem e desvantagem ao mesmo tempo: Ex. vantagem: desenvolver cliente com servidor já testado Ex. desvantagem: testar um sistema de broker inteiro... 23 Livro Texto: Pattern Oriented Software