Transcript
Page 1: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Aquiles Burlamaqui

Page 2: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para TV Digital

Page 3: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

O termo middleware foi utilizado pela primeira vez em 1968;(NATO Software Engineering)

Page 4: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Sucesso nos anos 80. Começou a ser usado para interligar aplicações antigas com as novas.

Associado a banco de dados relacionais

Antigos Conceitos Similares:• Sistema operacional de rede, sistema

operacional distribuído, ambientes de computação distribuída;

Page 5: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Redes de Computadores Sistemas Distribuídos Middleware

Page 6: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Redes de Computadores• Redes Locais• Internet• Diversidade

Page 7: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Redes de Computadores• Redes Locais• Internet• Diversidade

Page 8: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Redes de Computadores• Redes Locais• Internet• Diversidade

Page 9: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Sistemas Distribuídos• Vantagens• Desvantagens• Transparência• Comunicação

Page 10: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Sistemas Distribuídos• Vantagens

Preço Velocidade Distributividade Inerente Confiabilidade Crescimento Incremental

• Desvantagens• Transparência• Comunicação

Page 11: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Sistemas Distribuídos• Vantagens• Desvantagens

Software – sistemas operacionais, linguagens de programação e aplicações.

Comunicação – tratamento e recuperação de mensagens. Melhoria da rede pode acarretar em custos altos.

Segurança – Compartilhamento de dados implica em esquemas especiais para proteção de dados sigilosos.

Consistência Heterogeneidade

• Transparência• Comunicação

Page 12: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Sistemas Distribuídos• Vantagens• Desvantagens• Transparência• Comunicação

Page 13: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Sistemas Distribuídos• Vantagens• Desvantagens• Transparência• Comunicação

Page 14: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Sistemas Distribuídos• A complexidade da distribuição deve ser

transparente para o programador

Page 15: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Sistemas Distribuídos• Programação de rede em Baixo nível

Mecanismo muito eficiente Disponível em praticamente todo sistema operacional API padronizada Pode ser usada por clientes e servidores se

comunicarem na mesma máquina ou através da rede Mas...

Expõem muitos detalhes de baixo nível Desenvolvedor das aplicações deve ser hábil de depurar

problemas d do nível rede Mistura lógica da aplicação com lógica de rede Clientes devem saber onde o servidor esta executando Se o cliente e o servidor rodam em máquinas com ordem de

bytes diferentes, eles devem estar cientes dessas diferenças para se comunicarem entre si.

Page 16: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Middleware• Camada entre o sistema operacional e a

aplicação• Esconde os detalhes do sistema operacional

do desenvolvedor de aplicação CORBA, EJB, DCOM

• Porque precisamos de middleware? Ele facilita a tarefa de escrever aplicações

distribuídas Cuida de todo código de rede e de mensagens Deixa você livre para focar na escrita da

aplicação

Page 17: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Middleware

Page 18: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Modelos de Comunicação• Existem várias Classificações Classificação 1 Tipo de Comunicação Linguagens p/ Construção da Aplicação Forma de Disponibilização Ambiente de Execução

Page 19: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Modelos de ComunicaçãoClassificação 2Baseado em RPC-OO RMI, CORBA

Passagem de Mensagem JMS, MQSeries

Memória Compartilhada JTS(Java Tuple Space)

Page 20: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Modelos de Comunicação Classificação 3 Entidades se comunicando Processos, objetos, programas, componentes

Como elas se comunicam Reques/reply Peer-to-peer Publish/subscribe

Interface de programação APIs Bibliotecas frameworks

Page 21: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Modelos de ComunicaçãoClassificação 4Tipos de mediação Implícita Explícita

Page 22: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Modelos de ComunicaçãoClassificação 5

Adaptativos / reconfiguráveis / reflexivos

Embarcados

Page 23: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Modelos de Comunicação•Classificação 6 (baseado na primitiva

para interação) Transacional Orientado a mensagem Procedural Objeto

Page 24: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Tipos de Middleware• Judith Hurwitz

Page 25: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Serviços de Comunicação Serviço de Diretórios

Serviços de Descoberta Serviços de Configuração Serviços de Segurança

• SSL, SHTTP Serviço de Nomes Serviços de Apresentação

• Geração de GUI

Page 26: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Middleware em camadas

Page 27: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Alguns Tópicos para Seminário• Middleware Orientado a Mensagens• Middleware Reflexivo e Adaptativo• Middleware Transacional• Middleware Peer-to-Peer• Middleware Grid• Middleware QoS-Habilitado• Middleware Model-Driven• Sistemas Baseados em Middleware de Alta Performance• Segurança em Middleware• Middleware para Dispositivos Móveis• Middleware para Disseminação de Dados• Middleware para Jogos• Real-Time CORBA Middleware• Middleware for Smart Card• Middleware para E-Commerce

Page 28: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para
Page 29: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Judith Hurwitz• http://www.dbmsmag.com/9801d04.html

Montez, Carlos; Becker, Valdecir; TV Digital Interativa: conceitos, desafios e perspectivas para o Brasil; 2a Edição - Revista e Ampliada Universidade Federal de Santa Catarina

Arno Puder, Kay Römer, and Frank Pilhofer, Distributed Systems Architecture : A Middleware Approach, 2005.

Daniel Serain, I. Craig, Middleware and Enterprise Application Integration , 2002. Judith M. Myerson. The Complete Book of Middleware, Ed. Auerbach Publications,

2002. Chris Britton. IT Architectures and Middleware - Strategies for Building Large,

Integrated Systems, Addison-Wesley, 2001. Douglas Schmidt, Michael Stal, Hans Rohnert and Frank Buschmann. Pattern-

Oriented Software Architecture, Patterns for Concurrent and Networked Objects, Volume 2 ISBN: 0471606952

Uwe Zdun, Markus Völter, Michael Kircher, Remoting Patterns. Wiley Series in Software Design Patterns, 2004.

Teach Yourself CORBA In 14 Days http://ovir.icp.ac.ru/corba/books/Teach14/index.htm Gargalo na internet 2010

• http://www.vnunet.com/vnunet/news/2203809/internet-face-meltdown-2010

Page 30: Aquiles Burlamaqui. Introdução Fundamentos Modelos Serviços de Middleware Arquitetura de Middleware Padrões de Projeto para Middleware Middleware para

Programming languages are a lot like shoes. Some look good to some people yet look ugly to others. Some shoes fit

well on some feet.When it comes down to web programming

all languages do pretty much the same thing.

Jay Greenspan, Former Producer , WebMonkey


Top Related