ABSTRAÇÃO PARA REPRESENTAR A COMUNICAÇÃO ENTRE PROCESSOS
COMUNICAÇÃO ENTRE DOIS PROCESSOS: MENSAGEM DE UM SOCKET EM UM PROCESSO PARA UM SOCKET DE OUTRO
PROTOCOLO DE INTERNET ENVIADAS PARA UM PAR: ENDEREÇO_INTERNET; NUMERO_PORTA
NUMERO DE PORTAS DISPONÍVEIS: 65536
Nota:
Para receber mensagens, um processo pode usar várias portas simultaneamente, mas não pode compartilhar uma porta com outro processo diferente no mesmo computador.
PROTOCOLO
TCP
Protocolo com conexão
ESTABELECEM CONEXÃO ANTES DE COMUNICAR ATRAVÉS DO STREAM
A PARTIR DESTA LIGAÇÃO PODEM SE COMUNICAR SEM TER DE INDICAR IP / PORTA
Comunicação por streams
Utilização da abstração Stream para ler/escrever dados
TENTA "UNIFORMIZAR" AS VELOCIDADES DOS PROCESSOS QUE LÊEM/ESCREVEM EM UM STREAM
MODELO DE FALHAS
CHECKSUM PARA DETECTAR E REJEITAR PACOTES CORROMPIDOS
TIMEOUTS E RETRANSMISSÃO PARA PACOTES PERDIDOS
NUMERO DE SEQUÊNCIA PARA DETECTAR E REJEITAR PACOTES DUPLICADOS
Se uma mensagem não chega porque o sistema está congestionado, ele não recebe a confirmação da recepção da mensagem até que a conexão seja cancelada após um certo tempo (timeout)
UDP
Protocolo sem conexão
Comunicação por “datagrams”
PERMITE CRIAR UM SOCKET NA MAQUINA LOCAL PARA O PROCESSO CONCORRENTE
COMUNICAÇÃO ATRAVÉS DOS MÉTODOS:
SEND
A operação send não é bloqueante
RECEIVE
A operação receive é bloqueante
FALHAS
OMISSÃO
BUFFER CHEIO
ERRO DE CONTEÚDO (CHECKSUM)
ORDENAÇÃO
FORA DE ORDEM
SERIALIZAÇÃO
IMPLEMENTAÇÃO
RPC (REMOTE PROCEDURE CALLING)
RMI (REMOTE METHOD INCOCATION)
QUALQUER TIPO DE DADOS QUE POSSA SER PASSADO COMO ARGUMENTO OU DEVOLVIDO COMO RESULTADO DEVE PODER SER SERIALIZADO
DEFINIÇÃO: processo de transformar os dados do seu formato interno para uma representação externa que possa ser transmitida em uma mensagem
O middleware é que realiza o processo de marhalling/unmarshalling
REFERÊNCIA PARA OBJETOS REMOTOS
IDENTIFICADOR DE UM OBJETO VÁLIDO NO SISTEMA DISTIBUÍDO
OBJETO QUE DESEJAMOS ACESSAR, A REFERENCIA DEVE EXISTIR:
NO PROCESSO LOCAL
NA MENSAGEM QUE ENVIAMOS AO OBJETO
NO PROCESSO REMOTO QUE POSSUI A INSTÂNCIA DO OBJETO CUJO MÉTODO QUEREMOS INVOCAR
REFERENCIAS REMOTAS DEVEM SER GERADAS DE MODO A GARANTIR UNICIDADE NO ESPAÇO/TEMPO
COMUNICAÇÃO CLIENTE/SERVIDOR
SE COMUNICAM ATRAVÉS DE UM MECANISMO DE TRANSPORTE