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



Documentos relacionados
Sistemas Distribuídos


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

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Sistemas Distribuídos

Sistemas Distribuídos

SISTEMAS DISTRIBUIDOS

Adriano Reine Bueno Rafael Barros Silva

INE Sistemas Distribuídos

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

UNIVERSIDADE. Sistemas Distribuídos

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

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

Desenvolvimento Cliente-Servidor 1

Sistemas Distribuídos. Coulouris Capítulo 4

Componentes para Computação Distribuída

Arquitetura de Sistemas Operativos

Sistemas Distribuídos Arquiteturas Middlewares

Service Oriented Architecture SOA

Web Services. (Introdução)

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

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

Comunicação em Sistemas Distribuídos

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

UFG - Instituto de Informática

Sistemas Distribuídos

RMI: Uma Visão Conceitual

Programação de Sistemas

Programação de Sistemas

Aula 2 Arquitetura de Redes. Prof. Dr. S. Motoyama

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

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

Invocação de Métodos Remotos

Modelos de Arquiteturas. Prof. Andrêza Leite

Capítulo 8 - Aplicações em Redes

UNIVERSIDADE. Sistemas Distribuídos

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Sistemas Distribuídos

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

Comunicação. Parte II

Padrões Arquiteturais. Sistemas Distribuídos: Broker

Considerações no Projeto de Sistemas Cliente/Servidor

Aula 03-04: Modelos de Sistemas Distribuídos

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

UFG - Instituto de Informática

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha

Prof. Marcelo Cunha Parte 5

Trabalho de Sistemas Distribuídos

MÓDULO 8 Modelo de Referência TCP/IP

AULA 01 INTRODUÇÃO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação

CST em Redes de Computadores

Sistemas Distribuídos

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

Serviços Web: Introdução

Invocação de Métodos Remotos RMI (Remote Method Invocation)

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia Redes e Comunicações

Silvana Lopes Profª de Informática ETEC São Paulo

AULA Redes de Computadores e a Internet

Sistemas Operacionais 2014 Sistemas Distribuídos. Alexandre Augusto Giron

Redes de Computadores

Introdução à Redes de Computadores

Sistemas Distribuídos

Programação com sockets (em Java)

2 Trabalhos Relacionados

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Middleware de Aplicações Paralelas/Distribuídas

Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA

Sistemas de Objetos Distribuídos

Serviços Web: Arquitetura

Redes de Computadores Aula 3

Usando Borland DELPHI para implementar aplicações CORBA

Redes de Computadores e a Internet

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25

Arquitetura de Redes. Prof. Dr. S. Motoyama

Protótipo de Software de Gerência SNMP Para o Ambiente Windows NT

TECNOLOGIA WEB INTERNET PROTOCOLOS

1 a. Sumário. 1. Conceitos Básicos a. Invocação remota (RPC/RMI) b. Semântica de invocação remota c. Invocação remota de métodos (RMI)

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

Middleware. Camada Intermediária de Suporte a Sistemas Distribuídos

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

Comunicando através da rede

PROTÓTIPO TIPO DE UM SOFTWARE AGENTE SNMP PARA REDE WINDOWS

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

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

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

Revisão. Karine Peralta

COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC. Prof. Cesar Augusto Tacla

Object Brokers. Tecnologias de Middleware 2004/2005 André Santos

Rede de Computadores

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUIDOS Ano Lectivo 2015/2016

Transcrição:

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

Conceitos de comunicação entre processos Interprocess Communication (IPC) Sistemas distribuídos são construídos tendo como base processos autônomos que precisam trocar dados entre si através da rede. Em um mesmo computador, dois processos podem se comunicar através de: Pipes Interrupções e sinais Filas de Mensagem Semáforos Memória Compartilhada Sockets

Principais tecnologias utilizadas em sistemas distribuídos Socket RPC (Remote Procedure Call) CORBA (Common Object Request Broker Architecture) RMI (Remote Method Invocation) DCOM (Distributed Component Object Model) MOM (Message Oriented Middleware)

Sockets em Redes IP Em redes IP, um socket pode ser criado utilizando- se os protocolos UDP ou TCP. O cliente socket precisa conhecer o endereço IP, a porta e o protocolo do servidor socket.

Sockets em Redes IP IPC com socket UDP Não garante a ordem das mensagens enviadas É possível perda de mensagens Extremamente leve Exemplos: ICQ (conexão entre clientes e servidor pela porta 4000), jogos em rede como Quake ou Counter Strike IPC com socket TCP Comunicação confiável com ordenação garantida Exemplos: ICQ (conexão entre clientes), HTTP (porta 80), FTP (porta 21) Internet SMTP FTP TELNET HTTP UDP, TCP IP LAN, MAN, WAN

