SlideShare uma empresa Scribd logo
1 de 20
Middleware baseado em objetos
compartilhados
• 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.
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;
• 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)
• 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 )
• Requisições e resposta em transferência pela
internet
CORBA
(Common Object Request Broker Architecture)
IIOP
(Internet Inter-ORB Protocol)
• 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
• 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
Middleware com base em
coordenação
Projeto Linda
Projeto de pesquisa acadêmica
• 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
• 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
• 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
• 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
Publica/inscreve
(publish/subscrible)
Middleware com base
em coordenação
• 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
• 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
GRADES
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.
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

Mais conteúdo relacionado

Semelhante a Middleware baseado em objetos compartilhados e coordenação

TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters) iG - Internet Group do Brasil S/A
 
Sistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBASistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBAAdriano Teixeira de Souza
 
JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5Helder da Rocha
 
Objetos distribuídos e invocação remota - CORBA
Objetos distribuídos e invocação remota - CORBAObjetos distribuídos e invocação remota - CORBA
Objetos distribuídos e invocação remota - CORBAWagner Bonfim
 
Padrões-04 - Padrões Arquiteturais - Broker
Padrões-04 - Padrões Arquiteturais - BrokerPadrões-04 - Padrões Arquiteturais - Broker
Padrões-04 - Padrões Arquiteturais - BrokerEduardo Nicola F. Zagari
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Javalimadavi
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoThiago Marinho
 
Datacenter na nuvem
Datacenter na nuvemDatacenter na nuvem
Datacenter na nuvemIgnacio Nin
 
ReVir – Programabilidade em Redes Virtualizadas
ReVir – Programabilidade em Redes VirtualizadasReVir – Programabilidade em Redes Virtualizadas
ReVir – Programabilidade em Redes VirtualizadasWanderson Paim
 
Minicurso - Conceitos de Redes (2018)
Minicurso - Conceitos de Redes (2018)Minicurso - Conceitos de Redes (2018)
Minicurso - Conceitos de Redes (2018)#Jão Pablo
 
Integrações e o ecossistema Java - Fabric8 ao Resgate!
Integrações e o ecossistema Java - Fabric8 ao Resgate!Integrações e o ecossistema Java - Fabric8 ao Resgate!
Integrações e o ecossistema Java - Fabric8 ao Resgate!Leandro Gomes
 
Desenho de uma rede
Desenho de uma redeDesenho de uma rede
Desenho de uma redeMaxFiberson
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouJose Wilker
 
Desenvolvimento de sistemas jurídicos
Desenvolvimento de sistemas jurídicosDesenvolvimento de sistemas jurídicos
Desenvolvimento de sistemas jurídicosAndre Camilo
 
Arquitetura control logix
Arquitetura control logixArquitetura control logix
Arquitetura control logixSaddam Lande
 
Aula 5 camada de aplicacao
Aula 5   camada de aplicacaoAula 5   camada de aplicacao
Aula 5 camada de aplicacaowab030
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoFrederico Madeira
 
Sistemas Distribuídos - Aula 06
Sistemas Distribuídos - Aula 06Sistemas Distribuídos - Aula 06
Sistemas Distribuídos - Aula 06Arthur Emanuel
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...BrunoSouza617
 

Semelhante a Middleware baseado em objetos compartilhados e coordenação (20)

TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
 
Sistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBASistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBA
 
JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5
 
Objetos distribuídos e invocação remota - CORBA
Objetos distribuídos e invocação remota - CORBAObjetos distribuídos e invocação remota - CORBA
Objetos distribuídos e invocação remota - CORBA
 
Padrões-04 - Padrões Arquiteturais - Broker
Padrões-04 - Padrões Arquiteturais - BrokerPadrões-04 - Padrões Arquiteturais - Broker
Padrões-04 - Padrões Arquiteturais - Broker
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Java
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
Datacenter na nuvem
Datacenter na nuvemDatacenter na nuvem
Datacenter na nuvem
 
ReVir – Programabilidade em Redes Virtualizadas
ReVir – Programabilidade em Redes VirtualizadasReVir – Programabilidade em Redes Virtualizadas
ReVir – Programabilidade em Redes Virtualizadas
 
Programabilidade em Redes Virtualizadas
Programabilidade em Redes VirtualizadasProgramabilidade em Redes Virtualizadas
Programabilidade em Redes Virtualizadas
 
Minicurso - Conceitos de Redes (2018)
Minicurso - Conceitos de Redes (2018)Minicurso - Conceitos de Redes (2018)
Minicurso - Conceitos de Redes (2018)
 
Integrações e o ecossistema Java - Fabric8 ao Resgate!
Integrações e o ecossistema Java - Fabric8 ao Resgate!Integrações e o ecossistema Java - Fabric8 ao Resgate!
Integrações e o ecossistema Java - Fabric8 ao Resgate!
 
Desenho de uma rede
Desenho de uma redeDesenho de uma rede
Desenho de uma rede
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começou
 
Desenvolvimento de sistemas jurídicos
Desenvolvimento de sistemas jurídicosDesenvolvimento de sistemas jurídicos
Desenvolvimento de sistemas jurídicos
 
Arquitetura control logix
Arquitetura control logixArquitetura control logix
Arquitetura control logix
 
Aula 5 camada de aplicacao
Aula 5   camada de aplicacaoAula 5   camada de aplicacao
Aula 5 camada de aplicacao
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de Código
 
Sistemas Distribuídos - Aula 06
Sistemas Distribuídos - Aula 06Sistemas Distribuídos - Aula 06
Sistemas Distribuídos - Aula 06
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
 

Middleware baseado em objetos compartilhados e coordenação

  • 1. Middleware baseado em objetos compartilhados
  • 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