Pacotes
Segue uma breve descrição dos pacotes definidos na
implementação do Integrate (clique na figura para ampliar). Para
detalhes das classes de cada pacote, acesse o
javadoc.
- br.ufg.integrate.controller
- Interface e classes que implementam o Controlador, que é a classe
principal do Integrate. A interface e a implementação
(ControllerImpl)
buscam disponibilizar o Integrate para chamadas
remotas (em desenvolvimento).
- br.ufg.integrate.exception
- Exceções exclusivas do Integrate.
- br.ufg.integrate.jdbc
- Classes que implementam um driver
JDBC, responsáveis em interceptar a
requisição original da aplicação cliente e redirecioná-la ao
Controlador. Fazem o tratamento inicial da URL de conexão e a repassam
para os processos posteriores. Após o processamento, devolve as
respostas geradas à aplicação. Por se comunicar com a aplicação através
de JDBC, mantém para esta a transparência do Integrate.
- br.ufg.integrate.lookup
- Contém a interface Lookup
(representa o serviço de lookup,
que deve fornece os esquemas das fontes de dados registradas no
sistema) e duas implementações para fontes de dados do tipo
JDBC e CSV. Se o usuário desejar acessar outro tipo de formato ou se
preferir criar seus próprios tradutores, esta interface deverá ser
implementada.
- br.ufg.integrate.lookup.schema
- Interfaces que buscam a conversão do esquema de uma fonte de dados
para um formato único em mais alto nível, para facilitar as tarefas
internas do Integrate para o serviço de lookup. Podem ser
reutilizadas por desenvolvedores de mediadores, mas devido à maior
abstração empregada, podem não atender a todas as necessidades. Para
maiores detalhes, acesse o javadoc destas classes.
- br.ufg.integrate.lookup.schema.jdbc
- Implementação das interfaces do pacote br.ufg.integrate.lookup.schema
para a realidade relacional, como tabelas e colunas. Como as
implementações de tradutores e de lookup's
disponibilizadas trabalham apenas com o formato relacional (através de
JDBC), o Integrate utiliza estas classes internamente na execução do
serviço de lookup.
- br.ufg.integrate.mediator
- Interface que deve ser implementada por desenvolvedores de
mediadores, para padronizar as requisições de serviços feitos pelo
Controlador ao mediador.
- br.ufg.integrate.remote
- Contém classe responsável em disponibilizar o Controlador para
acessos remotos (em desenvolvimento).
- br.ufg.integrate.util
- Pacote que contém diversas classes utilitárias utilizadas
internamente pelo Integrate.
- br.ufg.integrate.wrapper
- Contém a interface Wrapper
(representa o serviço de tradutor,
que faz a interface entre uma fonte de dados e o Controlador)
e duas implementações para fontes de dados do tipo JDBC e CSV.
Se o usuário desejar acessar outro tipo de formato ou se preferir criar
seus próprios tradutores, esta interface deverá ser implementada.
- br.ufg.integrate.wrapper.csv
- Conjunto de classes que implementam o driver JDBC para
arquivos CSV,
a partir de uma adaptação do CsvJdbc.
Assim como a versão original, este driver
não executa operações de
alteração, apenas de consulta. Como acréscimo ao original, foi
adicionado o fornecimento das informações sobre o esquema da fonte de
dados, através da implementação das interfaces java.sql.DatabaseMetaData
e java.sql.ResultSetMetaData.
- br.ufg.integrate.wrapper.jdbc
- Conjunto de interfaces e classes que estendem parcialmente a API
JDBC, para facilitar a criação de tradutores e lookup's.
- br.ufg.integrate.wrapper.jdbc.impl
- Implementam as interfaces do pacote br.ufg.integrate.wrapper.jdbc.
Estas classes foram utilizadas na implementação dos tradutores
fornecidos originalmente pelo Integrate. Como as interfaces não
implementam a API JDBC em sua plenitude, desenvolvedores de tradutores
que necessitarem de todos os recursos de JDBC devem implementar suas
próprias classes.
- br.ufg.integrate.wrapper.query
- Conjunto de classes opcionais utilizadas no processo de consultas.
Abstraem de forma reduzida a formatação das mensagens de consultas
trocadas entre o mediador e o Controlador, visto que estas classes
formatam uma consulta SQL simples em uma estrutura de classes. Este
conceito de abstração da consulta SQL pode ser utilizada em versões
futuras do Integrate na definição de novos formatos de mensagens entre
o mediador e o Controlador, abstraindo do primeiro a necessidade
de conhecer SQL.
- br.ufg.integrate.xml
- Conjunto de classes que executam as validações e parsers dos
arquivos XML manipulados pelo Integrate, convertendo-os em objetos para
facilitar sua manipulação (ver pacote br.ufg.integrate.xml.bean).
- br.ufg.integrate.xml.bean
- Cojnunto de javabeans
que representam os arquivos XML .
- br.ufg.integrate.xml.type
- Interface e implementações responsáveis pelas conversões de tipos de
cada formato de fonte de dados. Como o Integrate trabalha internamente
em JDBC, é necessário a conversão de outros formatos para este. Cada
implementação (são disponibilizadas duas, para os formatos JDBC e CSV)
deve manter uma tabela de relacionamento entre os tipos de dados da
fonte de dados para os tipos definidos na especificação de JDBC. A
implementação para JDBC é necessária porque cada SGBD de mercado tem
seus próprios tipos de dados internos, nem sempre compatíveis com os
definidos na especificação JDBC padrão. Esta implementação faz o
mapeamento entre os tipos JDBC e os tipos do SGBD, e para isso, depende
de um arquivo de configuração externo padronizado para cada SGBD (ver
arquivos *TypeConf),
arquivo este que deve ser informado no arquivo de configuração
integrate-datasourecs.xml.
- br.ufg.integrate.xml.type.jdbc
- Classes utilitárias que fazem a conversão de tipos entre os tipos
definidos na especificação JDBC e os tipos da especificação XML Schema.
Esta conversão é necessária porque o Integrate trabalha internamente
com JDBC e o serviço de lookup
fornece um arquivo formatado em XML Schema.
- br.ufg.integrate.xml.type.jdbc.datasource
- Conjunto de classes que fazem o mapeamento dos tipos de dados de cada
fonte de dados. O Integrate disponibiliza classes para os alguns
SGBD's do mercado (Firebird, HSQLDB, MySQL, PostgreSQL,
MS-Access), além de outra para o driver
CSV
implementado. A
interface DataSourceTypes
deve ser implementada, caso o usuário deseje acessar
SGBD's não disponibilizados ou outras fontes de dados diferentes.
Última atualização: 28/06/2009