Sistemas Distribuídos



Documentos relacionados

SISTEMAS DISTRIBUIDOS

Desenvolvimento Cliente-Servidor 1

Adriano Reine Bueno Rafael Barros Silva

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

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Modelos de Arquiteturas. Prof. Andrêza Leite

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

Exemplos práticos do uso de RMI em sistemas distribuídos

Invocação de Métodos Remotos

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

FTP - Protocolo. O protocolo FTP é o serviço padrão da Internet para a transferência de arquivos entre computadores.

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

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

Introdução ao Modelos de Duas Camadas Cliente Servidor

SISTEMAS DISTRIBUÍDOS

Protocolos de Internet (família TCP/IP e WWW) Primeiro Técnico. Prof. Cesar

Sistemas Distribuídos: Conceitos e Projeto Java RMI

Comunicação em Sistemas Distribuídos

Sistemas Distribuídos

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

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

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

FIREWALL. Prof. Fabio de Jesus Souza. Professor Fabio Souza

Aula 03-04: Modelos de Sistemas Distribuídos

Capítulo 7 CAMADA DE TRANSPORTE

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

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

Sistemas Distribuídos

ESTUDO DE CASO WINDOWS VISTA

FTP Protocolo de Transferência de Arquivos

Web Services. (Introdução)

UNIVERSIDADE. Sistemas Distribuídos

INE Sistemas Distribuídos

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Componentes para Computação Distribuída

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

DHCP - ESAF. 1- Prova: ESAF SET- RN - Auditor Fiscal do Tesouro Estadual - Prova 2

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Sistemas Distribuídos Arquiteturas Middlewares

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

Sistemas Distribuídos. Introdução

Arquiteturas de Sistemas Distribuídos

Redes. Pablo Rodriguez de Almeida Gross

Paradigma Cliente/Servidor

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

Protocolos de Aplicação SSL, TLS, HTTPS, SHTTP

CA Nimsoft Monitor Snap

Comunicação usando soquetes.

Sistemas Distribuídos

AULA Redes de Computadores e a Internet

Arquitetura de Sistemas Operativos

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

CAPÍTULO 3 MIDDLEWARE. Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução.

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

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

RMI: Uma Visão Conceitual

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

SISTEMAS OPERACIONAIS


Componentes de um sistema de firewall - II. Segurança de redes

Arquitetura dos Sistemas de Informação Distribuídos

Projeto Tor UFRJ Redes I Alunos: Jhonatas Alfradique, Hugo Klin, Guilherme Almeida

Redes de Computadores

Revisão. Karine Peralta

Padrões Arquiteturais. Sistemas Distribuídos: Broker

Camada de Transporte, protocolos TCP e UDP


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

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

UFG - Instituto de Informática

GERENCIADOR DE CORREIO ELETRÔNICO (V. 2 26/04/2010)

OURO MODERNO Web Designer APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

Servidor, Proxy e Firewall. Professor Victor Sotero

Prof. Marcelo Cunha Parte 5

Camadas da Arquitetura TCP/IP

Programação TCP/IP. Protocolos TCP e UDP

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

Curso de Aprendizado Industrial Desenvolvedor WEB

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de Página

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

SISTEMAS OPERACIONAIS


Rede de Computadores II

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Transcrição:

Sistemas Distribuídos

Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos de clientes ouvindo a uma porta específica. Assim que um pedido é recebido, o servidor aceita uma conexão do soquete cliente para completar a conexão.

Soquetes Os servidores que implementam serviços específicos (como telnet, ftp, mail e http) ouvem portas bem conhecidas. Quando um thread cliente inicia um pedido de conexão, ele recebe uma porta atribuída pelo host. Essa porta tem um número arbitrário > 1024.

Soquetes Por exemplo, se um cliente no host X com endereço IP 146.86.5.20 desejar estabelecer uma conexão com um servidor Web (que está ouvindo a porta 80) no endereço 161.25.19.8, o host X poderá receber a porta 1625. A conexão consistirá então em um par de soquetes: (146.86.5.20:1625) no host X e (161.25.19.8:80) no servidor Web.

Soquetes Todas as conexões devem ser exclusivas. Portanto, se outro processo também no host X desejasse estabelecer outra conexão com o mesmo servidor Web, a ele seria atribuído um número de porta > 1024 e 1625. Isso garante que todas as conexões consistem em um único par de soquetes.

Servidores e threads Em geral, os servidores podem ter vários pedidos concorrentes. A quantidade de tempo que um cliente pode ter de esperar para ser atendido por um servidor de mono-thread pode ser inaceitável. Para resolver essa situação, um servidor pode lidar com pedidos concorrentes atribuindo um thread separado para atender cada pedido que chega.

A comunicação usando soquetes - embora comum e eficiente - é considerada uma forma de comunicação de baixo nível entre processos ou threads distribuídos. Um dos motivos é que os soquetes só permitem a troca de um fluxo não-estruturado de bytes entre os threads em comunicação. É responsabilidade da aplicação cliente ou servidor impor uma estrutura aos dados.

Chamadas de procedimento remoto Um sistema RPC (Remote Procedure Call) permite que um thread chame um procedimento ou função em outro processo. Esse outro processo pode estar em um espaço de endereçamento separado no mesmo computador ou pode estar executando em um computador distinto que é conectado por uma rede. A semântica de RPCs permite ao thread solicitante ativar o procedimento remoto exatamente como faria com um procedimento local.

Chamadas de procedimento remoto A vantagem das RPCs em relação aos soquetes é que o sistema RPC gerencia o canal de comunicação, por isso os programas aplicativos podem ser escritos de modo que a localização de um procedimento, quer local ou remoto, seja transparente.

Invocação de método remoto A RMI (Remote Method Invocation) permite que um thread invoque um método em um objeto remoto. Os objetos são considerados remotos se residirem em uma máquina virtual Java (JVM -Java Virtual Machine) distinta. Portanto, o objeto pode estar em uma JVM diferente no mesmo computador ou em um host remoto conectado por uma rede.

Existem duas diferenças fundamentais entre RMI e RPCs. Em primeiro lugar, as RPCs suportam apenas programação procedural, na qual somente procedimentos ou funções remotos podem ser chamados. A RMI baseia-se em objetos: suporta a invocação de métodos em objetos remotos.

Em segundo lugar, os parâmetros dos procedimentos remotos na RPC são estruturas de dados comuns; com a RMI é possível passar objetos como parâmetros para os métodos remotos. Permitindo que um programa Java invoque métodos em objetos remotos, a RMI torna possível aos usuários desenvolver aplicações Java que sejam distribuídas por toda a rede.

CORBA RMI é uma tecnologia que permite que os threads invoquem métodos em objetos distribuídos. Entretanto, RMI é uma tecnologia Java nativa e por isso requer que todas as aplicações distribuídas sejam escritas em Java.

CORBA Muitos sistemas existentes que talvez também queiramos que sejam distribuídos são escritos em C, C++, COBOL ou Ada. Nenhum protocolo de comunicação discutido até agora fornece um mecanismo conveniente para essas aplicações diferentes se comunicarem.

CORBA Common Object Request Broker Architecture (CORBA) é um middleware - uma camada de software intermediária - que permite a comunicação entre aplicações cliente e servidor heterogêneas. Por exemplo, um programa C++ pode usar CORBA para acessar um serviço de banco de dados escrito em COBOL.