2. • Objeto = Coleção de variáveis
• Conjunto de procedimentos = métodos
• Métodos = bloco de código que contém uma
série de instruções. Um programa faz com que
as instruções sejam executados chamando o
método e especificando todos os argumentos
necessários do método.
• Todo processo precisa ser invocado e NÃO
acessar a variável diretamente.
3. CORBA
(Common Object Request Broker Architecture)
• Sistema cliente – servidor (máquinas clientes
invocam operações sobre ojetos localizados
em máquinas servidoras (possívelmente
remotas));
• Executa em vários hardwares e sistemas
operacionais;
• Programado em uma variedade de linguagens;
4. • Clientes de uma plataforma invoque um
servidor de outra plataforma;
• Importante papel fornecendo seu nome ao
sistema;
• Função de esconder os detalhes de
comunicação e distribuição de baixo nível dos
códigos do cliente e servidor. (Localização,
Servidor programa binário ou script,
hardware, sistema operacional em que o
servidor executa)
CORBA
(Common Object Request Broker Architecture)
ORBs
(Object request brokers – Agentes de Solicitação de Objetos)
5. • Informa quais métodos os objetos exporta e
que tipo de parâmetros cada um espera
• Stub – compilado em um procedimento do
lado cliente
• Skeleton – compilado em um procedimento
do lado servidor
• Sempre que é criado um objeto sua referencia
fica armazenada em ambos os lados para que
seja facilmente invocada
CORBA
(Common Object Request Broker Architecture)
IDL
(Interface Definition Language )
6. • Requisições e resposta em transferência pela
internet
CORBA
(Common Object Request Broker Architecture)
IIOP
(Internet Inter-ORB Protocol)
7. • Torna possível o uso de objetos no sistema
CORBA que não foram escritos para CORBA
CORBA
(Common Object Request Broker Architecture)
Adaptador de Objetos
8.
9. • Eficiencia na segurança das informações no
servidor
• Comunicação entre vários sistemas
operacionais;
• Problema está devido cada objeto está
localizado em somente um servidor
• Excelente funcionamento em uma LAN dentro
de uma única companhia
CORBA
(Common Object Request Broker Architecture)
Conclusão
10. Middleware com base em
coordenação
Projeto Linda
Projeto de pesquisa acadêmica
11. • Sistema moderno para comunicação e
sincronização;
• Processos independentes se comunicam via
um espaço de tuplas abstrato;
• Tuplas são estruturas em C ou JAVA
constituídas por um ou mais campos;
• Faz pesquisa de espaços vazios ou
preenchidos de tuplas e emitem um retorno
Middleware com base
em coordenação
LINDA
12. • Inspirado em Linda;
• Consiste em um número de processos
conectados por uma rede de difusão
(broadcast);
• Processos pode ser um produtor ou
consumidor de informação ou ambos;
• Publishing = publicação de uma nova
informação na forma de tupla;
Publica/inscreve
(publish/subscrible)
Middleware com base
em coordenação
13. • Processos de implementação:
– Publicação da informação em rede local;
– O daemon de tuplas copia as tuplas difundidas
para dentro da RAM;
– Inspeciona a linha de assunto de cada tupla, para
verificar processos interessados na informação;
– Pode percorrer as longas distâncias ou internet
utilizando uma das máquinas como roteadora
Publica/inscreve
(publish/subscrible)
Middleware com base
em coordenação
14. • Há uma separação entre produtor e
consumidor;
• Pode-se armazenas as tuplas em banco de
dados;
• Contudo as tuplas publicam:
– “Quem mais está interessado em x?”
– Retorno: “Eu estou interessado em x”
Publica/inscreve
(publish/subscrible)
Middleware com base
em coordenação
16. • Dispositivo Jini pode ser conectado em rede
para oferecer e usar serviços
instantaneamente sem complexidade na
instalação;
• Para o dispositivo Jini se juntar a uma
federação Jini ele difunde pelo pacote LAN
local ou uma célula local sem fio a procura por
lookup service (serviço de consulta)
Jini
Middleware com base
em coordenação
17. • Protocolo utilizado é o protocolo de
descoberta (discovery protocol);
• Jini está em todos os sistemas JAVA com o
código JVM (Java Virtual Machine Language) –
Linguagem de máquina virtual Java;
• Cliente e Serviços (dipositivo de hardware ou
software) se comunicam e sincronizam usando
os JAVASPACES – modelados no espaço de
tuplas do sistema LINDA.
Jini
Middleware com base
em coordenação
19. Grades
• Geograficamente dispersa de máquinas
conectadas por uma rede privada ou pela
internet e que oferece um conjunto de
serviços aos seus usuários.
• Compartilhamento de ciclos de CPU, sendo
utilizado por outra empresa em tempo ocioso
e retornando em tempo programado.
• Compartilhamento de recursos tais como
hardware e banco de dados.
20. Grades
• Middleware popular no mundo das grades é o
toolkit Globus
• Toolkit Globus: compartilhamento de
computadores, arquivos e outros recursos de
modo flexível, seguro e sem sacrificar a
autonomia local