SlideShare uma empresa Scribd logo
1 de 47
Copyleft by Fabio Kon 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
SBRC’2003 Copyleft by Fabio Kon 2
O que é “Middleware”?
 Software que
 reside entre o sistema operacional e a
aplicação
 a fim de facilitar (simplificar) o
desenvolvimento de aplicações.
Middleware
SO
Aplicação
SBRC’2003 Copyleft by Fabio Kon 3
O que é
“Middleware de Comunicação”?
 Middleware cujo objetivo é facilitar o
desenvolvimento de aplicações e sistemas
distribuídos.
Cliente Servidor
Middleware Middleware
SBRC’2003 Copyleft by Fabio Kon 4
Benefícios do
Middleware de Comunicação
 esconde do programador diferenças entre
 plataformas de hardware
 sistemas operacionais
 bibliotecas de comunicação
 protocolos de comunicação
 formatação de dados
 linguagens de programação
 modelos de programação
SBRC’2003 Copyleft by Fabio Kon 5
Esconde as Heterogeneidades
Middleware
Linux
PC
Middleware
Windows
PC
Middleware
Solaris
Sparc
Middleware
MacOS
iMAC
Middleware
PalmOS
Palm
SBRC’2003 Copyleft by Fabio Kon 6
Outros Benefícios
 Gerenciamento de Nomes e Referências
 Ativação Automática de Serviços
 Seleção do Receptor das Mensagens
 Migração de Serviços
 Controle de Qualidade de Serviço (QoS)
 Gerenciamento de Concorrência
 único thread, thread para cada serviço, para cada
cliente, pool de threads etc.
 Gerenciamento de Conexões
SBRC’2003 Copyleft by Fabio Kon 7
Serviços Padronizados
 Nomes
 Negociação (Trading)
 Tolerância a Falhas
 Segurança
 Transações
 Persitência
 etc. etc.
SBRC’2003 Copyleft by Fabio Kon 8
Principais Plataformas de
Middleware Existentes
 CORBA da OMG
 J2EE da Sun (também J2ME e J2SE)
 DCOM da Microsoft
 .NET da Microsoft
SBRC’2003 Copyleft by Fabio Kon 9
Conclusão Parcial
 Sistemas de middleware facilitam
enormemente a criação de aplicações
distribuídas complexas.
 Mas o mundo está se tornando mais
dinâmico a cada dia.
 O middleware convencional está preparado
para os desafios das próximas décadas?
SBRC’2003 Copyleft by Fabio Kon 10
Limitações dos
Primeiros Sistemas de Middleware
 Modelo de concorrência fixo
 Protocolo de transporte fixo (e.g., IIOP/TCP/IP)
 Estratégia de segurança fixa
 (normalmente nenhuma)
 Algoritmo de escalonamento fixo
 Formatação de dados fixa
 Arquitetura monolítica
 tudo ou nada  sistemas enormes
SBRC’2003 Copyleft by Fabio Kon 11
Ambientes onde arquiteturas fixas
e monolíticas não funcionam
 Sistemas Altamente Dinâmicos
 Computação Móvel
 Computação Ubíqua
 Multimídia
 Sistemas Especializados
 Sistemas embutidos ou dedicados
 Aplicações adaptativas
SBRC’2003 Copyleft by Fabio Kon 12
Paradoxo do Middleware
 A maior parte das aplicações necessitam
que o middleware esconda os detalhes
das camadas inferiores.
 Algumas aplicações podem obter grandes
melhorias em desempenho se puderem
observar e manipular os detalhes das
camadas inferiores.
SBRC’2003 Copyleft by Fabio Kon 13
Solução:
Modelo Reflexivo para Middleware
Middleware Reflexivo:
 Oferece transparência para as aplicações
que a desejam.
 Permite a inspeção e manipulação dos
detalhes internos do Middleware e do SO
para as aplicações que necessitarem.
SBRC’2003 Copyleft by Fabio Kon 14
Middleware Reflexivo
Cliente Servidor
Middleware Middleware
meta-interface
interface convencional
SBRC’2003 Copyleft by Fabio Kon 15
Interfaces
1. Interface Convencional
 permite a execução de aplicações convencionais
2. Meta-Interfaces
 inspeção dos componentes internos do middleware
 alteração da configuração interna do middleware
 inspeção do estado dinâmico do middleware
 inspeção do estado dinâmico do SO
 inspeção da configuração estática do SO e do HW
SBRC’2003 Copyleft by Fabio Kon 16
Reflexão Computacional
 Sistemas Reflexivos [Smith 84]
 Meta-Object Protocol (MOP) [Kiczales 91]
 ORBs Reflexivos [Singhai and Campbell 97]
 Reflexão: “pensar” sobre si mesmo.
 manter representação de sua estrutura interna
 inspecionar configuração interna
 alterar configuração interna