Chamada de procedimento remoto - Remote Procedure Call - RPC Tecnologia desenvolvida pela Sun Microsystems para suportar a comunicação cliente-servidor utilizada no software Network File System (NFS). Permite a execução de funções remotas como se fossem funções locais.

Chamada de procedimento remoto - Remote Procedure Call - RPC Os programas servidores RPC devem se registrar no serviço de mapeamento de portas (Portmapper). O serviço de mapeamento de portas (Portmapper) é responsável por informar aos clientes o número das portas utilizadas pelos servidores.

Chamada de procedimento remoto - Remote Procedure Call - RPC 2. Envia nome Cliente Stub 3. Recebe porta Portmapper 1. Se registra, passando nome e porta 4. Requisição/Resposta Servidor O stub, programa gerado pelo compilador RPC, é responsável pela comunicação de baixo nível entre cliente, servidor e portmapper. Os programas cliente e servidor podem ser escritos em diferentes linguagens de programação e executar em diferentes plataformas de hardware e software

Tecnologias utilizadas em sistemas distribuídos Com o intensificação da programação orientada a objetos, novas tecnologias foram criadas para suportar a comunicação entre objetos distribuídos, tais como CORBA, DCOM e RMI.

Common Object Request Broker Architecture - CORBA CORBA é uma tecnologia de objetos distribuídos baseada em um Object Request Broker (ORB). ORB é o software que gerencia toda a comunicação entre clientes e objetos.

Common Object Request Broker Architecture - CORBA Cliente Stub Objeto Skel Objeto Skel ORB ORB IIOP A especificação da tecnologia CORBA é mantida pelo Object Management Group (OMG), consórcio formado por diversas organizações de tecnologia da informação.

Common Object Request Broker Architecture - CORBA Os processos cliente, ORB e objeto podem ser escritos em diferentes linguagens de programação e executar em diferentes plataformas de hardware e software.

Common Object Request Broker Architecture - CORBA Existem diversos servidores de aplicação baseados na tecnologia CORBA: Borland Visibroker, BEA Tuxedo, etc...

Distributed Component Object Model - DCOM Component Object Model (COM) é uma tecnologia da Microsoft para o desenvolvimento de objetos reutilizáveis. Distributed COM (DCOM) é uma extensão desta tecnologia que permite a interação entre objetos distribuídos. Cliente In-process Object RPC Local Object Remote Object RPC

Distributed Component Object Model - DCOM O cliente pode acessar um objeto DCOM de três formas: In-process Object: no mesmo processo Local Object Proxy: no mesmo computador Remote Object Proxy: em outro computador

Distributed Component Object Model - DCOM DCOM utiliza RPC para estabelecer a comunicação entre clientes e objetos. Os programas cliente e objeto podem ser escritos em diferentes linguagens de programação para a plataforma Windows (C++, MS Visual Basic, Borland Delphi, etc...). Existem os seguintes servidores de aplicação baseados na tecnologia DCOM: No Windows NT: Microsoft Transaction Server (MTS) No Windows 2000 e superior: COM+

Remote Method Invocation RMI RMI é uma tecnologia desenvolvida pela Sun Microsystems para suportar a implementação de objetos distribuídos em Java. 2. Envia nome (porta 1099) RMI Registry Cliente 3. Recebe Stub Stub 4. Invoca Objeto Stub 1. Se registra, passando nome e Stub

Remote Method Invocation RMI O RMI Registry é responsável por manter os stubs dos objetos nele registrados e enviá-los para os clientes quando requisitado. O stub, programa gerado pelo compilador RMI, é responsável pela comunicação de baixo nível entre cliente e objeto remoto. Os programas cliente e objeto devem ser escritos na linguagem Java, podendo executar em diferentes plataformas de hardware e software. RMI é a base da tecnologia de objetos distribuídos Enterprise Java Beans (EJB), utilizada em servidores Java EE (Ex.: JBoss, IBM WebSphere, BEA WebLogic, etc...).

Message Oriented Middleware MOM MOM é um software que permitem a comunicação assíncrona entre processos cliente e servidor. Exemplos: MS Message Queue IBM WebSphere MQ JBoss MQ 1. Coloca mensagem na fila Cliente 4. Obtém resultado na fila Servidor 2. Obtém mensagem na fila e processa MOM - Message Broker

Tecnologias X Tipos de servidores de aplicação Servidor de Mensagens Servidor TP Monitor Socket X X RPC CORBA DCOM RMI/EJB X Servidor de Objetos Distribuídos X (Tecno. de apoio) X (Tecno. de apoio) X (Tecno. de apoio) X X