CoDIMS - Configurable Data Integration Middleware System
   Projetos - Grupo de pesquisa em Banco de Dados

Figura1. Uma instância do Ambiente CoDIMS

O CoDIMS é um ambiente middleware baseado em componentes e frameworks projetado para prover extensibilidade e configuração para geração de sistemas de integração de dados. Através de reuso de componentes ou adaptação de componentes framework, o ambiente é usado como base para a geração de sistemas de integração de dados heterogêneos e distribuídos moldados para requisitos de aplicações específicas. Os sistemas produzidos são nomeados instâncias do ambiente CoDIMS. Os componentes geralmente presentes em uma instância do CoDIMS são: Gerência de Metadados, Processamento de Consultas, Acesso aos Dados e Controle.

  • O componente Gerência de Metadados é responsável por gerenciar as fontes de dados, os metadados globais e as informações de mapeamento.

  • O componente Processamento de Consultas é responsável por processar as requisições globais feitas pelas aplicações. Ele é composto por: um parser, um otimizador de consultas e uma máquina de execução de consultas.

  • O componente Acesso aos Dados é responsável pela comunicação entre o CoDIMS e cada fonte de dados.

  • O componente Controle é a essência do ambiente CoDIMS, e faz a orquestração da comunicação entre os serviços componentes. Ele armazena, gerencia, valida e verifica as configurações lógica e física.

    • A configuração física corresponde à seleção de componentes de software, sua customização de acordo com os requisitos da aplicação e seu registro como parte de um serviço composto de uma instância CoDIMS. Componentes exportam suas operações acessíveis externamente através de suas interfaces. Além disso, eles registram no Controle um catálogo de uma lista de seus serviços externos requisitados, que precisam estar presentes na instância do CoDIMS que o componente aparece. O Controle verifica a correspondência entre serviços oferecidos e requisitados.

    • A configuração lógica especifica a orquestração entre serviços que fazem parte de uma instância do CoDIMS. Ela determina a seqüência de chamadas para resolver uma requisição específica de um usuário. O processo de configuração é apresentado em detalhes aqui.

As figuras abaixo mostram alguns exemplos de configuração do CoDIMS:

Figura2. Configuração Básica



Figura3. Configuração Incluindo Controle de Concorrência e Gerência de Transação



Figura4. Configuração com Componentes específicos de uma Aplicação Qualquer



O CoDIMS é um projeto em andamento, escrito na linguagem Java para permitir portabilidade. Seus componentes são implementados como WebServices, e a comunicação entre eles é feita utilizando Apache SOAP-RPC (mais detalhes aqui).

©2009 Universidade Federal do Espírito Santo. Todos os direitos reservados.