Middleware e Integração
O Problema da Heterogeneidade
e a Tecnologia de Middleware
Rodrigo Alves Costa
[email protected]
Roteiro

Heterogeneidade



Integração de Dados




Ilhas de Informação
Relevância
Arquitetura
Middleware
Projeto BDFint
Conclusões
Rodrigo Alves Costa
[email protected]
Uma cena comum...



Organizações crescem e seus centros
de custo incham de forma
independente
Dados distribuídos em linhas
funcionais e departamentais
Dados e serviços fragmentados!
Rodrigo Alves Costa
[email protected]
Ilhas de informação






Dados organizados e gerenciados em
diferentes SGBDs
De diferentes empresas
Em diferentes sistemas operacionais
Que usam diferentes protocolos de rede
Fontes de dados autônomas e
independentes
Heterogeneidade é a palavra!
Rodrigo Alves Costa
[email protected]
Relevância
• 40% do custo do projeto é Integração
• Sempre existem múltiplos Domínios de
Tecnologia
• Aplicações Distribuídas por Hardware
• Não existe Tecnologia única para tudo
Rodrigo Alves Costa
[email protected]
O que fazer?

Integração pode ocorrer em três pontos da
aplicação

Camadas de apresentação


Funcionalidades


Sistemas utilizam interfaces de diversas aplicações
distintas para acessar processos ou informações
Um sistema completa o outro: compartilhamento de
métodos e objetos (distribuídos)
Dados

Sistemas que compartilham informações
heterogêneas mas que têm objetivos comuns
Rodrigo Alves Costa
[email protected]
Integração de Dados




Extração de dados de
uma base
Possibilidade de
modificação de tais
dados
Atualização da base
Replicação em outras
fontes
Rodrigo Alves Costa
[email protected]
Integração de Dados

Potencialidades:




Combinar dados de múltiplas fontes para análise e tomada de
decisão
Prover múltiplas aplicações com acesso à leitura a uma fonte de
informações comum
Permitir que dados sejam extraídos de uma fonte e
reformatados e atualizados em outra
Prós e contras do modelo:




O modelo provê uma flexibilidade maior do que os outros
modelos
Integração rápida quando os BD são facilmente acessíveis
através de interfaces ou quando o middleware realiza a
integração de dados
Permite que dados sejam reutilizados através de outras
aplicações
Sensível a mudanças Rodrigo Alves Costa
[email protected]
Integração no mundo real
O desenvolvimento deve ser orientado ao serviço,
não aos dados!

SODA (Services Oriented Development of
Applications)
 Aplicações devem fazer o melhor uso possível da
lógica existente

Rodrigo Alves Costa
[email protected]
Integração no mundo real
Rodrigo Alves Costa
[email protected]
Exemplo típico...

Projeto MENTAS


Realização de um ambiente de
desenvolvimento orientado à engenharia
Análise comparativa de motores



Diversos sistemas locais desenvolvidos,
diversas fontes distintas, diversas
ferramentas de simulação desenvolvidas
As fontes na intranet da Mercedes-Benz
devem ser vistas como fontes locais
Necessidade de integração
Rodrigo Alves Costa
[email protected]
Arquitetura de Cinco Níveis

Proposto por Sheth e Larson (1995)
Visão 1
Camada de
Integração
Visão 2
Visão n
Middleware
MDC
Comunicação
Tradutor
Sistema
Local
Tradutor
Sistema
Local
Rodrigo Alves Costa
[email protected]
Tradutor
Sistema
Local
Middleware




Camada de software que tenta solucionar o
problema da heterogeneidade
Fornece uma alternativa para simplificar a
vida dos usuários
Visão transparente dos recursos e serviços
Facilita a comunicação de pedidos entre
componentes de software por meio de
interfaces definidas ou mensagens.
Rodrigo Alves Costa
[email protected]
Middleware – Tipos

São implementados sob diferentes perspectivas
Para definir a forma mais adequada de implementação,
deve-se realizar uma análise técnica da aplicação

Ambiente de distribuição, tipos de dados, propósito de
integração são alguns fatores a serem analisados
Chamadas de procedimentos remotos (Remote Procedure
Calls);





Para aplicações distribuídas que se integram no nível de
procedimento.
Levam em consideração fatores como existência remota de
informação
Exemplo: Projeto BDFint
Rodrigo Alves Costa
[email protected]
Middleware – Tipos

