rodrigo alves costa [email protected] middleware e integração o problema da heterogeneidade e a...
TRANSCRIPT
Rodrigo Alves [email protected]
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
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!
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!
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
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
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
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
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
Rodrigo Alves [email protected]
Integração no mundo real
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
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
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.
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
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.
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.
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.
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.
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
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
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
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
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
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
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
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.