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

Post on 17-Apr-2015

110 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

Transcript

Aquiles Burlamaqui

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

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

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;

Redes de Computadores Sistemas Distribuídos Middleware

Redes de Computadores• Redes Locais• Internet• Diversidade

Redes de Computadores• Redes Locais• Internet• Diversidade

Redes de Computadores• Redes Locais• Internet• Diversidade

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

Sistemas Distribuídos• Vantagens

Preço Velocidade Distributividade Inerente Confiabilidade Crescimento Incremental

• Desvantagens• Transparência• Comunicação

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

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

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

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

transparente para o programador

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.

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

Middleware

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

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

Passagem de Mensagem JMS, MQSeries

Memória Compartilhada JTS(Java Tuple Space)

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

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

Modelos de ComunicaçãoClassificação 5

Adaptativos / reconfiguráveis / reflexivos

Embarcados

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

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

Tipos de Middleware• Judith Hurwitz

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

Middleware em camadas

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

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

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