SlideShare una empresa de Scribd logo
1 de 47
Middleware Reflexivo Construindo Sistemas Distribuídos Flexíveis, Adaptáveis e Reconfiguráveis Prof. Dr. Fabio Kon Departamento de Ciência da Computação IME / USP 21 de maio de 2003 SBRC’2003  -  Natal, RN
O que é “Middleware”? ,[object Object],[object Object],[object Object],Middleware SO Aplicação
O que é  “Middleware de Comunicação”? ,[object Object],Cliente Servidor Middleware Middleware
Benefícios do  Middleware de Comunicação ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Esconde as Heterogeneidades Middleware Linux PC Middleware Windows PC Middleware Solaris Sparc Middleware MacOS iMAC Middleware PalmOS Palm
Outros Benefícios ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Serviços Padronizados ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Principais Plataformas de Middleware Existentes ,[object Object],[object Object],[object Object],[object Object]
Conclusão Parcial ,[object Object],[object Object],[object Object]
Limitações dos Primeiros Sistemas de Middleware ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ambientes onde arquiteturas fixas e monolíticas não funcionam ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Paradoxo do Middleware ,[object Object],[object Object]
Solução: Modelo Reflexivo para Middleware ,[object Object],[object Object],[object Object]
Middleware Reflexivo Cliente Servidor Middleware Middleware meta-interface interface convencional
Interfaces ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Reflexão Computacional ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemplos de Sistemas de Middleware Reflexivos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
dynamicTAO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Acrescentando Suporte para Reconfiguração Dinâmica ,[object Object],[object Object],[object Object],[object Object]
Reificação   da Es trutur a do ORB ,[object Object],[object Object],[object Object],[object Object]
Estrutura do  dynamicTAO
DOCTOR D ynamic  O RB  C onfiguration  T ool
Reconfigura ção   com   Agent e s  Móveis ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Aplicações de  dynamicTAO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Open ORB ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Open ORB:  Reconfiguração Dinâmica ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Open ORB:  Múltiplos Modelos de Meta-espaço
Open ORB:  Meta-espaço de  Interfaces ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Open ORB:  Meta-espaço de  Arquitetura ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Open ORB:  Modelo de Arq uitetura  – Exemplo Grafo de componentes Restrições arquiteturais ,[object Object],[object Object],[object Object]
Open ORB:  Meta-espaço de  Interceptadores ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Open ORB:  Meta-espaço de  Recursos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Open ORB: Protótipos ,[object Object],[object Object]
dynamicTAO  e Open ORB: Considerações gerais ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Middleware (Enxuto)  Baseado em Componentes ,[object Object],[object Object],[object Object],[object Object]
UIC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
UIC: configuração abstrata ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
UIC: configuração concreta ,[object Object],[object Object],[object Object]
UIC: reconfiguração dinâmica ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
UIC:  Configurações Enxutas  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Outros Sistemas de  Middleware Reflexivo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
O Futuro do Middleware ,[object Object],[object Object],[object Object],[object Object]
O Futuro que Esperamos ,[object Object],[object Object],[object Object],[object Object],[object Object]
O que ainda falta fazer? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
International Workshop on Reflective Middleware ,[object Object],[object Object],[object Object],[object Object],[object Object]
Conclusões ,[object Object],[object Object],[object Object]
M aiores  I nforma ções ,[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
robsons75
 
Domain Controller Critical Services
Domain Controller Critical ServicesDomain Controller Critical Services
Domain Controller Critical Services
Jani Sabtriady
 

La actualidad más candente (20)

Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1
 
Introdução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosIntrodução a Sistemas Distribuídos
Introdução a Sistemas Distribuídos
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos Distribuidos
 
Sistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos WebSistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos Web
 
Gerência de Processos: Deadlocks
Gerência de Processos: DeadlocksGerência de Processos: Deadlocks
Gerência de Processos: Deadlocks
 
Hardware servidores
Hardware servidoresHardware servidores
Hardware servidores
 
장애 관리 방안
장애 관리 방안장애 관리 방안
장애 관리 방안
 
Introducao as rede de computadores
Introducao as rede de computadoresIntroducao as rede de computadores
Introducao as rede de computadores
 
Gestion de red
Gestion de redGestion de red
Gestion de red
 
NAT
NATNAT
NAT
 
Largura de banda
Largura de bandaLargura de banda
Largura de banda
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockApresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
 
Sd06 (si) exclusão mútua
Sd06 (si)   exclusão mútuaSd06 (si)   exclusão mútua
Sd06 (si) exclusão mútua
 
Aula1 tipos de redes
Aula1 tipos de redesAula1 tipos de redes
Aula1 tipos de redes
 
Jogos Multi-jogadores: Revisão sobre Redes de computadores
Jogos Multi-jogadores: Revisão sobre Redes de computadoresJogos Multi-jogadores: Revisão sobre Redes de computadores
Jogos Multi-jogadores: Revisão sobre Redes de computadores
 
Trabalho sobre Proxy
Trabalho sobre ProxyTrabalho sobre Proxy
Trabalho sobre Proxy
 
Domain Controller Critical Services
Domain Controller Critical ServicesDomain Controller Critical Services
Domain Controller Critical Services
 
AWS Transit Gateway-Benefits and Best Practices
AWS Transit Gateway-Benefits and Best PracticesAWS Transit Gateway-Benefits and Best Practices
AWS Transit Gateway-Benefits and Best Practices
 

Destacado (9)

Middleware
MiddlewareMiddleware
Middleware
 
Sistemas Distribuidos, Middleware e RPC
Sistemas Distribuidos, Middleware e RPCSistemas Distribuidos, Middleware e RPC
Sistemas Distribuidos, Middleware e RPC
 
Middleware
MiddlewareMiddleware
Middleware
 
Communication middleware
Communication middlewareCommunication middleware
Communication middleware
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – Middleware
 
Middleware
MiddlewareMiddleware
Middleware
 
Middleware
MiddlewareMiddleware
Middleware
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed application
 
Middleware Basics
Middleware BasicsMiddleware Basics
Middleware Basics
 

Similar a Middleware Reflexivo

Mda Apresentacao
Mda ApresentacaoMda Apresentacao
Mda Apresentacao
guestff06a
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
Ricardo Guerra Freitas
 
TEES - MDA Apresentação Final
TEES - MDA Apresentação FinalTEES - MDA Apresentação Final
TEES - MDA Apresentação Final
guestc7f5eb
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Lenin Abadie
 

Similar a Middleware Reflexivo (20)

middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.ppt
 
Corbawebserves
CorbawebservesCorbawebserves
Corbawebserves
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
 
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
 
Mda Apresentacao
Mda ApresentacaoMda Apresentacao
Mda Apresentacao
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
TEES - MDA Apresentação Final
TEES - MDA Apresentação FinalTEES - MDA Apresentação Final
TEES - MDA Apresentação Final
 
Opc marcos fonseca
Opc marcos fonsecaOpc marcos fonseca
Opc marcos fonseca
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Java
 
Apresentando o OpsWorks - Bemobi
Apresentando o OpsWorks - BemobiApresentando o OpsWorks - Bemobi
Apresentando o OpsWorks - Bemobi
 
DotNet vs. Java
DotNet vs. JavaDotNet vs. Java
DotNet vs. Java
 
AAB304 - Windows Workflow Foundation - wcamb
AAB304 - Windows Workflow Foundation - wcambAAB304 - Windows Workflow Foundation - wcamb
AAB304 - Windows Workflow Foundation - wcamb
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com Python
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com Python
 

Más de elliando dias

Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
elliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
elliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
elliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
elliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
elliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
elliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
elliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
elliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
elliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
elliando dias
 

Más de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Último

Último (6)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Middleware Reflexivo

  • 1. Middleware Reflexivo Construindo Sistemas Distribuídos Flexíveis, Adaptáveis e Reconfiguráveis Prof. Dr. Fabio Kon Departamento de Ciência da Computação IME / USP 21 de maio de 2003 SBRC’2003 - Natal, RN
  • 2.
  • 3.
  • 4.
  • 5. Esconde as Heterogeneidades Middleware Linux PC Middleware Windows PC Middleware Solaris Sparc Middleware MacOS iMAC Middleware PalmOS Palm
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Middleware Reflexivo Cliente Servidor Middleware Middleware meta-interface interface convencional
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. Estrutura do dynamicTAO
  • 22. DOCTOR D ynamic O RB C onfiguration T ool
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. Open ORB: Múltiplos Modelos de Meta-espaço
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.