SBRC’2003 Copyleft by Fabio Kon 17
Exemplos de Sistemas de
Middleware Reflexivos
 dynamicTAO
 University of Illinois at Urbana-Champaign
 Open ORB
 Lancaster University
 UIC
 UIUC / UbiCore
 Outros
 LuaORB, LORB, mChaRM, COMERA, OpenCOM
SBRC’2003 Copyleft by Fabio Kon 18
dynamicTAO
 Extensão do ORB CORBA TAO [Schmidt et al]
 Escrito em C++
 Design modular baseado em padrões de projeto OO.
 TAO já permitia configuração no momento da
inicialização:
 modelo de concorrência (threads)
 demultiplexação de mensagens
 escalonamento
 gerenciamento de conexões
SBRC’2003 Copyleft by Fabio Kon 19
Acrescentando Suporte para
Reconfiguração Dinâmica
dynamicTAO exporta a interface
DynamicConfigurator que permite:
1. Transferência de componentes através da Internet.
2. Carga e descarga dinâmica de componentes.
3. Inspeção e modificação da configuração do ORB (e das
aplicações sendo executados sobre ele).
SBRC’2003 Copyleft by Fabio Kon 20
Reificação da Estrutura do ORB
 Arcabouço
ComponentConfigurator
 Armazena dependências
entre componentes.
 Permite navegação,
inspeção e
reconfiguração.
 Pode ser personalizado
através de herança OO.
SBRC’2003 Copyleft by Fabio Kon 21
Estrutura do dynamicTAO
SBRC’2003 Copyleft by Fabio Kon 22
DOCTOR
Dynamic ORB Configuration Tool
SBRC’2003 Copyleft by Fabio Kon 23
Reconfiguração com
Agentes Móveis
 Para sistemas de
grande escala
 Agente carrega
 grafo
 script de reconfiguração
 estado
 resultados
SBRC’2003 Copyleft by Fabio Kon 24
Aplicações de dynamicTAO
 Monitoramento
 configurável
 Segurança
 controle de acesso com DAC, MAC, RBAC.
 Distribuição escalável de multimídia
 QoS em multimídia (MONET @ uiuc)
 Base do SO experimental 2K (SRG @ uiuc)
SBRC’2003 Copyleft by Fabio Kon 25
Open ORB
 Construído a partir do zero no modelo reflexivo
 Componentes:
 implementam os vários elementos funcionais do ORB
 Instâncias personalizadas da plataforma:
 produzidas através da combinação dos componentes
apropriados
 Modelo de componentes
 composição hierárquica
 distribuição
 componentes como entidades de tempo de execução
SBRC’2003 Copyleft by Fabio Kon 26
Open ORB:
Reconfiguração Dinâmica
 Reflexão como princípio fundamental
 Uma clara separação entre
 nível base : componentes que implementam os
serviços usuais de middleware
 meta-nível : mecanismos que reificam a
implementação da plataforma
• inspeção e adaptação dinâmica
 O meta-nível é definido utilizando o mesmo
modelo de componentes do nível base
 reflexão pode também ser aplicada ao meta-nível
SBRC’2003 Copyleft by Fabio Kon 27
Open ORB:
Múltiplos Modelos de Meta-espaço
SBRC’2003 Copyleft by Fabio Kon 28
Open ORB:
Meta-espaço de Interfaces
 Representação externa de um
componente
 conjunto de interfaces exportadas
 operações e atributos de uma interface
 MOP: Inspeção
 busca e enumeração de interfaces
 enumeração das operações e atributos de
uma interface
SBRC’2003 Copyleft by Fabio Kon 29
Open ORB:
Meta-espaço de Arquitetura
 Representação interna de um componente
 Arquitetura de software do componente
 grafo de componentes
 interconexões entre os componentes mais
primitivos que compõem o componente reificado
 restrições arquiteturais
 regras para validar configurações de componentes
 facilitam a manutenção da consistência do ORB
após reconfigurações
SBRC’2003 Copyleft by Fabio Kon 30
Open ORB:
Modelo de Arquitetura – Exemplo
X
A
B
E
C
D
Y
interface
mappings
Grafo de componentes
Restrições
arquiteturais
• Componente A depende do componente C
• Componente D não pode ser substituído
ou removido
• Interface 1 do componente B só pode ser
ligada a uma interface exatamente
equivalente
SBRC’2003 Copyleft by Fabio Kon 31
Open ORB:
Meta-espaço de Interceptadores
 Permite adaptar as propriedades não-funcionais
associadas às interfaces de componentes, tais
como
 segurança e sincronização em tempo real
 Pré- e pós-processamento das interações emitidas
e recebidas em uma interface
 Interceptadores podem ser adicionados ou
