4 alt=imagem_pdf.jpg src="/imagens/imagem_pdf.jpg" width=34 border=0>
N>Uma das características mais marcantes dos tempos atuais é o crescimento vertiginoso de dados disponíveis para acesso via Web. Um dos fatores que mais contribui para esta explosão é a facilidade que as pessoas encontram em publicar dados. Planilhas de custo, relatórios de atividades, gráficos de produção são exemplos que mostram que não existem limites para as informações que podem ser compartilhadas. Mesmo usuários inexperientes podem rapidamente gerar páginas HTML, usando ferramentas intuitivas no estilo Wiki.
Dessa diversidade surge uma rede de informações, possivelmente relacionadas, espalhadas em diversos pontos e modeladas em diferentes formatos. O problema? Acessar todas essas fontes de dados de uma forma transparente, preferencialmente utilizando uma interface única de consulta. Esse é na verdade o objetivo primordial dos sistemas de integração de dados.
Sistemas deste tipo são usados em diversas áreas de interesse, tanto a nível mais científico (como o acesso a bases de dados biológicas) quanto a nível mais geral (como as ferramentas de busca no estilo Google Desktop ou MSN Search).
Neste artigo, abordarei diferentes formas de modelar uma base de dados para que ela possa ser usada por um sistema de integração. Ao investigar o problema, traçarei um paralelo com a modelagem orientada a objetos, salientando como ela pode contribuir para o caso aqui estudado.
Aplicação de exemplo
Muitas pessoas recorrem à Web para procurar informações sobre filmes. E esse comportamento é plenamente justificado. Na Web, o domínio de filmes costuma ser um dos mais ativos. O site IMDB é um exemplo disso. Trata
No entanto, apesar de possuir informações sobre um acervo de filmes gigantesco, a interface de consulta deixa a desejar. Por exemplo, não existe uma forma rápida de descobrir quais filmes foram lançados em 1999, ou quais diretores atuaram com a produtora MGM.
Percebendo uma oportunidade de mercado, uma empresa decidiu lançar um novo serviço de pesquisa por filmes com uma interface de consulta mais rica. A parte interessante do sistema é a forma como se alimenta a base de filmes. Ao invés de depender de recursos humanos para inserir os filmes na base, o sistema deve coletar essas informações automaticamente
Para que um sistema desse porte seja construído, alguns módulos precisariam ser desenvolvidos, como o crawler e o wrapper. O papel do crawler é varrer a Web à procura de páginas HTML que tratem sobre filmes. Já o papel do wrapper é extrair as informações das páginas em um formato que facilite o seu processamento. No nosso caso, o wrapper deve extrair tabelas de dados a partir de páginas HTML.
Para o fim proposto neste artigo, os detalhes de implementação do crawler e do wrapper não são relevantes. Assim, vamos supor que eles já existam, e que após a sua execução a coleção de tabelas indicada na Tabela 1 pôde ser extraída.
|
Tabela A | ||
|
titulo |
ano |
genero |
|
Pulp Fiction |
1994 |
Acao |
|
Armageddon |
1998 |
Ficcao |
|
American Pie |
1999 |
Comedia |
|
Tabela B | ||
|
titulo |
ano |
diretor |
|
Pulp Fiction |
1994 |
Tarantino |
|
The Matrix |
1999 |
Wachowski |
|
Tabela C | |
|
... | |