Sistemas Distribuídos

Documentos relacionados
Sistemas Distribuídos

Sistemas Operacionais II

Comunicação. capítulo

Sistemas Distribuídos: Conceitos e Projeto RPC e RMI

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1

Vamos fazer um pequeno experimento

Desenvolvimento de Aplicações Distribuídas

Comunicação. Carlos A. G. Ferraz 25/6/2003. Sistemas Distribuídos 1. Tópicos. Camadas. Transmissão de dados. Marshalling/Unmarshalling.

Principais conceitos de CORBA

Prof. Me. Sérgio Carlos Portari Júnior

Invocação Remota. Prof. Leonardo Barreto Campos. 1/29

INTRODUÇÃO. RPC x RMI

Análise comparativa entre as especificações de objetos distribuídos DCOM e CORBA

Sistemas Distribuídos

Tecnologias de Distribuição e Integração. Quais as preocupações a ter com um sistema distribuído?

Protocolo Request-Reply

Sistemas Distribuídos Aula 2

Programação Distribuída. Tipos de Sistemas Distribuídos

Redes de Computadores e Aplicações

Sistemas Distribuídos Aula 10

Comunicação entre Processos

Comunicação entre Processos

HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP

SISTEMAS DISTRIBUÍDOS

Introdução a Web Services

Sistemas Distribuídos

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior

Common Object Request Broker Architecture

Sistemas Operacionais II

Chamada Remota de Procedimento (RPC)

Objetos e Componentes Distribuídos: EJB e CORBA

Processos ca 3 pítulo

Plataformas de Distribuição de Objetos

Desenvolvimento de Aplicações Distribuídas

SISTEMAS DISTRIBUIDOS

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

Comunicação. Parte II

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I

Sistemas de Objetos Distribuídos

21108 Sistemas Distribuídos Teste Formativo

Visão do Usuário da DSM

Boletim Técnico. Interface TCP/IP. Introdução

Sistemas Distribuídos

Repositórios de Implementações e Binding. Chamada Remota de Métodos

O que é um sistema distribuído?

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

Sistemas Operacionais Distribuídos e de Redes

Arquitetura de sistemas distribuídos

Sockets - Conceitos Básicos. COMUNICAÇÃO ENTRE PROCESSOS Sockets. Conceitos Básicos. Tipos de Sockets

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Estilos Arquiteturais

Sistemas Especializados

Redes de Computadores. Prof. André Y. Kusumoto

TRANSPORTE. Prof. Me. Hélio Esperidião

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

Características de Sistemas Distribuídos

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 10. Operações nos processos. Processos cooperativos, comunicação entre processos.

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Sockets e Threads em Java

Sistemas Distribuídos

08/08/2016. Metodologia de trabalho Sistema de notas Trabalhos Artigos Celulares Presença Entrega de trabalhos Uso de laboratório

Sistemas Distribuídos

SPEEDMiddleware - MOM

Características de Sistemas Distribuídos

Sistemas Distribuídos

Padrões. Arquitetura de Software Thaís Batista

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

Fundamentos de Sistemas Operacionais

REDES DE COMPUTADORES

Máquina Y. O que parece acontecer. O que acontece na verdade. Cliente. chama Objeto CORBA. objref. envia requisição. Cliente. Servidor.

Comunicação Objetos Distribuídos e RMI

Comunicação de Dados II

Java Message Service (JMS)

ÍNDICE. Redes de Computadores - 1º Período de Cap 12 - Fls. 1


JINI. Rodrigo Campiolo João Bosco Mangueira Sobral. Disciplina: Computação Distribuída Curso: Sistemas de Informação

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Sistemas Distribuídos

STD29006 Sistemas Distribuídos

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado

Introdução à passagem de mensagens e sistemas distribuídos

INFO3M ARQ REDES. Prova 1 Bimestre. Obs: Questões RASURADAS são consideradas como ERRADAS GABARITO

Sérgio Koch Van-Dall

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

2. Introdução à Programação e Análise. Orientada a Objetos

SISTEMAS OPERACIONAIS DE REDE

Programação de Alto Desempenho - 2. Prof: Carla Osthoff

Programação Distribuída. Metas de um Sistema Distribuído

Camada de Aplicação da Arquitetura TCP/IP

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Adriano Reine Bueno Rafael Barros Silva

Capítulo 7. A camada de aplicação

UNIVERSIDADE. Sistemas Distribuídos

Transcrição:

Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009

Orientação a Objetos Encapsulamento: Parte interna (privada) dos objetos Implementação: métodos Estado: atributos, variáveis, constantes e tipos Parte externa (pública) dos objetos Interface: conjunto bem denido de métodos públicos que podem ser acessados externamente