removidos
 dinamicamente
 em pontos arbitrários da implementação da plataforma
SBRC’2003 Copyleft by Fabio Kon 32
Open ORB:
Meta-espaço de Recursos
 Acesso padronizado
 aos recursos subjacentes da plataforma
 aos mecanismos utilizados para o seu gerenciamento
 Inspeção e reconfiguração
 recursos alocados a tarefas específicas
• quantidade alocada
 parâmetros associados aos recursos
• prioridades, algoritmos de gerenciamento
 Fundamental para o gerenciamento de QoS em
ambientes dinâmicos
SBRC’2003 Copyleft by Fabio Kon 33
Open ORB: Protótipos
 OOPP – Open ORB Python Prototype
 OpenCOM
SBRC’2003 Copyleft by Fabio Kon 34
dynamicTAO e Open ORB:
Considerações gerais
 Dois projetos independentes, mas com
 motivações muito parecidas
 levaram ao mesmo modelo arquitetural: reflexão
 dynamicTAO
 re-engenharia de TAO para adicionar flexibilidade de
tempo de execução.
 Open ORB
 projeto e implementação do middleware em função
dos princípios de reflexão computacional.
SBRC’2003 Copyleft by Fabio Kon 35
Middleware (Enxuto)
Baseado em Componentes
 Uso da tecnologia de componentes de
software para construção da plataforma.
 Serviços e mecanismos do ORB
implementados como componentes
 implementações alternativas com
propriedades diferentes.
 Plataforma pode ser configurada com
apenas os componentes necessários.
SBRC’2003 Copyleft by Fabio Kon 36
UIC
 Universally Interoperable Core
 UIUC e ubi-core.com
 A configuração de componentes pode ser
alterada em tempo de execução
 adicionar, substituir, remover componentes
 Implementação de diferentes
personalidades de ORB
 Ex.: CORBA, Java RMI
SBRC’2003 Copyleft by Fabio Kon 37
UIC: configuração abstrata
 Um esqueleto de ORB com componentes
abstratos (ganchos) representando os tipos de
funcionalidades comuns de middleware:
• protocolos de comunicação
• mecanismos de gerenciamento de conexões
• seriação e de-seriação
• chamada de métodos
• escalonamento
• geração de referências de objetos
• APIs para clientes e servidores
• gerenciamento de memória e concorrência
SBRC’2003 Copyleft by Fabio Kon 38
UIC: configuração concreta
 Implementações concretas de cada
componente abstrato são carregados
dinamicamente.
 Diferentes personalidades de ORB podem ser
criadas.
 Permite atender aos requisitos de aplicações
específicas.
SBRC’2003 Copyleft by Fabio Kon 39
UIC: reconfiguração dinâmica
 Mecanismos internos do ORB podem ser
reconfigurados em tempo de execução
 substituição da implementação de
componentes abstratos.
 Por exemplo: variação de conectividade
 computador móvel em rede com fio: TCP
 deslocamento para uma rede sem fio: WTCP
 mecanismos de transporte otimizados para
cada ambiente.
SBRC’2003 Copyleft by Fabio Kon 40
UIC:
Configurações Enxutas
 Middleware para um cliente minimal
adotando personalidade CORBA:
 29KB no Windows CE
 72KB no Windows 2000
 18KB no PalmOS
 Middleware minimal para cliente/servidor
 48.5KB no Windows CE
 100KB no Windows 2000
 31KB no PalmOS
 Conclusão: ideal para sistemas embutidos
SBRC’2003 Copyleft by Fabio Kon 41
Outros Sistemas de
Middleware Reflexivo
 mChaRM (U. Genova, Ítália)
 COMERA (Microsoft)
 AspectIX (Friedrich-Alexander U., Alemanha)
 LuaORB (PUC-Rio)
 Meu foco atual:
 LORB (PUC-Rio) (Projeto InteGrade)
SBRC’2003 Copyleft by Fabio Kon 42
O Futuro do Middleware
 Arquiteturas convencionais de middleware tem
adotado os resultados de pesquisas em
middleware reflexivo
• Ex.: interceptadores em CORBA, carga dinâmica de
componentes em Orbix, arquitetura do JBoss.
• Middleware existente está se tornando mais flexível e
reconfigurável: abordagem ad hoc.
 Entretanto, a natureza de “caixa preta
monolítica” de middleware convencional limita o
quanto da implementação da plataforma pode
ser exposta.
SBRC’2003 Copyleft by Fabio Kon 43
O Futuro que Esperamos
 Adoção de reflexão como princípio básico
para o design de middleware.
 Quais seriam os benefícios:
 solução genérica,
 abertura abrangente dos aspectos internos da
plataforma,
 manipulação e adaptação da implementação
