Você está na página 1de 19

Middleware para

sistemas
colaborativos
PROFESSOR: RICARDO SANTOS DE FRANÇA
E - MA I L: R I CA R DO.SF RA NCA@ PROFESSOR.EDU CACAO. PE.GOV. BR

1
Middleware: o que é? serve para quê?

2 17
Middleware
Software para facilitar o desenvolvimento e execução de aplicações distribuídas.

Camada entre as aplicações e a infraestrutura de rede intermediando a comunicação


entre elas.

Suporte para a troca de mensagens entre componentes de um sistema colaborativo.

3 17
Middleware para apoiar a integração e a
interoperabilidade
Duas situações:
◦ (i) o desenvolvimento de um sistema para apoiar a interação dos participantes de um grupo;
◦ (ii) a construção de serviços desenvolvidos para serem integrados a diferentes sistemas.

4 17
Middleware para apoiar o desenvolvimento
de sistemas colaborativos (1/2)
Suporte para a integração e para a interoperabilidade entre sistemas em máquinas distintas.
Soluções que oferecem suporte para a construção de Sistemas Colaborativos através de
serviços isolados.
Apoio à flexibilidade e a escalabilidade dos serviços para a construção de Sistemas
Colaborativos.
Flexibilidade para apoiar a execução de sistemas colaborativos entre diferentes plataformas
de hardware e software.

5 17
Middleware para apoiar o desenvolvimento
de sistemas colaborativos (2/2)
Um Middleware deve prover:
◦ Mecanismos para suporte à interação remota;
◦ Transparência de distribuição;
◦ Independência de tecnologia.

Transparência está relacionada aos seguintes aspectos:


◦ Localização;
◦ Acesso;
◦ Concorrência.

6 17
Categorias de middleware (1/2)
Diferentes características influenciam na categorização:
◦ Tipo de comunicação;
◦ Linguagens;
◦ Ambientes de execução.

Middleware procedural
◦ Modelo cliente / servidor e RPC;
◦ A linguagem IDL para a implementação da interface;
◦ Como a heterogeneidade entre plataformas é tratada?;
◦ Foco é a comunicação síncrona.

7 17
Categorias de middleware (2/2)
Middleware orientado a objeto
◦ Evolução do middleware procedural.
◦ Viabiliza a comunicação entre objetos distribuídos e heterogêneos.

Middleware orientado a mensagem


◦ Apoia a comunicação entre componentes de um sistema distribuído.
◦ Foco é a comunicação assíncrona.

Middleware Transacional (MT)


◦ Monitor de Processamento de Transações.
◦ Apoia a coordenação e sincronização para a execução de transações.

8 17
Outras classificações de middleware
Dependentes ou independentes de linguagens de programação.
Padrões abertos ou proprietários.
Suporte à comunicação síncrona e assíncrona.

9 17
Serviços de Middleware (1/4)

Serviços são descritos por meio de uma interface e acessados


através de uma API (Application Program Interface).
Os serviços comuns são de propósito geral.

10 17
Serviços de Middleware (2/4)
Exemplos de serviços comuns:
◦ Serviço de nomes
◦ Oferece transparência de localidade.
◦ Serviço de Eventos
◦ Apoia a comunicação entre objetos fornecedores e consumidores de eventos.
◦ Serviço de Ciclo de Vida
◦ Provê operações para implementar o ciclo de vida de um objeto: criação, destruição,
movimentação e cópia.
◦ Serviço de controle de concorrência
◦ Promove a coordenação do acesso concorrente.
◦ Serviço de comunicação

11 17
Serviços de Middleware (3/4)
Serviços específicos são direcionados para atender os requisitos
recorrentes de sistemas de um determinado domínio. Exemplos:
sistemas tipicamente colaborativos como redes sociais,
comunicação, entre outros.
Como os serviços comuns e específicos são implementados?

CAP.21 - Middleware para sistemas


colaborativos
2011 - JOSÉ MARIA NAZAR DAVID, RITA SUZANA PITANGUEIRA MACIEL 12 17
Serviços de Middleware (4/4)

Serviços específicos podem usar os serviços comuns na sua composição.


◦ Exemplo: serviço de emissão de convites utilizando o serviço de nomes,
eventos e comunicação.

13 17
Middleware para apoiar a
interoperabilidade
Serviços que compõem Sistemas Colaborativos necessitam evoluir e utilizar ambientes
diversificados.
Duas soluções para apoiar o desenvolvimento de Sistemas Colaborativos:
◦ uma única plataforma de middleware;
◦ suporte a diferentes de serviços (requer um esforço para interoperar).

Por que um middleware pode apoiar a interoperabilidade?


◦ Middleware como um ponto de convergência.
◦ Exemplo: um cenário com seis sistemas distintos, sendo três implementados na plataforma “J2EE” e
outros três na plataforma “.Net”.

14 17
Middleware para apoiar a integração

Dois cenários:
◦ sistemas já existem e complementam a funcionalidade do sistema que será
desenvolvido;
◦ novos sistemas e serviços terão que ser desenvolvidos.

15 17
Benefícios e Desafios do Uso de
Middleware
Benefícios:
◦ Serviços comuns podem oferecer o suporte adequado retirando do programador a necessidade de
compreender detalhes para integrar os sistemas;
◦ Serviços específicos podem ser utilizados para compor novos serviços e atender às especificidades
de cada sistema. Por exemplo: procedimentos de conversão de protocolos ou de políticas.

Desafios
◦ Suporte mais abrangente à interoperabilidade e à integração (banco de dados);
◦ Ausência de padrões.

16 17
Exercício
Considere o desenvolvimento de um sistema colaborativo para apoiar atividades relacionadas à
recomendação de filmes. Por meio da utilização desse sistema espera-se que os usuários, após
se cadastrarem, informem os seus perfis e gostos por determinados estilos de filmes. Opiniões
são associadas a cada filme, podendo dar início a uma discussão. Esse sistema deverá ser
desenvolvido a partir da definição de dois cenários. São eles: (i) inicialmente, sistemas serão
desenvolvidos para a execução em uma única organização; e (ii) sistemas em localidades
distintas serão integrados. Para cada cenário, identifique e justifique os serviços específicos e
comuns que poderão ser desenvolvidos

17 17
Sistemas Colaborativos
Pimentel, M., Fuks, H. (Org.)
Editora SBC/Elsevier, 2011
ISBN 978-85-352-4669-8

Esta apresentação é para ser usada como conteúdo de apoio na preparação de aulas relacionadas ao capítulo “Middleware para sistemas colaborativos” do livro “Sistemas
Colaborativos”.

O conteúdo desta apresentação é de responsabilidade dos autores do capítulo. Caso alguma imagem contida nessa apresentação seja protegida por direitos autorais e os autores
não tenham a respectiva autorização para divulgação, solicitamos que entrem em contato com nosso Serviço de Atendimento para que a imagem seja imediatamente retirada da
apresentação.

Você, professor, pode modificar essa apresentação para o seu uso individual em suas aulas, e assim se torna corresponsável pela conteúdo da apresentação. A editora se exime
de qualquer responsabilidade sobre as suas modificações.

Nem a editora nem os organizadores assumem qualquer responsabilidade por eventuais danos ou perdas a pessoas ou bens, originados do uso dessa apresentação.

CAP.21 - Middleware para sistemas


colaborativos
2011 - JOSÉ MARIA NAZAR DAVID, RITA SUZANA PITANGUEIRA MACIEL 18
Dúvidas?

Professor: Ricardo Santos de França


E-mail: ricardo.sfranca@professor.educacao.pe.gov.br

19 17

Você também pode gostar