130 likes | 239 Views
Universidade do Vale do Rio dos Sinos UniInfo 2003. Introdução à Programação Distribuída em Java (módulo 1). por Jorge Luis Victória Barbosa. barbosa@exatas.unisinos.br. São Leopoldo, novembro de 2003. Sockets. Arquiteturas Distribuídas. 1. Módulo 1. Sockets.
E N D
Universidade do Vale do Rio dos Sinos UniInfo 2003 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa barbosa@exatas.unisinos.br São Leopoldo, novembro de 2003
Sockets Arquiteturas Distribuídas 1 Módulo 1
Sockets Arquiteturas Distribuídas Conceito de sockets 1 2 Módulo 1
Conceito de Sockets • Modelo Cliente / Servidor • Uma máquina deve executar um programa que aguarda uma conexão e provê um serviço (servidor); • Outra máquina, o cliente, envia requisições para o servidor e recebe as respostas; • Exemplo: FTP, WWW, Mail, etc. • Endereçamento da Conexão • Para fazer uma conexão via rede é necessário saber o endereço da máquina remota (IP ou nome da máquina); • Cada conexão via rede necessita de um número de porta. • Número da porta • São números de 16bits (0-65535) • Portas abaixo de 1024 são reservadas para serviços pré-definidos e não devem ser utilizadas, a não ser para comunicar com um destes serviços • Exemplos de portas: FTP - 21, WEB - 80, MAIL - 25, etc • Clientes e servidores devem utilizar a mesma porta para a comunicação Módulo 1
Sockets Arquiteturas Distribuídas Conceito de sockets Sockets em Java 1 2 3 • Sockets em JAVA • classes no pacote java.net • Possibilita implementar os protocolos TCP/IP (orientado • à conexão) ou UDP (sem conexão) Módulo 1
Sockets em Java Servidor Cliente ServerSocket (núm. da porta) ServerSocket.accept () Socket() OutputStream InputStream Socket.close() Socket (host, núm. da porta) (tentativa de conexão) OutputStream InputStream Socket.close() Módulo 1
RMI (Remote Method Invocation) História: RPC (Remote Procedure Call) 1 Módulo 1
RMI (Remote Method Invocation) História: RPC (Remote Procedure Call) Conceito de RMI (RPC evoluiu para RMI) 1 2 Módulo 1
RMI (Remote Method Invocation) História: RPC (Remote Procedure Call) Conceito de RMI (RPC evoluiu para RMI) RMI em Java 1 2 3 Módulo 1
JVM JVM RMI (Remote Method Invocation) História: RPC (Remote Procedure Call) Conceito de RMI (RPC evoluiu para RMI) RMI em Java 1 2 3 Objeto Remoto Objeto 1 Objeto 2 Módulo 1
JVM JVM RMI (Remote Method Invocation) História: RPC (Remote Procedure Call) Conceito de RMI (RPC evoluiu para RMI) RMI em Java 1 2 3 Objeto Remoto Objeto 1 Objeto 2 RMI Módulo 1
RMI (Remote Method Invocation) História: RPC (Remote Procedure Call) Conceito de RMI (RPC evoluiu para RMI) RMI em Java 1 2 3 Exemplo Produtor - Consumidor MessageQueueImpl Buffer Módulo 1
RMI (Remote Method Invocation) História: RPC (Remote Procedure Call) Conceito de RMI (RPC evoluiu para RMI) RMI em Java 1 2 3 Exemplo Produtor - Consumidor Producer MessageQueueImpl Buffer Consumer Módulo 1