Middleware de acesso a banco de dados;



Para aplicações que acessam dados
distribuídos em arquivos ou bancos de
dados.
Integra no nível de dados e permite consultas
ou mudanças dos dados por meio da rede.
Exemplos são: ODBC e JDBC.
Rodrigo Alves Costa
[email protected]
Middleware – Tipos

Middleware orientado a mensagem (MOM);



Provê a habilidade de integrar aplicações por
meio do uso de mensagens.
Habilidade para criar, manipular, armazenar e
comunicar essas mensagens.
Exemplos: MQSeries da IBM, MQIntegrator
da IBM, SagaVista da Saga e Talarian da
Smart Sockets.
Rodrigo Alves Costa
[email protected]
Middleware – Tipos

Tecnologia de objetos distribuídos;



DOT (Distributed Object Technology),
estende o conceito da tecnologia orientada a
objeto para processamento distribuído.
Interfaces são desenvolvidas para aplicações
que fazem software parecer como objetos.
Exemplos: CORBA, COM e DCOM.
Rodrigo Alves Costa
[email protected]
Middleware – Tipos

Monitores de processamento de transação.




TPMs (Transaction Processing Monitors)
preservam a integridade da transação.
Suportam características como rollback,
refazer, armazenar histórico de erro e
replicação para eliminar pontos de falha.
Asseguram que uma transação mantenha as
propriedades ACID (Atomicidade,
Consistência, Isolamento e Durabilidade).
Exemplo: Tuxedo da BEA.
Rodrigo Alves Costa
[email protected]
Federação



Distribuição no nível dos Dados
Conectividade no nível de Middleware
Arquitetura única

Todos os participantes da integração são servidor e
cliente
Rodrigo Alves Costa
[email protected]
Projeto DWFint

Abrange:
Integração de dados e esquemas utilizando
Agentes
 Distribuição de dados heterogêneos
Desenvolvimento de uma ferramenta para
desenvolvedores e analistas




Suporte ao desenvolvimento integrado de software
Suporte de todo o ciclo de vida de um software



Modelagem de funcionalidades
Dados de aplicação
Códigos-Fonte
Rodrigo Alves Costa
[email protected]
Agentes no DWFint

Sociedade de Agentes


Troca de mensagens e automatização do processo de
integração
Arquitetura geral de agentes divida em 3 ambientes:
Ambiente de Manutenção da Federação
Ambiente Gerador da Federação
Ambiente Comum da Federação
Rodrigo Alves Costa
[email protected]
Analistas/
Desenvolvedores
Estado Atual

Ambiente Comum da Federação finalizado


Agentes e Wrappers controladores
Ambiente para a sociedade de agentes integrado com
troca de mensagens JADE
Rodrigo Alves Costa
[email protected]
Trabalhos futuros

Refinamento do middleware utilizado no
DWFint


Ex: XPERANTO (Wisconsin University)
Implementação dos ambientes de Manutenção
e Finalização do Ambiente Gerador
 Agente Interligador


Gera um Modelo de Dados Canônico integrado
(XMI MOF)
Agente Integrador

Integra os diversos MDCs de diversas fontes
em um MDC comum para visualização
Rodrigo Alves Costa
[email protected]
Conclusões

Diversas demandas para middleware