da plataforma de maneiras não previstas a
priori.
SBRC’2003 Copyleft by Fabio Kon 44
O que ainda falta fazer?
 Definição de um padrão internacional para
middleware reflexivo
 de forma a garantir interoperabilidade.
 Pesquisa teórica e prática em ferramentas para
garantia de consistência em reconfigurações
dinâmicas.
 Uso de middleware reflexivo por aplicações variadas.
 Bibliotecas de mecanismos automatizados para
adaptar o middleware em tempo de execução
 com o objetivo de facilitar a construção de aplicações
adaptativas.
SBRC’2003 Copyleft by Fabio Kon 45
International Workshop on
Reflective Middleware
 1st Workshop on Reflective Middleware
 junto com Middleware’2000 em NY
 2nd Workshop on Adaptive and Reflective
Middleware
 junto com Middleware’2003 no Rio em junho
 Em ambos os casos os artigos estão disponíveis na Web.
SBRC’2003 Copyleft by Fabio Kon 46
Conclusões
 Middleware Reflexivo já é um conceito
bem conhecido e aceito na comunidade
acadêmica de middleware.
 A penetração em sistemas e padrões
comerciais está avançando (mas mais
lentamente do que gostaríamos).
 É uma área de pesquisa ativa.
SBRC’2003 Copyleft by Fabio Kon 47
Maiores Informações
Visão geral sobre Middleware Reflexivo:
www.ime.usp.br/~kon/papers/cacm02.pdf
Grupo de Sistemas Distribuídos do IME/USP:
http://gsd.ime.usp.br

Mais conteúdo relacionado

Semelhante a middlewareReflexivo.ppt

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 nuvemRogério Moraes de Carvalho
 
O Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não WindowsO Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não WindowsAlessandro Binhara
 
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.1César Augusto Pessôa
 
Lync Server 2010 administrando o Lync Server 2010
Lync Server 2010 administrando o Lync Server 2010Lync Server 2010 administrando o Lync Server 2010
Lync Server 2010 administrando o Lync Server 2010brunoestrozi
 
Sistemas Operacionais em redes
Sistemas Operacionais em redesSistemas Operacionais em redes
Sistemas Operacionais em redesDaniel Brandão
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Alexandre Tarifa
 
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não WindowsPalestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não WindowsAlessandro Binhara
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Lucas Augusto Carvalho
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHPFlávio Lisboa
 
Os 12 fatores: uma metodologia para criação de projetos SaaS
Os 12 fatores: uma metodologia para criação de projetos SaaSOs 12 fatores: uma metodologia para criação de projetos SaaS
Os 12 fatores: uma metodologia para criação de projetos SaaSElton Minetto
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoLorival Smolski Chapuis
 
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework CoreUm novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework CoreRogério Moraes de Carvalho
 
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 TheWebMindJaydson Gomes
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Javalimadavi
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioGeovani Ferreira Gonçalves
 
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso SalesforceCloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso SalesforceFernando Carvalho
 

Semelhante a middlewareReflexivo.ppt (20)

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
 
Eng.ª do Software - 2. Requisitos
Eng.ª do Software - 2. RequisitosEng.ª do Software - 2. Requisitos
Eng.ª do Software - 2. Requisitos
 
O Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não WindowsO Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não Windows
 
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
 
Lync Server 2010 administrando o Lync Server 2010
Lync Server 2010 administrando o Lync Server 2010Lync Server 2010 administrando o Lync Server 2010
Lync Server 2010 administrando o Lync Server 2010
 
Sistemas Operacionais em redes
Sistemas Operacionais em redesSistemas Operacionais em redes
Sistemas Operacionais em redes
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010
 
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não WindowsPalestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
 
Int305 projeto mono-final
Int305 projeto mono-finalInt305 projeto mono-final
Int305 projeto mono-final
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 
Os 12 fatores: uma metodologia para criação de projetos SaaS
Os 12 fatores: uma metodologia para criação de projetos SaaSOs 12 fatores: uma metodologia para criação de projetos SaaS
Os 12 fatores: uma metodologia para criação de projetos SaaS
 
Opc marcos fonseca
Opc marcos fonsecaOpc marcos fonseca
Opc marcos fonseca
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - Introdução
 
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework CoreUm novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
 
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
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Java
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual Studio
 
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso SalesforceCloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
 

Mais de Patrícia Melo

Java Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de ControleJava Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de ControlePatrícia Melo
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP IPatrícia Melo
 
Ciclo de vida processo
Ciclo de vida processoCiclo de vida processo
Ciclo de vida processoPatrícia Melo
 
Engenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptxEngenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptxPatrícia Melo
 
A Informação E Dados.pptx
A Informação E Dados.pptxA Informação E Dados.pptx
A Informação E Dados.pptxPatrícia Melo
 
