PID - Projeto de Interoperabilidade de Dados
Pablo Vieira Florentino (Cefet-BA)
Hesley da Silva Py (IBGE\COBAD\GEACE)
Resumo
O Projeto de Interoperabilidade de Dados (PID) traduz-se como um ajuste nos sistemas de
informação do IBGE às novas tecnologias de interoperabilidade e disseminação de dados.
O PID permitirá aos diversos sistemas de informação do IBGE trocar dados de forma
transparente, utilizando formatos multiplataforma e auto-descritivos. Os dados serão
disseminados através de tecnologias que permitam maior segurança e controle,
oferecendo maior flexibilidade de interação. Com a definição desta nova política e o
estabelecimento de padrões para troca de dados, será possível otimizar todo o processo de
transferência de dados do e com o IBGE, atendendo primeiramente os diversos sistemas
internos do IBGE, fornecendo uma área única para acesso a dados, eliminando a
redundância e consequentemente divergências na apresentação dos dados. Em seguida, o
projeto será estendido para atender à troca de dados com outras instituições de pesquisa
em todo o mundo e com o governo, integrando o projeto e-Ping.
1. Introdução
O Projeto de Interoperabilidade de Dados (PID) traduz-se como um ajuste nos sistemas de
informação do IBGE às novas tecnologias de interoperabilidade e disseminação de dados. O PID
permitirá aos diversos sistemas de informação do IBGE trocar dados de forma transparente,
utilizando formatos multiplataforma e auto -descritivos. Os dados serão disseminados através de
tecnologias que permitam maior segurança e controle, oferecendo maior flexibilidade de
interação.
Com a definição desta nova política e o estabelecimento de padrões para trocas de dados,
será possível otimizar a transferência de dados que atenderá primeiramente aos diversos sistemas
existentes no IBGE, fornecendo uma área única para acesso a dados, eliminando a redundância e
consequentemente divergências na apresentação dos dados. Em seguida, o projeto será estendido
para atender à troca de dados com outras instituições de pesquisa em todo o mundo e com o
governo. Desta forma, pretende-se ajustar o IBGE às iniciativas de padronização do governo
através do projeto e-Ping e aos padrões internacionais de troca de informações estatísticas, como
o SDMX [3,4,5].
2. Motivação
Este projeto tem como motivação a pluralidade e heterogeneidade de ambientes
computacionais existentes no IBGE, o suporte às novas alternativas de troca de dados via
Internet/Intranet, a flexibilização de acesso às informações e a padronização de troca de dados
entre sistemas internos e/ou externos. É importante ressaltar que o IBGE é uma organização
dinâmica cujos dados precisam circular facilmente, corretos e atualizados, pelas suas diferentes
áreas e setores, assim como ser facilmente disponibilizados para a sociedade.
No entanto, é de fácil constatação a dificuldade de integração entre esses diferentes
sistemas existentes na instituição. Não raro encontram-se casos (Figura 1) nos quais os dados, já
armazenados em SGBDs avançados, como o DB2 [12] e Oracle [11], são exportados para um
arquivo texto, sem qualquer semântica, com os campos separados por marcadores simples. Este
arquivo texto deve então possuir um arquivo de “layout” proprietário que o descreva para que
possa ser carregado em uma outra base de dados. Os arquivos gerados são geralmente grandes,
ocupando um espaço em disco desnecessário. Neste processo de leitura e carga dos dados, é
muito comum a ocorrência de erros na disposição dos dados dentro do arquivo, assim como nos
separadores de campo. Estes erros geram dois tipos de retrabalho: os responsáveis pela geração
do arquivo têm que re-escrever o programa que cria o arquivo, gerá- lo e disponibilizá- lo. Já os
2
responsáveis pelo sistema receptor dos dados têm de refazer os arquivos de configuração para
carga de nova versão dos arquivos de dados. Este processo de refinamento até um arquivo de
dados válido pode atrasar de forma cons iderável todo o processo de troca de informações,
podendo trazer prejuízos para os projetos e para o próprio IBGE.
Programa P
Base de
dados A
Arquivo
Texto
loader
Base de
dados B
Figura 1 – Fluxograma do processo de carga de dados com arquivos texto
Outro ponto verificado que merece nossa atenção diz respeito à disseminação dos dados.
Algumas vezes uma publicação é gerada a partir de dados localizados em um banco de dados
local, que após publicados são carregados em sistemas - como por exemplo o SIDRA [13] - a
partir dos quais novas publicações podem ser geradas. Nesse momento teríamos duas fontes
distintas, e devido a questões de arredondamento, possivelmente diferentes para o mesmo dado.
Existe ainda outro ponto relacionado à falta de visibilidade dos dados existentes. Devido a
grande quantidade de áreas distintas no IBGE torna -se difícil uma divulgação que permita que
todos saibam quais dados já existem, e estão disponíveis. Essa dificuldade acarreta muitas vezes
retrabalho e redundância de dados.
Uma última motivação para este projeto é a adequação do IBGE a padrões nacionais e
internacionais de troca de dados. No âmbito nacional temos o e-Ping, proposto pelo Governo
Federal, que tem como um de seus objetivos garantir uma maior interconectividade e integração
de sistemas e dados na esfera governamental. Na área internacional, temos iniciativas de
padronização de troca de informações lideradas pela OECD (Organization for Economic Cooperation and Development [4]) para criação de um padrão internacional para troca de dados e
metadados estatísticos.
2.1. Objetivos
Podemos citar como objetivos maiores do PID:
§ Padronizar e facilitar a troca de informações entre os diferentes sistemas do IBGE;
§ Oferecer aos usuários de informações do IBGE dados em formatos que possam ser lidos e
manipulados em qualquer plataforma através de novas tecnologias de comunicação baseadas
na Internet;
§
§
Diminuir a ocorrência de erros quando na transferência de dados entre sistemas;
Estabelecer uma fonte única de dados, eliminando redundâncias e inconsistências;
3
§ Integrar o projeto e-Ping e facilitar a interoperabilidade entre os diversos sistemas que o
compõem;
§
Adequação do IBGE a padrões internacionais, como o SMDX [5].
2.2. Projetos envolvidos
São considerados projetos relevantes para o PID todos aqueles pertencentes ao IBGE internos - que necessitem trocar dados entre si, fato bastante comum dentro da instituição, e todos
aqueles que necessitem trocar dados com outras instituições - externos.
3. Descrição das Tecnologias
3.1. XML
Com o avanço e popularização da Internet, consórcios internacionais de regulamentação
deste meio de comunicação, como o W3C, definiram um formato padrão e público de dados. Este
formato permite a especificação de bases de dados semi-estruturados, auto -descritivos e
multiplataforma, ou seja, dados com alta portabilidade. Assim, os mesmos podem ser
manipulados por diferentes plataformas como Windows, Linux, Unix, Macintosh, entre outras.
Este formato é conhecido como XML (eXtensible Markup Language) [1,7] e serve de base para
especificação de outras linguagens para dados semi-estruturados de aplicação específica.
Junto com a XML foram criadas outras linguagens que facilitassem o manuseio dos dados
contidos em XML. Entre estas linguagens, podemos citar:
§
XSLT – eXtensible Stylesheet Language Transformations – recomendação da W3C para
transformação e apresentação de documentos XML [10] ;
§ Xquery – eXtensible Query Language – linguagem de consulta a arquivos XML com
especificação da W3C [6];
§ XPath – eXtensible Path Language – recomendação W3C para acessar e/ou referenciar
partes de um documento XML [9];
§ DTD – Document Type Definition – recomendação W3C para definir documentos XML;
§ XMLSchema – recomendação W3C para definir documentos XML [10].
3.2. Serviços web
Os serviços web (conhecidos também como Web Services) podem ser entendidos como
aplicações voltadas para Internet que enviam e recebem informações mediante requisições.
Serviços Web são predominantemente transações B2B (Business-to-Business) entre instituições e
4
organizações. Uma determinada organização pode ser consumidora de Serviços web e
fornecedora de outros serviços web. Por exemplo, uma instituição financeira pode fazer uma
consulta a um serviço web do Banco Central requisitando que sejam enviadas como resposta as
taxas do dólar e do euro. Os dados transmitidos em um serviço web devem estar seguindo um
padrão baseado em XML.
Os serviços web funcionam sobre o protocolo HTTP, utilizando sobre esse o protocolo
SOAP (Simple Object Access Protocol). Cada serviço web deve possuir as seguintes
características:
§ Definição da estrutura e do tipo dos documentos a serem transmitidos;
§ Definição da URL onde ficará hospedado e funcionando o serviço web;
§ Protocolo a ser utilizado para troca de dados.
Para descrever estas características foi definida a linguagem WSDL (Web Service
Description Language), baseada em XML. Cada serviço web deve ter a sua descrição no formato
WSDL. Este descrição é suficiente para que o mundo externo ao serviço tenha o conhecimento
necessário para se comunicar com aquele único serviço web. Para facilitar o acesso a serviços
web, já existe um serviço internacional, com catálogo de publicação de diversos serviços Web
disponíveis, chamado UDDI (Universal Description, Discovery and Integration, podendo ser
acessado no endereço http://uddi.org ).
4. PID
Todo o trabalho realizado até o momento no PID tem caminhado no sentido de
interoperabilizar e disseminar dados, buscando estabelecer um padrão de troca de dados
(interoperabilidade) entre os diferentes sistemas existentes no IBGE, criar uma área única
(disseminação) onde esses dados possam ser facilmente encontrados, conhecer e adotar o padrão
existente para troca de dados com outros institutos de pesquisa ao redor do mundo e estabelecer
um padrão para acesso aos dados existentes no IBGE pelos seus clientes (Governo e sociedade
em geral).
Dentre as possibilidades para compartilhamento de dados temos estudado o uso de dois
métodos conhecidos como PULL e PUSH:
§ Métodos PUSH – O provedor de dados (área produtora) toma a iniciativa de enviar
os dados para as partes interessadas. O envio dos dados no método PUSH pode ser
feito de várias maneiras: e-mail, transferência de arquivos, e em alguns casos suportada
por sistemas oferecidos pela parte coletora. É a forma tradicional de coleta de dados
usada por organizações internacionais há muitos anos.
5
§ Métodos PULL – O provedor dos dados (área produtora) torna os dados
disponíveis via Internet. Neste caso os coletores de dados devem ter a possibilidade de
buscar os dados por sua própria iniciativa.
No estudo do método PULL temos dado especial atenção aos serviços web (webservices).
Nesse caso, cada projeto institucional, seguindo o padrão definido pelo PID, disponibilizaria um
serviço web, autodescritivo, através do qual todos os outros projetos pudessem acessar e
recuperar informações. Dado um sistema X que disponibiliza informações para os sistemas Y e
W, então X teria que fornecer um formato F.X (público ao IBGE) e um endereço de serviço web
E.X para que Y e W (ou qualquer outro sistema dentro da instituição) pudessem fazer acesso aos
seus dados.
Cada sistema ficaria responsável por disponibilizar os dados, forçando todos os sistemas a
obedecer a um padrão único. Eliminaria-se, assim, os diversos problemas de interoperabilidade
tecnológica existentes entre os atua is sistemas.
SISTEMA W
ß Consulta W, Y... Z
SISTEMA X
à
Resultado W, Y...Z em
XML
SISTEMA Y
..
.
SISTEMA Z
E.X + F.X
Figura 2. Proposta de arquitetura para o PID
Com a utilização desta arquitetura, haveria mais independência e liberdade para consulta e
aquisição dos dados, já que os sistemas estariam disponíveis a qualquer hora, sem depender
diretamente do fator humano.
Um outro ganho significativo seria a eliminação de inconsistências na apresentação das
informações. Todos os dados disponibilizados pelo IBGE estariam disponíveis em uma área
única, agrupados por áreas de interesse. Por exemplo, os dados referentes a uma determinada
pesquisa estariam em uma área comum de conhecimento de todos, disponíveis através de uma
única interface que é responsável por disponibilizar as informações em seu formato final. Dessa
forma eliminamos o problema de redundância de dados e podemos impedir que publicações em
meios diferentes sobre o mesmo tema (ex. publicações via sistemas web e publicações impressas)
6
possuam dados inconsistentes devido ao arredondamento feito nos dados numéricos, por
exemplo.
5. Plano de Integração de novas tecnologias
Abaixo é apresentada uma lista não definitiva das fases a serem seguidas para implantação
do projeto PID.
A.
B.
C.
D.
E.
Tabela 1 – Fases do PID
FASE
Desenvolvimento de um website para compartilhamento das
informações referentes ao projeto.
Definição dos projetos envolvidos por prioridade e interoperabilidade:
- Com ambientes internos
- Com sistemas externos
Capacitação (Cursos / Palestras)
Implementação do padrão – FASE I
Implementação do padrão – FASE II
A. Desenvolvimento de um website para compartilhamento das informações referentes
ao projeto:
Com o intuito de manter todos os participantes do projeto PID atualizados com tudo que
está acontecendo relacionado ao projeto, foi criado um website com as seguintes áreas: artigos,
documentos, links e eventos; onde estão disponíveis, todas as informações referentes ao projeto.
B. Definição dos projetos envolvidos por prioridade e interoperabilidade:
Na fase inicial deverão acontecer diversas reuniões de conscientização e apresentação
com líderes dos projetos existentes no âmbito do IBGE. Nestas reuniões deverão ser apresentados
os projetos e-Ping e PID com os seus objetivos principais. Em seguida, uma breve apresentação
sobre XML e WebService, fechando com uma apresentação mais detalhada sobre a proposta de
arquitetura do PID.
Num segundo momento, deverão ser definidos os projetos que irão integrar o PID,
atribuindo aos mesmos um grau de prioridade para adequação ao padrão e sua classificação
quanto a interoperabilidade: sistemas internos ou sistemas externos.
C. Capacitação (Cursos)
No que tange a capacitação dos funcionários envolvidos no processo de implantação e
adequação ao padrão, será necessário realizar treinamento específico dos profissionais
envolvidos. Para isto, deve-se oferecer cursos na de XML e WebServices e como desenvolver e
7
tratar estas duas tecnologias a partir de linguagens de programação utilizadas pelo IBGE, como
Java e .Net.
D. Implementação do padrão – FASE I
Implementação e adequação de um projeto piloto considerados prioritário para a
padronização. Nesta fase deve-se gerar documentação que sirva de subsídio para os projetos
participantes da FASE II.
E. Implementação do padrão – FASE II
Implementação e adequação dos demais projetos componentes do PID. Os projetos desta
fase devem se basear na experiência adquirida com o projeto da FASE I. Para isto, reuniões e/ou
apresentações devem ser agendadas a fim de que os projetos exponham sobre o processo de
implantação ocorrido.
6. Conclusão
O Projeto de Interoperabilidade de Dados reforça as tendências mundiais no sentido de
utilizar padrões para troca de dados em ambientes heterogêneos e distribuídos. Com este projeto,
será possível alinhar o IBGE com as práticas mais avançadas para disseminação de dados,
conseguindo eliminar problemas de redundância e divergências na apresentação dos dados. Além
disso, será possível ao IBGE interagir com instituições externas de pesquisa no Brasil e no
mundo.
Referências Bibliográficas
1. ANDERSON, R. E. A.,ET.AL., 2000, Professional XML. 2, Wrox Press.
2. COMITÊ EXECUTIVO DO GOVERNO ELETRÔNICO, 2005, "e-Ping Padrões de
Interoperabilidade do Governo Eletrônico". In: www.governo eletronico.gov.br.
3. METADATA TECHNOLOGY, 2006, " Metadata Technology". In:
http://www.metadatatechnology.com/, Accessed in 07/2006.
4. OECD EXCHANGE EXPERT GROUP, 2006, "Organization for Economic Co-operation
and Development Exchange Expert Group". In:
http://www.oecd.org/std/research/exchangeexpertgroup/.
5. SDMX EXPERTS GROUP, 2006, "SDMX - Statistical Data and Metadata Exchange".
In: http://www.sdmx.org/.
8
6. W3C XML QUERY WORKING GROUP, 2006, "XQuery 1.0: An XML Query
Language". In: http://www.w3.org/TR/xquery.
7. W3C XML WORKING GROUP, 2006, "Extensible Markup Language (XML) 1.0 (Third
Edition)". In: http://www.w3.org/TR/REC -xml, Accessed in 10/2005.
8. W3C XML WORKING GROUP, 2006, "XML Schema". In:
http://www.w3.org/XML/Schema, Accessed in 07/2006.
9. W3C XPATH WORKING GROUP, 2006, "XML Path Language (XPath) Version 1.0".
In: http://www.w3.org/TR/xpath.
10. W3C XSL WORKING GROUP, 2006, "The Extensible Stylesheet Language Family
(XSL)". In: http://www.w3.org/Style/XSL/, Accessed in 10/2005.
11. ORACLE CORPORATION, 2006, "Oracle Database". In:
http://www.oracle.com/database/index.html, Accessed in 07/2006.
12. IBM CORP, 2006, "DB2 Database". In: http://www.ibm.com/db2, Accessed in 07/2006.
13. INSTITUTO BRASILEIRO DE GEOGRAFIA E ESTATÍSTICA, 2006, "SIDRA". In:
http://www.sidra.ibge.gov.br/, Accessed in 07/2006.
9
Download

PID - Projeto de Interoperabilidade de Dados Resumo