Multimídia, Mobilidade, Tempo real, ...
O desenvolvimento de sistemas distribuídos de
integração deve suportar transparência de plataformas
(portabilidade)
Os serviços de Middleware devem ser baseados em
gerência de dados, suportando transações
Os sistemas de integração e suas abordagens para
Middleware devem suportar a mudança de requisitos
funcionais e não funcionais
Sistemas de integração tendem a ser complexos, é
imprescindível a redução da complexidade para o
suporte de novos participantes
Rodrigo Alves Costa
[email protected]
Referências
[1] Sheth, A. P., Larson, J. A.. 1990. Federated Database Systems for Managing Distributed, Heterogeneous, and Autonomous
Databases. Computing Surveys, 22(3):183-236.
[2] Inmon, W. H.. 1997. Como construir um Data Warehouse. Rio de Janeiro: Editora Campus.
[3] Ciferri, C. D. A.; Sousa, F. F.. 2000. Distribuindo os dados do Data Warehouse In: Anais do XV Simpósio Brasileiro de Banco de
Dados. Pg. 346-360. PUC – RS: CEFET-PB, João Pessoa.
[4] Pedersen, T. B. et. al.. 2000. “Aspects of Data Modeling and Query Processing for Complex Multidimensional Data”. Ph.D.
Dissertation Faculdade de Engenharia e Ciências, Universidade de Aalborg, Alemanha.
[5] Batini, C., Lenzerini, M. and Navathe, S. B.. 1986. A Comparative Analysis of Methodologies for Database Schema Integration.
Database Systems Research and Development Center, Computer and Information Sciences Department, University of
Florida, Gainesville, Florida.
[6] Heuser, C. A.. 1998. Projeto de banco de dados. 1a. edição. Sagra Luzzatto. Pg. 11-39.
[7] Navathe, S. B. & Savasere, A.. 1996. A Schema Integration Facility using Object-Oriented Model, In: Object Oriented
Multidatabase Systems, Cap. 04, Prentice Hall.
[8] Spaccapietra, S. & Parent, C.. 1994. View Integration: A Step Forward in Solving Structural Conflicts, In: IEEE Trans. On Software
Eng., vol 6, No. 2.
[9] Salgado, A. C., Lóscio, B. F.. Integração de Dados na Web. In: Anais da XX Jornada de Atualização em Informática.
[10] Samos, José et. al.. 1998. Database Architecture for Data Warehousing: An Evolutionay Approach. In: Proceedings 9th
International Conference on Database and Expert Systems Applications, DEXA'98, Vienna, Austria, Springer LNCS 1460, pp.
746-756.
[11] Booch, G., Rumbaugh, J., Jacobson, I.. 1998. UML, guia do usuário, tradução de Fábio Freitas da Silva. Campus.
[12] Sun Microsystems, The source for Java (TM) Tecnology.
Disponível em: http://java.sun.com
[13] OMG XML Metadata Interchange (XMI) Specification, February 02, 2000.
Disponível em http://www.omg.org.
[14] Bray, T., Paoli, J. and Sperberg-McQueen, C. M.. 1998. Extensible Markup Language (XML) 1.0, World Wide Web Consortium.
Disponível em: http://www.w3.org/TR/REC-xml
Rodrigo Alves Costa
[email protected]
Referências
[15] Rational Software, “Rational Rose ®: Visual Modeling, UML, Object Oriented, Component-based”.
Disponível em: http://www.rational.com/products/rose/index.jsp
[16] Introduction to the Booch Method.
Disponível em: http://www.hsr.ch/div/Booch/BoochReference/
[17] Schildt, H.. 1996. C, completo e total, tradução de Roberto Carlos Mayer. São Paulo: Makron Books.
[18] Melo, R. N., Silva, S. D. da, Tanaka, A. K..1997. Bancos de dados em aplicações cliente/servidor. Rio de Janeiro: Infobook, 2a.
tiragem.
[19] Ribeiro, A. C., Florentini, A. C.. O padrão XMI: uma proposta para sua utilização em Bibliotecas Digitais, disponível em
http://genesis.nce.ufrj.br/dataware/
[20] Wood, L., Apparao, V., Byrne, S., Champion, M., Isaacs, S., Jacobs, I., Hors, A. L., Nicol, G., Robie, J., Sutor, R., Wilson, C.,
“Document Object Model (DOM) Level 1 Specification Version 1.0”. World Wide Web Consortium, 1998.
Disponível em: http://www.w3.org/TR/REC-DOM-Level-1
[21] SAX: The Simple API for XML.
Disponível em: http://www.saxproject.org/
[22] JDOM. Disponível em: http://www.jdom.org/
[23] Bryan, M.. 1988. SGML: An Author's Guide to the Standard Generalized Markup Language. Wokingham/Reading/New York:
Addison-Wesley.
[24] Grose, T.. 2001. XMI Application Framework. Disponível em: http://www.alphaworks.ibm.com/tech/xmiframework
[25] Kim, W.. 1995. Modern Databases Systems – Object Model, Interoperability, and Beyond. Addison-Wesley.
[26] Campos, V. V. de S., Souza, F. da F. de, Costa, R. A.. 2002. Integração de Fontes Heterogêneas de Dados utilizando a Web e
XMI. In: CSITeA’02. Foz do Iguaçu – Brazil.
Rodrigo Alves Costa
[email protected]
Download

Middleware e Integração - Centro de Informática da UFPE