MidCell-apresentacao.ppt
MidCell-apresentacao.pptMidCell-apresentacao.ppt
MidCell-apresentacao.pptPatrícia Melo
 
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...Patrícia Melo
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptxPatrícia Melo
 

Mais de Patrícia Melo (16)

Java Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de ControleJava Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de Controle
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP I
 
Ciclo de vida processo
Ciclo de vida processoCiclo de vida processo
Ciclo de vida processo
 
Engenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptxEngenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptx
 
Ciencia.ppt
Ciencia.pptCiencia.ppt
Ciencia.ppt
 
A Informação E Dados.pptx
A Informação E Dados.pptxA Informação E Dados.pptx
A Informação E Dados.pptx
 
IP_Notas01.ppt
IP_Notas01.pptIP_Notas01.ppt
IP_Notas01.ppt
 
03modelos.ppt
03modelos.ppt03modelos.ppt
03modelos.ppt
 
Aula 09b.ppt
Aula 09b.pptAula 09b.ppt
Aula 09b.ppt
 
ArqOrgCom.ppt
ArqOrgCom.pptArqOrgCom.ppt
ArqOrgCom.ppt
 
TOF.ppt
TOF.pptTOF.ppt
TOF.ppt
 
MidCell-apresentacao.ppt
MidCell-apresentacao.pptMidCell-apresentacao.ppt
MidCell-apresentacao.ppt
 
Relógios Lógicos
Relógios LógicosRelógios Lógicos
Relógios Lógicos
 
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx
 
03modelos (1).ppt
03modelos (1).ppt03modelos (1).ppt
03modelos (1).ppt
 

Último

CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptxANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptxlvaroSantos51
 
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA  - Autora Djamila RibeiroLivro O QUE É LUGAR DE FALA  - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA - Autora Djamila RibeiroMarcele Ravasio
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
CLASSE DE PALAVRAS completo para b .pptx
CLASSE DE PALAVRAS completo para b .pptxCLASSE DE PALAVRAS completo para b .pptx
CLASSE DE PALAVRAS completo para b .pptxFranciely Carvalho
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfAlissonMiranda22
 
interfaces entre psicologia e neurologia.pdf
interfaces entre psicologia e neurologia.pdfinterfaces entre psicologia e neurologia.pdf
interfaces entre psicologia e neurologia.pdfIvoneSantos45
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
caderno de matematica com as atividade e refrnciais de matematica ara o fu...
caderno de matematica  com  as atividade  e refrnciais de matematica ara o fu...caderno de matematica  com  as atividade  e refrnciais de matematica ara o fu...
caderno de matematica com as atividade e refrnciais de matematica ara o fu...EvandroAlvesAlves1
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 

Último (20)

CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptxANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
 
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA  - Autora Djamila RibeiroLivro O QUE É LUGAR DE FALA  - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
CLASSE DE PALAVRAS completo para b .pptx
CLASSE DE PALAVRAS completo para b .pptxCLASSE DE PALAVRAS completo para b .pptx
CLASSE DE PALAVRAS completo para b .pptx
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdf
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
interfaces entre psicologia e neurologia.pdf
interfaces entre psicologia e neurologia.pdfinterfaces entre psicologia e neurologia.pdf
interfaces entre psicologia e neurologia.pdf
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
caderno de matematica com as atividade e refrnciais de matematica ara o fu...
caderno de matematica  com  as atividade  e refrnciais de matematica ara o fu...caderno de matematica  com  as atividade  e refrnciais de matematica ara o fu...
caderno de matematica com as atividade e refrnciais de matematica ara o fu...
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 