Orientação a Objetos Herança: de interfaces e implementações Polimorsmo: a mesma interface pode ter várias implementações Interação entre objetos Troca de mensagens (chamadas de métodos) Mensagens podem ser locais ou remotas Mensagens locais: objetos no mesmo espaço de endereçamento Mensagens remotas: objetos em máquinas diferentes distribuídos!

Orientação a Objetos Referência do objeto à Ponteiro de memória O acesso ao estado do objeto é feito através dos métodos da interface (única parte visível do objeto) Implementação independente da interface Métodos são acessados por outros objetos

Interagem através da rede Colaboram para atingir um objetivo Fornecem serviços (métodos) uns aos outros Apenas a interface do objeto é visível Referência do objeto possui endereço de rede

Problemas Como compartilhar referências de objetos? Como gerenciar o ciclo de vida dos objetos? Como gerenciar o acesso concorrente aos objetos? Como trabalhar num ambiente heterogêneo? Máquinas podem ter arquiteturas diferentes Máquinas podem estar em redes diferentes Máquinas podem rodar S.O.'s diferentes Objetos podem ser implementados em linguagens diferentes

Problemas Comunicação não conável e não-determinista: depende da dinâmica do sistema e da rede Custo da comunicação: latência e largura de banda são fatores críticos em aplicações de tempo real, multimídia, etc. Comunicação insegura: sem controle de autorização e sem proteção das mensagens

Protocolos de Comunicação Estabelecem caminhos virtuais de comunicação entre duas máquinas Devem usar os mesmos protocolos para trocar informações

Protocolos de Comunicação Serviço sem Conexão: cada unidade de dados é enviada independentemente das demais Serviço com Conexão: dados são enviados através de um canal de comunicação

Protocolos de Comunicação Protocolos de alto nível são necessários para interação entre objetos distribuídos Escolha natural: usar TCP/IP Cria conexões entre processos para trocar mensagens Amplamente disponível, conável e robusto Relativamente simples e eciente Não mascara o uso da rede do programador

Protocolos de Comunicação entre Objetos Trata questões não resolvidas pelo TCP/IP Formato comum dos dados Localização de objetos Segurança Oferece ao programador abstrações próprias para aplicações orientadas a objetos Chamada Remota de Procedimento (RPC) ou Invocação Remota de Métodos (RMI) Noticação de Eventos

RPC - Chamada Remota de Procedimento Segue o modelo Cliente/Servidor Muito usado na interação entre objetos Objeto servidor possui interface com métodos que podem ser chamados remotamente Objetos clientes usam serviços de servidores

RPC - Características Em geral as requisições são ponto-a-ponto e síncronas Dados são tipados Parâmetros da requisição Retorno do procedimento/método Exceções Um objeto pode ser cliente e servidor em momentos diferentes

RPC - Sincronismo Chamada síncrona: cliente ca bloqueado aguardando o término da execução do método Chamadas semi-síncronas: sincronização é retardada; permitidas em alguns sistemas

RPC - Sincronismo Chamadas assíncronas: cliente continua a execução sem aguardar o retorno do método; permitidas em alguns sistemas

RPC - Funcionamento Chamada é feita pelo cliente como se o método fosse de um objeto local Comunicação é feita transparentemente por código gerado automaticamente pelo compilador (stub, proxy, skeleton,...) O código gerado faz a serialização e desserialização de dados usando um formato padrão, que compatibiliza o formato de dados usado por diferentes máquinas, linguagens e compiladores

RPC - Funcionamento do Cliente Acessa objeto local gerado automaticamente que implementa interface do servidor remoto

RPC - Funcionamento do Servidor O código gerado automaticamente recebe as chamadas pela rede e as executa

RPC - Implementação Descrição da interface do objeto remoto Especicada na própria linguagem de programação Especicada usando uma linguagem de descrição de interface (IDL) Implementações de RPC de diferentes fabricantes (Sun RPC, DCE RPC, Microsoft RPC, etc.) são geralmente incompatíveis

Noticação de Eventos Eventos ocorridos são difundidos por produtores e entregues a consumidores Canal de eventos permite o desacoplamento - produtor e consumidor não precisam se conhecer

Noticação de Eventos - Características Envio de eventos é completamente assíncrono Produtor não precisa aguardar m do envio Evento é armazenado no canal de eventos Comunicação pode ser feita através de UDP multicast ou fazendo múltiplos envios unicast com TCP, UDP ou com um suporte de RPC Os eventos podem ter tamanho xo ou variável, limitado ou ilimitado Eventos podem ser tipados ou não

Solução: criar Middleware para objetos distribuídos Localização transparente dos objetos Invocação de métodos local e remoto idêntica Criação de objeto local e remoto idêntica Migração de objetos transparente Facilidades para ligação (binding) de interfaces dinamicamente Diversos serviços de suporte: Nomes, Transação, Tempo, etc.