1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa...
Transcript of 1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa...
![Page 1: 1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos UniInfo 2003 São Leopoldo,](https://reader035.fdocumentos.tips/reader035/viewer/2022070311/552fc12a497959413d8ce273/html5/thumbnails/1.jpg)
1
Introdução à Programação Introdução à Programação Distribuída em JavaDistribuída em Java
(módulo 1)(módulo 1)
por
Jorge Luis Victória Barbosa
Universidade do Vale do Rio dos Sinos
UniInfo 2003
São Leopoldo, novembro de 2003
![Page 2: 1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos UniInfo 2003 São Leopoldo,](https://reader035.fdocumentos.tips/reader035/viewer/2022070311/552fc12a497959413d8ce273/html5/thumbnails/2.jpg)
2
SocketsSockets
MódulMódulo 1o 1
Arquiteturas Distribuídas1
![Page 3: 1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos UniInfo 2003 São Leopoldo,](https://reader035.fdocumentos.tips/reader035/viewer/2022070311/552fc12a497959413d8ce273/html5/thumbnails/3.jpg)
3
SocketsSockets
MódulMódulo 1o 1
Arquiteturas DistribuídasConceito de sockets
1
2
![Page 4: 1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos UniInfo 2003 São Leopoldo,](https://reader035.fdocumentos.tips/reader035/viewer/2022070311/552fc12a497959413d8ce273/html5/thumbnails/4.jpg)
4
• 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
Conceito de Conceito de SocketsSockets
MódulMódulo 1o 1
![Page 5: 1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos UniInfo 2003 São Leopoldo,](https://reader035.fdocumentos.tips/reader035/viewer/2022070311/552fc12a497959413d8ce273/html5/thumbnails/5.jpg)
5
SocketsSockets
MódulMódulo 1o 1
Arquiteturas DistribuídasConceito de socketsSockets 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)
![Page 6: 1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos UniInfo 2003 São Leopoldo,](https://reader035.fdocumentos.tips/reader035/viewer/2022070311/552fc12a497959413d8ce273/html5/thumbnails/6.jpg)
6
Sockets em JavaSockets em Java
ServidorServerSocket (núm. da porta)
ServerSocket.accept ()
Socket()
OutputStream
InputStream
Socket.close()
ClienteSocket (host, núm. da porta)
(tentativa de conexão)
OutputStream
InputStream
Socket.close()
MódulMódulo 1o 1
![Page 7: 1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos UniInfo 2003 São Leopoldo,](https://reader035.fdocumentos.tips/reader035/viewer/2022070311/552fc12a497959413d8ce273/html5/thumbnails/7.jpg)
7
RMI (Remote Method RMI (Remote Method Invocation)Invocation)
MódulMódulo 1o 1
História: RPC (Remote Procedure Call)1
![Page 8: 1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos UniInfo 2003 São Leopoldo,](https://reader035.fdocumentos.tips/reader035/viewer/2022070311/552fc12a497959413d8ce273/html5/thumbnails/8.jpg)
8
RMI (Remote Method RMI (Remote Method Invocation)Invocation)História: RPC (Remote Procedure Call)
Conceito de RMI (RPC evoluiu para RMI)
1
2
MódulMódulo 1o 1
![Page 9: 1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos UniInfo 2003 São Leopoldo,](https://reader035.fdocumentos.tips/reader035/viewer/2022070311/552fc12a497959413d8ce273/html5/thumbnails/9.jpg)
9
RMI (Remote Method RMI (Remote Method Invocation)Invocation)História: RPC (Remote Procedure Call)
Conceito de RMI (RPC evoluiu para RMI)RMI em Java
1
2
3
MódulMódulo 1o 1
![Page 10: 1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos UniInfo 2003 São Leopoldo,](https://reader035.fdocumentos.tips/reader035/viewer/2022070311/552fc12a497959413d8ce273/html5/thumbnails/10.jpg)
10
RMI (Remote Method RMI (Remote Method Invocation)Invocation)História: RPC (Remote Procedure Call)
Conceito de RMI (RPC evoluiu para RMI)RMI em Java
1
2
3
JVM JVM
Objeto Remoto
Objeto 2Objeto 1
MódulMódulo 1o 1
![Page 11: 1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos UniInfo 2003 São Leopoldo,](https://reader035.fdocumentos.tips/reader035/viewer/2022070311/552fc12a497959413d8ce273/html5/thumbnails/11.jpg)
11
História: RPC (Remote Procedure Call)Conceito de RMI (RPC evoluiu para RMI)RMI em Java
1
2
3
JVM JVM
Objeto Remoto
Objeto 2Objeto 1
RMI (Remote Method RMI (Remote Method Invocation)Invocation)
RMI
MódulMódulo 1o 1
![Page 12: 1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos UniInfo 2003 São Leopoldo,](https://reader035.fdocumentos.tips/reader035/viewer/2022070311/552fc12a497959413d8ce273/html5/thumbnails/12.jpg)
12
RMI (Remote Method RMI (Remote Method Invocation)Invocation)História: RPC (Remote Procedure Call)
Conceito de RMI (RPC evoluiu para RMI)RMI em Java
1
2
3
Exemplo Produtor - ConsumidorMessageQueueImpl
Buffer
MódulMódulo 1o 1
![Page 13: 1 Introdução à Programação Distribuída em Java (módulo 1) por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos UniInfo 2003 São Leopoldo,](https://reader035.fdocumentos.tips/reader035/viewer/2022070311/552fc12a497959413d8ce273/html5/thumbnails/13.jpg)
13
Exemplo Produtor - Consumidor
RMI (Remote Method RMI (Remote Method Invocation)Invocation)História: RPC (Remote Procedure Call)
Conceito de RMI (RPC evoluiu para RMI)RMI em Java
1
2
3
MessageQueueImpl
Buffer
Producer
Consumer
MódulMódulo 1o 1