rodrigo alves costa [email protected] middleware e integração o problema da heterogeneidade e a...

26
Rodrigo Alves Costa [email protected] Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Upload: internet

Post on 19-Apr-2015

108 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [email protected]

Middleware e Integração

O Problema da Heterogeneidade e a Tecnologia de Middleware

Page 2: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [email protected]

Roteiro

Heterogeneidade Ilhas de Informação Relevância

Integração de Dados Arquitetura

Middleware Projeto BDFint Conclusões

Page 3: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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!

Page 4: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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!

Page 5: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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

Page 6: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [email protected]

O que fazer?

Integração pode ocorrer em três pontos da aplicação Camadas de apresentação

Sistemas utilizam interfaces de diversas aplicações distintas para acessar processos ou informações

Funcionalidades 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

Page 7: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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

Page 8: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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

Page 9: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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

Page 10: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [email protected]

Integração no mundo real

Page 11: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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

Page 12: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [email protected]

Arquitetura de Cinco Níveis

Proposto por Sheth e Larson (1995)

Comunicação

Sistema Local

Tradutor Tradutor Tradutor

Middleware

Visão 2 Visão 1 Visão n

Camada de Integração

Sistema Local

Sistema Local

MDC

Page 13: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [email protected]

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.

Page 14: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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

Page 15: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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.

Page 16: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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.

Page 17: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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.

Page 18: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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.

Page 19: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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

Page 20: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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

Page 21: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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 Gerador da Federação

Ambiente de Manutenção da Federação

Ambiente Comum da Federação

Analistas/Desenvolvedores

Page 22: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [email protected]

Estado Atual Ambiente Comum da Federação finalizado

Agentes e Wrappers controladores

Ambiente para a sociedade de agentes integrado com troca de mensagens JADE

Page 23: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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

Page 24: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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

Page 25: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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

Page 26: Rodrigo Alves Costa rac2@cin.ufpe.br Middleware e Integração O Problema da Heterogeneidade e a Tecnologia de Middleware

Rodrigo Alves [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.