Objetos Distribuídos Programação Distribuída
Orientado a Objetos
Autor desconhecido.
Introdução
• Conceitos básicos
– programação distribuída + programação orientada a objetos = Objetos distribuídos
– Motivação
• Associar as vantagens advindas da programação orientada a objetos no desenvolvimento de aplicações distribuídas
– PD- Programação Distribuída
– POO - Programação Orientada a Objetos
– POOD- Programação Orientada a Objetos
Distribuída
Breve Histórico de Programação
Distribuída
• Programação distribuída
– Programação de sistemas que executam sobre redes de computadores.
•
•
•
•
•
•
•
Conceito de redes de computadores
Conceito de processos
Modelo cliente-servidor
Conceito de troca de mensagens
Chamada de procedimento remoto
Invocação de métodos de objetos remotos
Sistemas baseados em agentes
Conceito de Redes de
Computadores
• Modelo em camadas
Aplicação
Camada de Aplicação
Camada de Aplicação
Camada de Transporte
Camada de Rede
Camada de Enlace
Camada Física
Camada de Transporte
Camada de Rede
Camada de Enlace
Camada Física
Comunicação
Conceito de Middleware
• Necessidade de agrupar funcionalidades comuns às várias aplicações distribuídas
– Conceito de abstração da programação distribuída • Tentar tornar a programação distribuída, em termos de facilidade de programação, o mais próximo possível da programação centralizada.
Software
S.O. +
Hardware
Middleware
Camada de Transporte
Camada de Rede
Camada de Enlace
Camada Física
O middleware deve ser independente do SO e do hardware
Evolução do Conceito de
Middleware
Agentes
Objetos
Chamada de
Distribuídos (RMI, CORBA)
Procedimento
Remoto (RPC)
Troca de
Mensagens (Sockets)
1977 1982
1987 1992 1997 2002 2007
Paradigma de Troca de
Mensagem
Tarefa 1 send(M1) receive(M1)
Tarefa 2
send(M1) receive(M1) Tarefa 1 receive(M2) Tarefa 2 send(M2) bloqueio
processando