middlewareReflexivo.ppt

  • 1. Copyleft by Fabio Kon 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. SBRC’2003 Copyleft by Fabio Kon 2 O que é “Middleware”?  Software que  reside entre o sistema operacional e a aplicação  a fim de facilitar (simplificar) o desenvolvimento de aplicações. Middleware SO Aplicação
  • 3. SBRC’2003 Copyleft by Fabio Kon 3 O que é “Middleware de Comunicação”?  Middleware cujo objetivo é facilitar o desenvolvimento de aplicações e sistemas distribuídos. Cliente Servidor Middleware Middleware
  • 4. SBRC’2003 Copyleft by Fabio Kon 4 Benefícios do Middleware de Comunicação  esconde do programador diferenças entre  plataformas de hardware  sistemas operacionais  bibliotecas de comunicação  protocolos de comunicação  formatação de dados  linguagens de programação  modelos de programação
  • 5. SBRC’2003 Copyleft by Fabio Kon 5 Esconde as Heterogeneidades Middleware Linux PC Middleware Windows PC Middleware Solaris Sparc Middleware MacOS iMAC Middleware PalmOS Palm
  • 6. SBRC’2003 Copyleft by Fabio Kon 6 Outros Benefícios  Gerenciamento de Nomes e Referências  Ativação Automática de Serviços  Seleção do Receptor das Mensagens  Migração de Serviços  Controle de Qualidade de Serviço (QoS)  Gerenciamento de Concorrência  único thread, thread para cada serviço, para cada cliente, pool de threads etc.  Gerenciamento de Conexões
  • 7. SBRC’2003 Copyleft by Fabio Kon 7 Serviços Padronizados  Nomes  Negociação (Trading)  Tolerância a Falhas  Segurança  Transações  Persitência  etc. etc.
  • 8. SBRC’2003 Copyleft by Fabio Kon 8 Principais Plataformas de Middleware Existentes  CORBA da OMG  J2EE da Sun (também J2ME e J2SE)  DCOM da Microsoft  .NET da Microsoft
  • 9. SBRC’2003 Copyleft by Fabio Kon 9 Conclusão Parcial  Sistemas de middleware facilitam enormemente a criação de aplicações distribuídas complexas.  Mas o mundo está se tornando mais dinâmico a cada dia.  O middleware convencional está preparado para os desafios das próximas décadas?
  • 10. SBRC’2003 Copyleft by Fabio Kon 10 Limitações dos Primeiros Sistemas de Middleware  Modelo de concorrência fixo  Protocolo de transporte fixo (e.g., IIOP/TCP/IP)  Estratégia de segurança fixa  (normalmente nenhuma)  Algoritmo de escalonamento fixo  Formatação de dados fixa  Arquitetura monolítica  tudo ou nada  sistemas enormes
  • 11. SBRC’2003 Copyleft by Fabio Kon 11 Ambientes onde arquiteturas fixas e monolíticas não funcionam  Sistemas Altamente Dinâmicos  Computação Móvel  Computação Ubíqua  Multimídia  Sistemas Especializados  Sistemas embutidos ou dedicados  Aplicações adaptativas
  • 12. SBRC’2003 Copyleft by Fabio Kon 12 Paradoxo do Middleware  A maior parte das aplicações necessitam que o middleware esconda os detalhes das camadas inferiores.  Algumas aplicações podem obter grandes melhorias em desempenho se puderem observar e manipular os detalhes das camadas inferiores.
  • 13. SBRC’2003 Copyleft by Fabio Kon 13 Solução: Modelo Reflexivo para Middleware Middleware Reflexivo:  Oferece transparência para as aplicações que a desejam.  Permite a inspeção e manipulação dos detalhes internos do Middleware e do SO para as aplicações que necessitarem.
  • 14. SBRC’2003 Copyleft by Fabio Kon 14 Middleware Reflexivo Cliente Servidor Middleware Middleware meta-interface interface convencional
  • 15. SBRC’2003 Copyleft by Fabio Kon 15 Interfaces 1. Interface Convencional  permite a execução de aplicações convencionais 2. Meta-Interfaces  inspeção dos componentes internos do middleware  alteração da configuração interna do middleware  inspeção do estado dinâmico do middleware  inspeção do estado dinâmico do SO  inspeção da configuração estática do SO e do HW
  • 16. SBRC’2003 Copyleft by Fabio Kon 16 Reflexão Computacional  Sistemas Reflexivos [Smith 84]  Meta-Object Protocol (MOP) [Kiczales 91]  ORBs Reflexivos [Singhai and Campbell 97]  Reflexão: “pensar” sobre si mesmo.  manter representação de sua estrutura interna  inspecionar configuração interna  alterar configuração interna
  • 17. SBRC’2003 Copyleft by Fabio Kon 17 Exemplos de Sistemas de Middleware Reflexivos  dynamicTAO  University of Illinois at Urbana-Champaign  Open ORB  Lancaster University  UIC  UIUC / UbiCore  Outros  LuaORB, LORB, mChaRM, COMERA, OpenCOM
  • 18. SBRC’2003 Copyleft by Fabio Kon 18 dynamicTAO  Extensão do ORB CORBA TAO [Schmidt et al]  Escrito em C++  Design modular baseado em padrões de projeto OO.  TAO já permitia configuração no momento da inicialização:  modelo de concorrência (threads)  demultiplexação de mensagens  escalonamento  gerenciamento de conexões
  • 19. SBRC’2003 Copyleft by Fabio Kon 19 Acrescentando Suporte para Reconfiguração Dinâmica dynamicTAO exporta a interface DynamicConfigurator que permite: 1. Transferência de componentes através da Internet. 2. Carga e descarga dinâmica de componentes. 3. Inspeção e modificação da configuração do ORB (e das aplicações sendo executados sobre ele).
  • 20. SBRC’2003 Copyleft by Fabio Kon 20 Reificação da Estrutura do ORB  Arcabouço ComponentConfigurator  Armazena dependências entre componentes.  Permite navegação, inspeção e reconfiguração.  Pode ser personalizado através de herança OO.
  • 21. SBRC’2003 Copyleft by Fabio Kon 21 Estrutura do dynamicTAO
  • 22. SBRC’2003 Copyleft by Fabio Kon 22 DOCTOR Dynamic ORB Configuration Tool
  • 23. SBRC’2003 Copyleft by Fabio Kon 23 Reconfiguração com Agentes Móveis  Para sistemas de grande escala  Agente carrega  grafo  script de reconfiguração  estado  resultados
  • 24. SBRC’2003 Copyleft by Fabio Kon 24 Aplicações de dynamicTAO  Monitoramento  configurável  Segurança  controle de acesso com DAC, MAC, RBAC.  Distribuição escalável de multimídia  QoS em multimídia (MONET @ uiuc)  Base do SO experimental 2K (SRG @ uiuc)
  • 25. SBRC’2003 Copyleft by Fabio Kon 25 Open ORB  Construído a partir do zero no modelo reflexivo  Componentes:  implementam os vários elementos funcionais do ORB  Instâncias personalizadas da plataforma:  produzidas através da combinação dos componentes apropriados  Modelo de componentes  composição hierárquica  distribuição  componentes como entidades de tempo de execução
  • 26. SBRC’2003 Copyleft by Fabio Kon 26 Open ORB: Reconfiguração Dinâmica  Reflexão como princípio fundamental  Uma clara separação entre  nível base : componentes que implementam os serviços usuais de middleware  meta-nível : mecanismos que reificam a implementação da plataforma • inspeção e adaptação dinâmica  O meta-nível é definido utilizando o mesmo modelo de componentes do nível base  reflexão pode também ser aplicada ao meta-nível
  • 27. SBRC’2003 Copyleft by Fabio Kon 27 Open ORB: Múltiplos Modelos de Meta-espaço
  • 28. SBRC’2003 Copyleft by Fabio Kon 28 Open ORB: Meta-espaço de Interfaces  Representação externa de um componente  conjunto de interfaces exportadas  operações e atributos de uma interface  MOP: Inspeção  busca e enumeração de interfaces  enumeração das operações e atributos de uma interface
  • 29. SBRC’2003 Copyleft by Fabio Kon 29 Open ORB: Meta-espaço de Arquitetura  Representação interna de um componente  Arquitetura de software do componente  grafo de componentes  interconexões entre os componentes mais primitivos que compõem o componente reificado  restrições arquiteturais  regras para validar configurações de componentes  facilitam a manutenção da consistência do ORB após reconfigurações
  • 30. SBRC’2003 Copyleft by Fabio Kon 30 Open ORB: Modelo de Arquitetura – Exemplo X A B E C D Y interface mappings Grafo de componentes Restrições arquiteturais • Componente A depende do componente C • Componente D não pode ser substituído ou removido • Interface 1 do componente B só pode ser ligada a uma interface exatamente equivalente
  • 31. SBRC’2003 Copyleft by Fabio Kon 31 Open ORB: Meta-espaço de Interceptadores  Permite adaptar as propriedades não-funcionais associadas às interfaces de componentes, tais como  segurança e sincronização em tempo real  Pré- e pós-processamento das interações emitidas e recebidas em uma interface  Interceptadores podem ser adicionados ou removidos  dinamicamente  em pontos arbitrários da implementação da plataforma
  • 32. SBRC’2003 Copyleft by Fabio Kon 32 Open ORB: Meta-espaço de Recursos  Acesso padronizado  aos recursos subjacentes da plataforma  aos mecanismos utilizados para o seu gerenciamento  Inspeção e reconfiguração  recursos alocados a tarefas específicas • quantidade alocada  parâmetros associados aos recursos • prioridades, algoritmos de gerenciamento  Fundamental para o gerenciamento de QoS em ambientes dinâmicos
  • 33. SBRC’2003 Copyleft by Fabio Kon 33 Open ORB: Protótipos  OOPP – Open ORB Python Prototype  OpenCOM
  • 34. SBRC’2003 Copyleft by Fabio Kon 34 dynamicTAO e Open ORB: Considerações gerais  Dois projetos independentes, mas com  motivações muito parecidas  levaram ao mesmo modelo arquitetural: reflexão  dynamicTAO  re-engenharia de TAO para adicionar flexibilidade de tempo de execução.  Open ORB  projeto e implementação do middleware em função dos princípios de reflexão computacional.
  • 35. SBRC’2003 Copyleft by Fabio Kon 35 Middleware (Enxuto) Baseado em Componentes  Uso da tecnologia de componentes de software para construção da plataforma.  Serviços e mecanismos do ORB implementados como componentes  implementações alternativas com propriedades diferentes.  Plataforma pode ser configurada com apenas os componentes necessários.
  • 36. SBRC’2003 Copyleft by Fabio Kon 36 UIC  Universally Interoperable Core  UIUC e ubi-core.com  A configuração de componentes pode ser alterada em tempo de execução  adicionar, substituir, remover componentes  Implementação de diferentes personalidades de ORB  Ex.: CORBA, Java RMI
  • 37. SBRC’2003 Copyleft by Fabio Kon 37 UIC: configuração abstrata  Um esqueleto de ORB com componentes abstratos (ganchos) representando os tipos de funcionalidades comuns de middleware: • protocolos de comunicação • mecanismos de gerenciamento de conexões • seriação e de-seriação • chamada de métodos • escalonamento • geração de referências de objetos • APIs para clientes e servidores • gerenciamento de memória e concorrência
  • 38. SBRC’2003 Copyleft by Fabio Kon 38 UIC: configuração concreta  Implementações concretas de cada componente abstrato são carregados dinamicamente.  Diferentes personalidades de ORB podem ser criadas.  Permite atender aos requisitos de aplicações específicas.
  • 39. SBRC’2003 Copyleft by Fabio Kon 39 UIC: reconfiguração dinâmica  Mecanismos internos do ORB podem ser reconfigurados em tempo de execução  substituição da implementação de componentes abstratos.  Por exemplo: variação de conectividade  computador móvel em rede com fio: TCP  deslocamento para uma rede sem fio: WTCP  mecanismos de transporte otimizados para cada ambiente.
  • 40. SBRC’2003 Copyleft by Fabio Kon 40 UIC: Configurações Enxutas  Middleware para um cliente minimal adotando personalidade CORBA:  29KB no Windows CE  72KB no Windows 2000  18KB no PalmOS  Middleware minimal para cliente/servidor  48.5KB no Windows CE  100KB no Windows 2000  31KB no PalmOS  Conclusão: ideal para sistemas embutidos
  • 41. SBRC’2003 Copyleft by Fabio Kon 41 Outros Sistemas de Middleware Reflexivo  mChaRM (U. Genova, Ítália)  COMERA (Microsoft)  AspectIX (Friedrich-Alexander U., Alemanha)  LuaORB (PUC-Rio)  Meu foco atual:  LORB (PUC-Rio) (Projeto InteGrade)
  • 42. SBRC’2003 Copyleft by Fabio Kon 42 O Futuro do Middleware  Arquiteturas convencionais de middleware tem adotado os resultados de pesquisas em middleware reflexivo • Ex.: interceptadores em CORBA, carga dinâmica de componentes em Orbix, arquitetura do JBoss. • Middleware existente está se tornando mais flexível e reconfigurável: abordagem ad hoc.  Entretanto, a natureza de “caixa preta monolítica” de middleware convencional limita o quanto da implementação da plataforma pode ser exposta.
  • 43. SBRC’2003 Copyleft by Fabio Kon 43 O Futuro que Esperamos  Adoção de reflexão como princípio básico para o design de middleware.  Quais seriam os benefícios:  solução genérica,  abertura abrangente dos aspectos internos da plataforma,  manipulação e adaptação da implementação da plataforma de maneiras não previstas a priori.
  • 44. SBRC’2003 Copyleft by Fabio Kon 44 O que ainda falta fazer?  Definição de um padrão internacional para middleware reflexivo  de forma a garantir interoperabilidade.  Pesquisa teórica e prática em ferramentas para garantia de consistência em reconfigurações dinâmicas.  Uso de middleware reflexivo por aplicações variadas.  Bibliotecas de mecanismos automatizados para adaptar o middleware em tempo de execução  com o objetivo de facilitar a construção de aplicações adaptativas.
  • 45. SBRC’2003 Copyleft by Fabio Kon 45 International Workshop on Reflective Middleware  1st Workshop on Reflective Middleware  junto com Middleware’2000 em NY  2nd Workshop on Adaptive and Reflective Middleware  junto com Middleware’2003 no Rio em junho  Em ambos os casos os artigos estão disponíveis na Web.
  • 46. SBRC’2003 Copyleft by Fabio Kon 46 Conclusões  Middleware Reflexivo já é um conceito bem conhecido e aceito na comunidade acadêmica de middleware.  A penetração em sistemas e padrões comerciais está avançando (mas mais lentamente do que gostaríamos).  É uma área de pesquisa ativa.
  • 47. SBRC’2003 Copyleft by Fabio Kon 47 Maiores Informações Visão geral sobre Middleware Reflexivo: www.ime.usp.br/~kon/papers/cacm02.pdf Grupo de Sistemas Distribuídos do IME/USP: http://gsd.ime.usp.br