Top Banner
31
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora

Renan Rodrigues de Oliveira

Cedric Luiz de Carvalho

Technical Report - RT-INF_002-11 - Relatório TécnicoApril - 2011 - Abril

The contents of this document are the sole responsibility of the authors.

O conteúdo do presente documento é de única responsabilidade dos autores.

Instituto de Informática

Universidade Federal de Goiás

www.inf.ufg.br

Page 2: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora

Renan Rodrigues de Oliveira ∗

[email protected]

Cedric Luiz de Carvalho †

[email protected]

Abstract. Digital libraries are a set of electronic resources and associated technicalcapabilities to create, search and use information, where its collection is stored indigital format. For the construction of these new models of providing information,various tools are being continuously developed and refined. Fedora is an open sourceplatform that provides an architecture designed to serve as the basis for the imple-mentation of digital repositories for a wide variety of applications. This work has theobjective of discussing some concepts and characteristic of the Digital Libraries andto present the Fedora solution .

Keywords: Digital Libraries, Open Archives Model, Digital Objects, Fedora

Resumo. As bibliotecas digitais são um conjunto de recursos eletrônicos e capaci-dades técnicas associadas para criar, buscar e usar informações, em que seu acervo éarmazenado em formato digital. Para a construção desses novos modelos de disponi-bilização de informação, várias ferramentas estão sendo continuamente desenvolvi-das e aperfeiçoadas. O Fedora é uma plataforma de código aberto que oferece umaarquitetura projetada para servir como base para a implementação de repositóriosdigitais para uma grande variedade de aplicações. Este trabalho tem como obje-tivo discutir alguns conceitos e característica das bibliotecas digitais e apresentar asolução Fedora.

Palavras-Chave: Bibliotecas Digitais, Modelos de Arquivos Abertos, ObjetosDigitais, Fedora

1 IntroduçãoCom o aumento do uso da rede mundial de computadores e dos avanços tecnológicos que

facilitam a publicação e difusão de informações, as bibliotecas digitais surgiram com objetivode dar acesso a toda informação digital armazenada em um determinado repositório de dados.Estes dados podem ser de diferentes tipos de objetos digitais (documentos, imagens, planilhas,vídeos, programas, etc.), devidamente catalogados por metadados, geralmente com interface deacesso via Web (World Wide Web).∗Mestrando em Ciência da Computação – INF-UFG.†Orientador – INF-UFG

1

Page 3: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 2

O conceito de biblioteca digital aparenta algo revolucionário, mas na verdade ele é resul-tado de um processo gradual e evolutivo. Nas últimas décadas, o computador tem sido utilizadode forma cada vez mais crescente.

Desde os anos 70, muitas bibliotecas implementaram mecanismos de automatização com-putacional de seus processos, passando a acessar bancos de dados para recuperar referênciasbibliográficas e textos completos de artigos de periódicos, verbetes de enciclopédias e itens deoutras fontes de referência. A partir do fenomenal crescimento da Internet, as possibilidades deacessar e recuperar informações aumentaram de forma nunca antes imaginada [13].

Uma biblioteca tradicional é aquela onde a maioria dos itens do seu acervo é constituídade documentos em papel ou de outro artefato físico. Uma característica das bibliotecas tradi-cionais é que tanto a coleção como o seu catálogo utilizam o papel como suporte de registro dainformação.

As bibliotecas digitais possuem seus acervos armazenados em formato digital em umrepositório de dados centralizado ou distribuído. Associado a este repositório de dados, existeum sistema de informações com as funcionalidades necessárias à manipulação do acervo digital.

Segundo a Digital Library Federation (consórcio de bibliotecas e agências relacionadasque usam tecnologias de informação eletrônica para estender suas coleções e serviços), as bib-liotecas digitais são organizações que produzem os recursos, incluindo as pessoas especializadaspara selecionar, estruturar, oferecer acesso intelectual, interpretar, distribuir, preservar a integri-dade e garantir a persistência, ao longo do tempo, das coleções de trabalhos digitais, para queeles estejam legíveis e disponíveis para uso por uma comunidade ou conjunto de comunidadesdefinidas [14].

As bibliotecas digitais prometem inúmeros e valiosos benefícios para a sociedade. O maisóbvio é o fim das restrições de espaço e tempo ao acesso à informação, além de contribuir pararedução das desigualdades sociais e regionais [3].

Uma vez que são programas complexos, as bibliotecas digitais demandam grande esforçode desenvolvimento, sendo objetos de pesquisa multidisciplinar, construídas, adaptadas e tes-tadas ao longo de vários anos de pesquisas.

Quando o potencial das bibliotecas digitais estiver realizado, incluindo a presença demecanismos de processamento semântico, haverá a possibilidade de se ter acesso imediato aqualquer conhecimento humano documentado, a partir de qualquer lugar e de forma mais pre-cisa.

As novas bibliotecas digitais terão funcionalidades inexistentes nas bibliotecas tradi-cionais, ampliando o conceito de biblioteca. Elas acelerarão o desenvolvimento da ciência etecnologia e aumentarão a qualidade de vida dos cidadãos. Com a Internet de banda larga,novos serviços e formas mais complexas de conteúdo digital, como áudio e vídeo, podem serfacilmente disponibilizados. Com o avanço das redes móveis, esta informação estará acessívela locais não conectados por fios [3].

Esta facilidade com que uma biblioteca digital pode fazer trafegar um documento de umlocal para outro leva a concluir que as ações cooperativas com entidades afins venham a serestimuladas. O computador que hospeda o acervo de uma determinada biblioteca digital (servi-dor) pode estar a milhares de quilômetros do computador do usuário (cliente), que faz requi-sições a documentos digitais remotos. Para os usuários, o que importa é que o documento porcompleto seja acessível de forma rápida, econômica e sem dificuldades de outra natureza [12].

Este trabalho tem como objetivo discutir alguns conceitos e características das bibliote-cas digitais e apresentar a arquitetura Fedora, que é a solução para bibliotecas digitais propostapela Cornell University em parceria com a University of Virginia. Além deste capítulo in-trodutório, o restante do trabalho está dividido como se segue: na seção 2, são apresentadas

Page 4: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 3

algumas características das bibliotecas digitais. Na seção 3, apresenta-se o projeto BibliotecaDigital Brasileira (BDB), apoiado pelo IBICT (Instituto Brasileiro de Informação em Ciênciae Tecnologia), bem como outras iniciativas brasileiras de implementação de bibliotecas digi-tais. Na seção 4, apresenta-se o Modelo Open Archives, que surgiu como uma necessidade paraprover interoperabilidade entre repositórios digitais, possibilitando o acesso ao acervo de infor-mações neles existentes, de forma integrada por parte dos usuários. Na seção 5, são apresen-tadas algumas ferramentas para implementação de bibliotecas digitais. Na seção 6, apresenta-sea arquitetura Fedora, que é uma ferramenta de código aberto que surge como alternativa para aimplementação de repositórios digitais em uma variedade de setores. Na seção 7, apresenta-sea aplicação desenvolvida como protótipo, que manipula alguns serviços fornecidos pela APIdo Fedora através de chamadas via web services. Finalmente, na Seção 8, são apresentadas asconsiderações finais.

2 Bibliotecas DigitaisAs bibliotecas digitais são um conjunto de recursos eletrônicos e capacidades técnicas

associadas para criar, buscar e usar informações. Nesse sentido, elas constituem uma extensãodos sistemas de armazenamento e recuperação de informação, que manipulam dados digitaisnos mais variados formatos, operando em um ambiente distribuído [40].

A recuperação de informação é uma área da computação que lida com o armazenamentode documentos e a recuperação automática de informação associada a eles. Analisando oambiente onde as bibliotecas digitais estão inseridas, podemos encontrar várias das seguintescaracterísticas [13]:

• acesso remoto pelo usuário, por meio de um computador conectado a uma rede;

• utilização simultânea do mesmo documento por duas ou mais pessoas;

• inclusão de produtos e serviços de uma biblioteca ou centro de informação;

• existência de coleções de documentos, onde se pode acessar não somente a referênciabibliográfica, mas também o seu texto completo;

• possibilidade de acesso em rede a outras fontes externas de informação (bibliotecas,museus, bancos de dados, instituições públicas e privadas);

• disponibilidade de documento de forma que a biblioteca local não necessite serproprietária do documento solicitado pelo usuário;

• possibilidade de registro e manipulação de diversos tipos de informação tais como texto,som, imagem e vídeo;

• existência de unidade de gerenciamento do conhecimento, que inclui sistema inteligenteou especialista para ajudar na recuperação de informação mais relevante.

O uso de mecanismos eficientes de busca e a utilização de metadados em bibliotecasdigitais têm como objetivo melhorar a relação de documentos relevantes retornados.

Os metadados são freqüentemente chamados de dados sobre dados ou informação sobreinformação [34]. A principal finalidade dos metadados é documentar e organizar os dadosdas organizações, de forma estruturada, com o objetivo de minimizar duplicação de esforços efacilitar a manutenção dos dados.

Page 5: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 4

3 O projeto Biblioteca Digital BrasileiraO tema relativo às bibliotecas digitais é considerado estratégico para a sociedade de infor-

mação de um país. O governo brasileiro sensível a esta demanda financiou o projeto BibliotecaDigital Brasileira (BDB).

Este projeto é apoiado pelo IBICT (Instituto Brasileiro de Informação em Ciência eTecnologia), tendo como proposta a integração, em um portal único, dos mais importantesrepositórios de informação digital de forma a permitir consultas simultâneas e unificadas aosconteúdos informacionais destes acervos [7].

A proposta da BDB envolve a criação de um sistema cooperativo abrangente, operadointegralmente na Internet, que se materializa em dois eixos principais:

1. o estabelecimento de ações e de esquemas de mediação de informação que integrem deforma consistente e padronizada os estoques de documentos digitais, bases de dados eserviços de informações relevantes para o país, permitindo que o usuário da BDB possaconsultar simultaneamente, através de interface Web, todos os acervos do seu interesse;

2. a criação de serviços de informação inovadores, que reflitam demandas da sociedade eque possam ser integrados à BDB.

O objetivo geral da BDB é contribuir para aumentar o acesso aos documentos eletrônicosque sejam de interesse para o desenvolvimento das atividades técnicas e científicas, assim comopara os demais setores importantes para o desenvolvimento econômico e social do país, taiscomo os setores educacional e produtivo.

Com relação às iniciativas brasileiras, apresenta-se outros importantes projetos referentesa implementações de bibliotecas digitais:

• Biblioteca Digital de Teses e Dissertações [7]: O Instituto Brasileiro de Informação emCiência e Tecnologia (IBICT) coordena o projeto da Biblioteca Digital de Teses e Dis-sertações (BDTD), que busca integrar os sistemas de informação de teses e dissertaçõesexistentes nas Instituições de Ensino Superior (IES) brasileiras, bem como estimular oregistro e a publicação de teses e dissertações em meio eletrônico. A BDTD adota ummodelo distribuído utilizando-se das tecnologias de arquivos abertos. As IES são prove-dores de dados e o IBICT opera nessa rede como agregador, coletando metadados de tesese dissertações destes provedores de dados, provendo serviços de informação sobre essesmetadados e expondo-os para serem coletados por outros provedores de serviços.

• Biblioteca Digital da UNICAMP [8]: A Biblioteca Digital da Universidade Estadualde Campinas, foi oficialmente instituída em 08/11/2001, com o objetido de disponibi-lizar e difundir a produção científica, acadêmica e intelectual da Universidade em for-mato eletrônico/digital de: artigos, fotografias, ilustrações, teses, obras de arte, registrossonoros, revistas, vídeos e outros documentos de interesse ao desenvolvimento científico,tecnológico e sócio-cultural.

• Biblioteca Digital do Senado Federal [9]: A BDSF (Biblioteca Digital do SenadoFederal) armazena, preserva, divulga e dá acesso à produção intelectual dos servidoresdo Senado Federal, entre outros documentos de interesse do Poder Legislativo, em for-mato digital.

Page 6: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 5

• CRUESP [6]: Em 1999, o CRUESP iniciou suas atividades como grupo de estudos,instituído pela Resolução do Conselho de Reitores das Universidades Estaduais Paulistas149/99, tendo por objetivo a integração dos Sistemas de Bibliotecas da USP, UNESP eUNICAMP. Hoje o CRUESP é um consórcio que reúne 89 bibliotecas, atendendo cercade 180.000 usuários inscritos (docentes, alunos e funcionários), além de outros usuáriospertencentes à comunidade externa, contando com um acervo de mais de 4.470.000 itens.

• Portal Domínio Público [39]: Constitui-se em um ambiente virtual que permite a coleta,a integração, a preservação e o compartilhamento de conhecimentos, sendo seu principalobjetivo o de promover o amplo acesso às obras literárias, artísticas e científicas (na formade textos, sons, imagens e vídeos), já em domínio público ou que tenham a sua divulgaçãodevidamente autorizada, que constituem o patrimônio cultural brasileiro e universal.

• Biblio [5]: A Biblio é uma biblioteca virtual de literatura, restrita a autores de línguaportuguesa, que permite o acesso a obras em domínio público para leitura imediata. Estabiblioteca virtual disponibiliza obras completas, em português e cujo autor tenha falecidohá mais de 70 anos, conforme determina a Lei de Direitos Autorais Brasileira [31].

4 Modelo Open ArchivesUm dos problemas mais relevantes em pesquisas nesta área é a interoperabilidade de

dados e metadados envolvendo bibliotecas digitais. Neste contexto, o modelo Open Archivessurgiu como uma necessidade para permitir interoperabilidade entre repositórios digitais, pos-sibilitando o acesso ao acervo de informações neles existentes, de forma integrada por parte dosusuários [29].

No início da década de 90, o Laboratório Nacional de Los Alamos, nos Estados Unidos,construiu e implantou o repositório digital arXiv. A idéia era experimentar uma alternativapara a comunicação científica, de forma a agilizar a publicação dos resultados das pesquisas efacilitar o seu acesso pela comunidade. Assim, os pesquisadores de qualquer parte do mundoganharam a oportunidade de depositar os seus resultados de pesquisa, seja na forma de artigosou na forma de relatórios técnicos em um repositório digital de livre acesso.

Em contrapartida, os usuários nessa experiência, têm a possibilidade de comentar os tra-balhos depositados e os seus autores também tem a oportunidade de submeter uma nova versãocom base nesses comentários.

O sucesso dessa experiência estimulou outras áreas a criarem os seus repositórios. Osurgimento de diversos repositórios dificulta ao usuário o acesso integrado ao conjunto de in-formações existente nesses diversos repositórios, dado que ele é obrigado a conhecê-los, tendoque acessar, individualmente, cada um deles, para fazer uma mesma consulta.

Em julho de 1999, realizou-se uma reunião exploratória com os responsáveis por essesrepositórios para buscar uma solução de interoperabilidade para integrá-los e facilitar aosusuários o acesso ao acervo de informação neles registrados. A reunião foi denominada Con-venção de Santa Fé. Como resultado dessa reunião, foi constituída a Open Archives Initiative(OAI), cuja meta principal foi contribuir para a transformação da comunicação científica. Alinha de ação proposta para essa mudança é a definição de aspectos técnicos e de suporte orga-nizacional de uma estrutura de publicação científica aberta [29].

Essa iniciativa estabeleceu as especificações técnicas e os princípios administrativosformalizando o chamado modelo Open Archives, o qual possibilita um alto nível de

Page 7: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 6

interoperabilidade funcional entre esses repositórios. Os seguintes componentes fazem partedesse modelo [29]:

• mecanismo de submissão;

• sistema de armazenamento a longo prazo;

• uma política de gestão para a submissão e preservação de documentos;

• uma interface aberta que permita a terceiros coletar os metadados dos respectivos ar-quivos.

A interface aberta permite que os repositórios exponham os metadados dos documentosneles depositados para serem coletados por outros provedores de forma a fornecer serviçosde informação com valor agregado, permitindo a descoberta, apresentação e análise de dados.Para que se possa fazer uma ampla disseminação da informação por terceiros, é essencial queos repositórios sejam dotados dessa interface.

Esse modelo pressupõe dois grandes atores, os provedores de dados (data providers) eos provedores de serviços (service providers). Os provedores de dados são os gestores derepositórios, os quais devem ser dotados, no mínimo, das seguintes funcionalidades:

• mecanismos de submissão para o auto-arquivamento dos trabalhos ou papers;

• sistema de armazenamento a longo prazo;

• mecanismos de exposição de metadados do arquivo para facilitar a sua colheita (recu-peração) por terceiros, ou provedores de serviços (OAI-PMH - Open Archives InitiativeProtocol for Metadata Harvesting [26]).

O modelo Open Archives proporciona alto nível de interoperabilidade, por meio de doisgrandes pilares: o padrão de metadados Dublin Core [16] e o protocolo de coleta de metadados,denominado OAI-PMH. O uso desses dois padrões é requisito básico para a implantação dessemodelo.

O protocolo OAI-PMH é uma interface que um servidor de rede pode utilizar para queos metadados de objetos armazenados nele estejam disponíveis para aplicações externas quedesejem coletar esses dados. Essa interface possui duas características: interoperabilidade eextensibilidade.

A interoperabilidade decorre da obrigatoriedade embutida no protocolo para implemen-tação do padrão Dublin Core. Assim todos os repositórios que utilizam o protocolo OAI podemtrocar metadados. Já a extensibilidade advém da oportunidade de se criar ou utilizar tambémpadrões de metadados diferentes do Dublin Core. Descrições específicas para uma comunidadeou especificidade de metadados para satisfazer necessidades especiais podem ser criadas ouadaptadas de forma a funcionarem com o protocolo OAI [41].

Dublin Core é um padrão de metadados composto de elementos para descrever uma am-pla quantidade de recursos eletrônicos. O padrão Dublin Core compreende quinze elementossemânticos que foram estabelecidos através do consenso de grupos interdisciplinares interna-cionais de bibliotecários, cientistas da computação, comunidade de museus, e outros estudiososdeste campo. Por este motivo, os metadados descritos neste formato não podem ser preenchi-dos por um leigo, pois o preenchimento incorreto ou incompleto destes campos comprometema qualidade dos metatados da biblioteca digital e consequentemente a recuperação destas infor-mações.

Page 8: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 7

Os quinze elementos do padrão Dublin Core são [16]: Title, Creator, Subject, Description,Publisher, Contributor, Date, Type, Format, Identifier, Source, Language, Relation, Coveragee Rights.

5 Ferramentas para implementação de Bibliotecas DigitaisA partir do exposto apresentado nas seções anteriores, pode-se constatar que uma

biblioteca digital é muito mais do que uma coleção de textos e outros objetos digitalizados.As ferramentas tecnológicas para a construção desses novos modelos de divulgação de infor-mação estão sendo continuamente implementados e colocados à disposição das comunidadesde desenvolvedores e usuários.

Em sua maioria, as ferramentas para criação de bibliotecas digitais são software livres,com código aberto, geralmente desenvolvidos por universidades e disponibilizados gratuita-mente, sendo alternativa para que qualquer organização implemente seu acervo digital [44].

Dessa forma, estas ferramentas podem ser livremente instaladas, testadas, usadas e per-sonalizados pelos interessados neste tipo de aplicação. De alguma forma, estas ferramentasprocuram cobrir as diferentes necessidades dos usuários [40].

No restante desta seção, são apresentados alguns desses programas analisados pelo OpenSociety Institute [35].

• Archimèd [1]: O Archimèd foi desenvolvido pela Laval University Library na cidade deQuebec no Canadá. O projeto desta ferramenta foi modelado para permitir o depósito depre-prints (primeira versão de um documento publicado) e post-prints (versão final de umdocumento após revisões do autor) de universidades e pesquisadores.

• ARNO [2]: O projeto ARNO (Academic Research in the Netherlands Online), foi de-senvolvido para dar suporte a implementação de repositórios institucionais e integrarrepositórios distribuídos por todo o mundo. Entre os participantes do projeto estão aUniversity of Amsterdam, Tilburg University e a University of Twente.

• CDSware [11]: O CDSware (CERN Document Server Software), foi desenvolvido e estásendo mantido disponível publicamente pelo CERN (European Organization for NuclearResearch). O CERN utiliza o CDSware para gerenciar cerca de 350 coleções de dados,englobando cerca de 550.000 registros bibliográficos e 220.000 documentos completos,incluindo pre-prints, jornais, artigos, livros e fotografias.

• DSpace [15]: O DSpace é um software livre desenvolvido pelo MIT (MassachusettsInstitute of Technology) e pelos Laboratórios Hewlett-Packard para criação de repositóriosinstitucionais e multidisciplinares para bibliotecas, arquivos e centros de pesquisa.

Sua estrutura oferece um modelo de informação organizacional baseado em comunidadese coleções, o qual pode ser configurado de modo a refletir todo o conjunto de unidadesadministrativas de uma instituição. Permite os mais variados tipos de formatos dearquivos digitais, incluindo textos, som e imagem.

• EPrints [17]: O EPrints foi desenvolvido pela University of Southampton, tendo semostrado apropriado para a construção de repositórios institucionais. É uma ferramentaaberta, relativamente fácil de instalar e adaptável às necessidades de qualquer instituiçãode ensino e pesquisa.

Page 9: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 8

• Fedora [24]: O Fedora (Flexible Extensible Digital Object and Repository Architecture) éuma plataforma de código aberto, desenvolvido pela University of Virginia e pela CornellUniversity, que oferece uma arquitetura projetada para servir como base para a imple-mentação de repositórios digitais para uma grande variedade de aplicações, tais comobibliotecas digitais, repositórios institucionais e outros sistemas gerenciadores de infor-mação.

O núcleo central do Fedora é o repositório de serviços, que pode ser acessado utilizandointerfaces via web service, que permite a criação, gerenciamento, armazenamento, acessoe o reuso dos objetos digitais. Todas as funções do Fedora, tanto no nível de administraçãodo repositório como no nível do acesso aos objetos digitais são disponibilizados por esterepositório de serviços.

Em 2005, foi integrado o primeiro estágio para a tecnologia da Web Semântica norepositório de serviços do Fedora, introduzindo suporte para descrições RDF (Re-source Description Framework) de objetos digitais, relacionamentos RDF e indexação dorepositório baseada em grafos. Com esta implementação, os objetos do repositório po-dem ser tratados como nós de um grafo, permitindo que se façam consultas neste grafo. Oimpacto desta adaptação foi significativo, uma vez que posiciona o Fedora como o únicosistema de código aberto que combina “redes de informações” semânticas do conteúdocom suporte a persistência e gestão do conteúdo digital.

• i-Tor [28]: O i-Tor (Tools and technologies for Open Repositories) foi desenvolvido peloITA (Innovative Technology Applied), uma seção do Instituto para Serviços de InformaçãoCientífica da Holanda. Através de uma interface Web, esta ferramenta permite que seususuários apresentem vários tipos de informação, independente do local onde os dados sãoarmazenados ou o formato em que são apresentados.

• MyCoRe [33]: O MyCoRe é um software de código aberto, utilizado para queinstituições possam construir seus próprios repositórios digitais. O MyCoRe atualmenteestá sendo desenvolvido por um consórcio de universidades para oferecer uma forte ferra-menta para dar suporte a bibliotecas digitais ou repositórios de conteúdo (Content Repos-itories, daí o nome “CoRe”). O software foi projetado para ser configurado e adaptado àsexigências locais de cada instituição (daí o nome “My”), sem a necessidade de esforçosde programação.

• OPUS [36]: O OPUS (Online Publications of the University of Stuttgart) foi desen-volvido pela University Library e o Computing Center of the University of Stuttgart.O objetivo do projeto original foi oferecer um sistema onde estudantes e universidadespudessem gerenciar suas publicações eletrônicas, incluindo a publicação de artigos e dis-sertações.

Na próxima seção, apresenta-se mais detalhadamente a arquitetura Fedora, que tornou-se uma das ferramentas mais poderosas e versáteis do seguimento de software livre para aimplementação de repositórios digitais.

O Fedora têm sido adotado por centenas de instituições, como base para a implemen-tação das mais variadas aplicações inovadoras. Isto deve-se ao fato de que o Fedora propor-cionar a manipulação de conteúdos multimídia, como gráficos, fotografias, arquivos de áudio evídeo, além de possibilitar maior interoperabilidade em ambiente distribuído, devido a disponi-bilização de suas funcionalidades por interfaces via web services e dar suporte ao protocoloOAI-PMH.

Page 10: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 9

6 A arquitetura FedoraO Fedora (Flexible Extensible Digital Object Repository Architecture) é uma arquitetura

de código aberto que surgiu como alternativa para a implementação de repositórios de objetosdigitais em uma variedade de setores, incluindo bibliotecas digitais, repositórios institucionais,tecnologias para educação, publicação de conteúdo e distribuições de informações na Web.

O desenvolvimento do Fedora iniciou-se em 1997, na Cornell University, como um pro-jeto de pesquisa da NSF (National Science Foundation) e DARPA (Defense Advanced ResearchProjects Agency) [22], tendo como resultado o protótipo inicial do software, desenvolvido porSandy Payette e Carl Lagoze. Payette criou uma implementação de referência para o sistemademonstrando sua arquitetura, tornando publicamente disponível no sítio da Cornell Univer-sity em 1998. Payette e Lagoze também publicaram importantes artigos sobre seus trabalhosdaquela época [37] [38].

Em 2000, Thornton Staples e Rosser Wayland, da University of Virginia Library,publicaram um artigo sobre seus trabalhos na criação de uma implementação do Fedora [43].

O Fedora Commons é uma organização sem fins lucrativos fundada pela Cornell Univer-sity e pela University of Virginia em 2007. O Fedora Commons mantém a custódia da arquiteturado Fedora e guia seu desenvolvimento evolutivo [24].

O repositório Fedora é um software de código aberto licenciado sob a Mozilla PublicLicense [32]. Na Figura 1 apresenta-se o repositório Fedora na sua principal característicaarquitetural, como um framework de serviços de repositório de objetos digitais expansível. Estafuncionalidade esta disponível a partir da versão 2.1 do Fedora.

Figura 1: Arquitetura do framework de serviços Fedora [20]

Analisando a Figura 1, é possível verificar sua arquitetura voltada a construção de no-

Page 11: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 10

vas funcionalidades ou serviços em torno do serviço de repositório de objetos digitais (FedoraRepository Service). Os serviços Fedora (Fedora Services) possuem funcionalidades que sãodivididas em nove serviços básicos, que já foram implementados e executam na interface webdo próprio Fedora usando as quatro interfaces de aplicação do framework.

A arquitetura é expansível de forma modular com serviços web externos via ORE (Ob-ject Reuse and Exchange) que é uma interface criada para facilitar a interoperabilidade entreserviços externos e os serviços do próprio Fedora.

Além do ORE, é possível incorporar funcionalidades não essenciais a um repositório deobjetos digitais diretamente em cada um dos outros oito tipos de serviços Fedora. A Figura 1exemplifica esta possibilidade usando dois destes serviços. O primeiro caso é uma extensãodo fluxo de trabalho (workflow) que é acrescentado a hierarquia de diretórios ou arquivos dorepositório Fedora usando o serviço apropriado para este propósito (Directory Ingest Service).O segundo caso exemplifica uma extensão nos serviços de preservação da integridade de objetosdigitais (Preservation Integrity) de duas maneiras distintas de serviços externos:

• validação de objetos (principalmente de imagens) via JHOVE (JSTOR/Harvard ObjectValidation Environment);

• identificação de formatos de objetos digitais mais precisos e rigorosos via extensão doGDFR (Global Digital Format Registry), cuja principal funcionalidade é definir registrosdas informações sobre da sintaxe e semântica dos diversos formatos de objetos digitaisexistentes no repositório.

6.1 O Modelo de Objeto do FedoraUm objeto do repositório Fedora é composto por seu conteúdo (dados e metadados) e

um conjunto de comportamento ou serviços associados que podem ser aplicados ao objeto.Conforme pode ser observado na Figura 2, um objeto digital do Fedora consiste em quatropartes, que são apresentadas a seguir.

1. Identificador do objeto digital: Consiste em um identificador único persistente para oobjeto digital.

2. Perspectiva Descritiva: Consiste nos principais metadados necessários para ogerenciamento, recuperação e relacionamento com outros objetos. A arquitetura dorepositório Fedora impõe o uso do metadado FOXML (Fedora Object XML), que édiferente dos outros metadados que são tratados como conteúdo. As propriedades dosobjetos armazemam informações sobre os mesmos, como por exemplo as datas de criaçãoe modificação. Os metadados de relacionamento descrevem quaisquer relações entreobjetos digitais no repositório Fedora.

3. Perspectiva do Item: Representa o conteúdo que é a essência do objeto digital (conteúdotextual, imagens, áudio, vídeo, entre outros).

4. Perspectiva de Serviço: Consiste no mecanismo de associação de comportamentos ouserviços, permitindo a definição de representações virtuais dos objetos digitais do Fedora.Todos os objetos do Fedora possuem um disseminator (Seção 6.4) padrão adicionado nomomento da sua criação, para que ele possa ser imediatamente recuperado do repositório.Um objeto do Fedora pode possuir diversos disseminators personalizados.

Page 12: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 11

Figura 2: Arquitetura dos objetos digitais do Fedora

6.2 Visão dos Objetos do FedoraUm objeto digital do Fedora pode possuir uma ou mais representações e relacionar-se com

um ou mais objetos. Um exemplo típico de um objeto digital com múltiplas representações éuma imagem que pode estar disponível em múltiplos formatos. Todos os objetos digitais e cadarepresentação são identificados por meio de um URI (Uniform Resource Identifiers).

Esta perspectiva expõe somente o acesso ao conteúdo do repositório, ocultando toda com-plexidade interna de gerência e armazenamento. A Figura 3 descreve a visão representativa detrês inter-relacionamentos de objetos do Fedora. Ela apresenta um grafo direcionado, onde osnós grandes são objetos digitais e os nós pequenos são representações dos objetos digitais. Estesnós estão ligados por dois tipos de arcos: de relacionamentos que conectam os objetos digitaise de representação que conectam os objetos digitais para suas respectivas visões.

Cada objeto digital no diagrama, possui pelo menos uma representação relativaao seu objeto digital original, pelo arco “hasRep”. Por exemplo, o nó chamadoinfo:fedora/demo:11 é uma imagem com quatro representações, identificadas pelasrespectivas URIs:

1. Metadados Dublin Core, identificado como info:fedora/demo:11/DC

2. Imagem em alta resolução, identificado como info:fedora/demo:11/HIGH

3. Miniatura da imagem, identificado como info:fedora/demo:11/THUMB

4. Imagem ampliada, identificado como info:fedora/demo:11/bdef:2/ZPAN

Ainda analisando a Figura 3, observa-se um exemplo de relacionamentos entre obje-tos. Neste exemplo, o nó chamado info:fedora/demo:10 é uma coleção com doisitens (info:fedora/demo:11 e info:fedora/demo:12). Estes relacionamentos sãorepresentados pelo arco “hasMember” que dá origem a coleções de objetos. O relacionamentoinverso “isMemberOf ” não é mostrado no diagrama por motivos de simplificação.

Page 13: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 12

Figura 3: Representação de um objeto do Fedora

6.3 DatastreamsO modelo de objetos do Fedora define um componente conhecido como datastream, para

representar o conteúdo do objeto. Um componente datastream pode encapsular seu conteúdoem um fluxo de bytes dentro do próprio objeto ou apenas armazenar uma referência para umconteúdo externo. Em todos os casos, seu conteúdo poder ser de qualquer tipo. Um datastreamspode referenciar qualquer tipo de conteúdo, estando armazenado localmente ou remotamenteno repositório.

Na Figura 4, apresenta-se um objeto digital como uma agregação de datastreams. Cadadatastream possui uma representação do objeto digital que pode ser acessada. Neste caso, cadarepresentação é uma transcrição simples de seu conteúdo que está atrás do componente datas-tream. Conforme pode ser observado na Figura 4, cada objeto digital possui um identificadorúnico (PID) e um conjunto de propriedades descritivas. Cada datastream contém algumas infor-mações que são necessárias para o gerenciamento do objeto no repositório Fedora, armazenadascomo propriedades, conforme apresentado na Figura 5.

Em um datastream, três propriedades merecem atenção especial: Format URI, ControlGroup e Content Location. O Format URI faz um refinamento da definição do tipo de mídia ese prepara para o surgimento do registro global de formato digital, tal como o GDFR (GlobalDigital Format Registry). No exemplo da Figura 5, o valor desta propriedade ainda não foideterminado (TBD – To Be Determined).

A propriedade Control Group define se o datastream representa um conteúdo local ou re-moto. Se a propriedade Control Group de um datastream possuir o valor “Managed”, significaque ele representa um conteúdo interno que está diretamente sob o controle do repositório Fe-dora. Por outro lado, se sua propriedade Control Group possuir o valor “External” ou “Redi-rected”, significa que seu conteúdo está armazenado em outro repositório.

Page 14: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 13

Figura 4: Um objeto do Fedora com um PID, propriedades e datastreams

A propriedade Content Location, é um URL que faz um referência para um serviço apon-tado fora do repositório responsável por fornecer o conteúdo. A capacidade de criar um objetodigital que engloba um conteúdo local com um conteúdo externo é uma importante caracterís-tica do Fedora, sendo útil em uma variedade de contextos. Um bom exemplo de um objetohíbrido (tanto local quanto remoto) é um objeto para o contexto educacional, onde o conteúdolocal se refere aos planos de aula dos professores, anotações e provas. O conteúdo remoto sãorecursos compostos por referências de outros sítios.

Figura 5: Propriedades de um datastreams

6.4 DisseminatorsO modelo de objetos do Fedora permite a definição de representações virtuais de um

objeto digital. Um disseminator é o componente do objeto digital do Fedora utilizado paraassociar serviços aos objetos digitais. Uma representação virtual, também conhecida comodissemination, é uma visão do objeto que é produzida por uma operação de serviço (isto é, ainvocação de um método) que pode receber como entrada um ou mais datastreams do respectivoobjeto digital. Dessa forma, um disseminator permite a entrega de um conteúdo dinâmico oucomputável de um objeto do Fedora.

Este comportamento é ilustrado na Figura 6, onde a representação chamadainfo:fedora/demo:11/BDEF:2/ZPAN está apresentada em destaque. Da perspectivade acesso, esta representação é uma imagem manipulada por uma aplicação Java, que fornece a

Page 15: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 14

imagem ampliada. Observe que esta representação não está diretamente presente em qualquerdatastream do objeto. Ao invés disso, ela é o resultado de uma operação de serviço definida pelocomponente disseminator chamado “BDEF:2”, dentro do objeto que usa o datastream chamado“HIGH” como entrada.

Figura 6: Um objeto do Fedora com disseminators

Para possibilitar este comportamento, um disseminator deve conter três partes:

1. uma referência para a descrição da operação do serviço;

2. uma referência para descrição do serviço WSDL (Web Services Description Language),que define a ligação para o serviço Web que vai executar a operação;

3. o identificador de qualquer datastream no objeto, que pode ser utilizado como entradapara a operação do serviço.

O Fedora armazena descrições de operações de serviço e descrições de serviços WSDLcom um objeto digital especial, chamados respectivamente de BDefs (behavior definitions) eBMechs (behavior mechanisms).

Os disseminators constituem uma característica muito importante do modelo de objetodigital do Fedora. Eles podem ser utilizados para criar uma representação comum para objetosdigitais que possuem diferentes estruturas ou formatos. Por exemplo, um repositório digitalpode conter documentos escolares em uma variedade de formatos (TXT, HTML, TeX, entreoutros), que são armazenados como datastreams dentro de diversos objetos digitais do Fedora.Para propósitos de interoperabilidade, pode-se definir uma representação virtual comum (porexemplo, em formato PDF) para cada um destes objetos através da utilização de disseminatorsque possibilitam esta tarefa.

6.5 Gerenciando a Integridade dos Objetos do FedoraO modelo de objeto digital do Fedora define alguns datastreams especiais, para permitir a

administração da integridade dos objetos. A Figura 7 apresenta estes datastreams, denominadosrelations, policy e audit trail.

Page 16: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 15

Figura 7: Datastreams de Integridade: relationships, policy e audit trail

O datastream relations descreve os relacionamentos entre objetos. O relacionamento“hasMember” é um exemplo de um tipo de declaração que é gerenciado através do datastremrelations.

O datastream policy é utilizado para definir políticas de autorização para os objetos digi-tais, tanto no sentido de proteger a integridade do objeto quanto no sentido de controlar o acessoao conteúdo do objeto. No Fedora, estas políticas são definidas utilizando a linguagem XACML(eXtensible Access Control Markup Language) [18].

O datastream audit trail mantém o registro de todas as mudanças de um objeto durantetodo seu ciclo de vida. O Fedora automaticamente cria um registro auditável para todas asoperações relativas aos objetos, detalhando quem, o que, quando, onde e o porquê das mudançasno objeto.

Outra característica para gerenciar o ciclo de vida dos objetos é o controle de versão. Ocontrole de versão é importante em aplicações onde é necessária a mudança do conteúdo dosobjetos e deseja-se manter arquivado o registro histórico da visão de cada versão do objetodigital. O Fedora cria automaticamente uma nova versão para um objeto toda vez que ele émodificado.

Este comportamento é apresentado na Figura 7, que apresenta um objeto digital commúltiplas versões do datastream chamado “HIGH”. O disseminator chamado “BDEF:2” tam-bém pode receber como entrada os antigos datastreams de “HIGH”, que não representam aversão atual. O Fedora garante que a versão desejada do objeto seja retornada, tanto no quediz respeito a requisições que são realizadas diretamente ao conteúdo do datastream, quanto arequisições para representações virtuais onde o conteúdo do datastream passa por um dissemi-nator.

6.6 Relacionamento entre Objetos do FedoraCada objeto digital do Fedora armazena seus relacionamentos em um datastream especial

no objeto digital, como declarações RDF, utilizando sintaxe XML [27]. Estes relacionamentospodem ser derivados de qualquer ontologia, incluindo a base ontológica fornecida pelo Fedora[19]. A seguir, o Código 1 apresenta um trecho desta base ontológica [21].

Page 17: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 16

Código 1 – Trecho da base ontológica fornecida pelo Fedora1 <?xml version="1.0" encoding="UTF-8"?>2 <rdf:RDF base="info:fedora/fedora-system:def/relations-external#"3 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"4 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">5

6 <rdf:Property rdf:ID="fedoraRelationship">7 <rdfs:comment>8 The primitive property for all object-to-object9 relationships in the fedora ontology

10 </rdfs:comment>11 </rdf:Property>12

13 <rdf:Property rdf:ID="isPartOf">14 <rdfs:label xml:lang="en-US">Is Part Of</rdfs:label>15 <rdfs:comment xml:lang="en-US">16 A definition of the generic part/whole relationship17 between fedora objects. The subject is a fedora object18 representing a part and the predicate is a fedora19 object representing a whole.20 </rdfs:comment>21 .22 .23 .

Para descrever relacionamentos entre objetos, o Fedora disponibiliza um datastreamconhecido como Relations. Este datastream permite a utilização de um subconjunto da lin-guagem RDF/XML, em que o sujeito de cada declaração deve ser o objeto digital no qual odatastream é definido.

O Código 2 apresenta um exemplo do datastream Relations de um objeto digital do Fe-dora, identificado pelo URI info:fedora/demo:11. A declaração RDF/XML expressa asseguintes relações:

• demo:11 é um membro de uma coleção representada pelo objeto demo:10

• demo:11 está no padrão descrito pelo objeto demo:Standard5

• demo:11 é uma manifestação de uma expressão representada pelo objetodemo:Expression2

Page 18: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 17

Código 2 – Exemplo de um datastream Relations1 <rdf:RDF xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"2 xmlns:nsdl="http://nsdl.org/std#"3 xmlns:rel="http://example.org/rel#"4 xmlns:frbr="http://example.org/frbr#">5 <rdf:Description6 rdf:about="info:fedora/demo:11">7 <rel:isMemberOf8 rdf:resource="info:fedora/demo:10"/>9 <std:fulfillsStandard

10 rdf:resource="info:fedora/demo:Standard5"/>11 <frbr:isManifestionOf12 rdf:resource="info:fedora/demo:Expression2"/>13 </rdf:Description>14 </rdf:RDF>

O Resource Index é um grafo de relacionamentos, que abrange todos os objetos digitaisdo repositório que são derivados por relacionamentos implícitos pelo próprio modelo de objetodigital do Fedora e relacionamentos explícitos indicados no datastream Relations do objeto.

Em outras palavras, o Resource Index combina todos os relacionamentos dos objetosdigitais do repositório em um único grafo.

A interface de consulta para o grafo de relacionamentos atualmente permite três lin-guagem de consulta RDF [30]: RDQL (RDF Data Query Language), iTQL (Interactive TucanaQuery Language) e SPO (Subject, Predicate, Object).

O Código 3 apresenta uma consulta que lista todas as representações de todos os objetosque são membros de uma coleção particular.

Código 3 – Exemplo de uma consulta RDF utilizando iTQL1 select $dissemination2 from <#ri>3 where ($object <fedora-view:disseminates> $dissemination)4 and $object <rel:isMemberOf> <demo:10>

O Resource Index é disponibilizado como uma das intefaces do repositório de serviçosdo Fedora. Um exemplo de um serviço utilizando o Resouce Index é o provedor de serviçosOAI (Open Archives Initiative) que expõe metadados sobre recursos do repositório Fedora. Porexemplo, o provedor de serviços OAI pode lançar uma consulta no Resouce Index, que retornao resultado da consulta, provendo uma resposta OAI.

6.7 Acessando o FedoraO Fedora fornece uma interface administrativa, desenvolvida em Java, para o gerencia-

mento dos objetos digitais no repositório. A Figura 8 apresenta a janela referente ao gerencia-mento dos datastreams dos objetos (neste caso, o objeto é identificado pelo PID demo:29).

Page 19: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 18

Figura 8: Interface administrativa fornecida pelo Fedora

O Fedora também fornece uma interface Web para pesquisa no repositório de objetos,apresentada na Figura 9. Todas as consultas, nesta interface Web, são case insensitive (nãoimporta o fato das letras serem maiúsculas ou minúsculas) e permitem a aplicação de curingas(símbolos que podem ser utilizados em uma busca para representar um ou mais caracteres),utilizando os símbolos “*” e “?”.

A busca simples, permite consultas por palavras ou frases em todos os campos do objetodigital. Exemplos:

1. *o* – Retorna objetos onde qualquer campo possui a letra “o”.

2. ?edora – Retorna objetos onde qualquer campo possui uma palavra iniciada com qualquerletra e termina com a palavra “edora”.

Page 20: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 19

Figura 9: Interface Web para pesquisa fornecida pelo Fedora

A busca avançada, permite a combinação de uma ou mais condições separadas por es-paços. Todos os objetos que satisfizerem todas as condições serão retornados. Uma condição écomposta por um campo do objeto digital, seguido por qualquer operador e um valor. Exemplos:

1. fType=O – Retorna todos os objetos do tipo Fedora Data Object.

2. pid demo:* description fedora – Retorna todos os objetos de demonstração, onde ocampo descrição contêm a palavra fedora.

3. cDate>=1976-03-04 creator *n* – Retorna todos os objetos criados a partir do dia 04 demarço de 1976, onde pelo menos um de seus criadores possui a letra “n” em seu nome.

Esta interface Web permite ao usuário do Fedora buscar objetos, obter a visão do perfildeste objeto (identificador, data da criação, proprietário, entre outros), listar e acessar direta-mente todos seus disseminators, listar e visualizar todos os seus datastreams e obter o registroDublin Core do objeto. Como exemplo, apresenta-se a interface da Figura 10, que permitelistar e acessar todos os disseminators do objeto. Neste caso, o objeto é identicado pelo PIDdemo:29 e possui o formato image/jpeg.

Page 21: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 20

Figura 10: Lista de todos os disseminators do objeto identificado pelo PID demo:29

6.8 Intefaces de Sistema do FedoraTodas as funcionalidades do Fedora, tanto no nível de administração do repositório como

no nível do acesso aos objetos digitais, são disponibilizadas pelo repositório de serviços (núcleocentral do Fedora), que pode ser acessado utilizando interfaces disponibilizadas por meio deweb services.

Web service é uma solução utilizada na integração de sistemas e na comunicação entreaplicações diferentes [10]. Com esta tecnologia é possível que novas aplicações possam intera-gir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejamcompatíveis. Um web service permite que um aplicação envie e receba dados no formato XML.Cada aplicação pode ter sua própria linguagem, que é traduzida para uma linguagem universal,o formato XML [27].

XML é um conjunto de regras para a definição de marcadores semânticos, que dividemum documento em partes identificáveis. É uma meta-linguagem que define uma sintaxe para serutilizada na criação de outras linguagens de marcação para um domínio específico, com estru-tura e semântica próprias. A linguagem XML é classificada como uma linguagem extensível,pois permite aos usuários definirem suas próprias etiquetas (tags), desde que elas estejam bemformatadas, ou seja, estejam de acordo com as regras de sintaxe definidas [27].

A manipulação do repositório Fedora é defina por um conjunto de APIs (ApplicationProgramming Interface), que são apresentadas a seguir [23]:

Page 22: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 21

• API-M – Define a interface administrativa do repositório, incluindo operaçõesnecessárias para criar e gerenciar objetos digitais e seus componentes. A API-M é imple-mentada pelo protocolo SOAP (Simple Object Access Protocol).

• API-M-Lite – Esta interface ainda está em desenvolvimento. A intenção é disponibilizaruma versão mais leve para a interface administrativa do Fedora, implementada pelo pro-tocolo REST (Representational State Transfer). Este protocolo permite a invocação deweb services através de um simples URL (Uniform Resource Locator).

• API-A – Define a interface para acesso dos objetos digitais armazenados no repositório.Este interface inclui operações necessárias para disponibilizar o acesso e descobrir infor-mações sobre os objetos do repositório. A API-A é implementada pelo protocolo SOAP.

• API-A-Lite – Define uma versão mais leve para a interface de acesso dos objetos digitais,implementada pelo protocolo REST.

7 Um protótipo simples de demonstração do FedoraEsta seção apresenta o desenvolvimento de um protótipo, cujo propósito é demonstrar

através de meios práticos, a manipulação de alguns serviços fornecidos pela API do Fedoraatravés de chamadas via web services.

O protótipo foi desenvolvido em linguagem PHP (um acrônimo recursivo para “PHP: Hy-pertext Preprocessor”) e AJAX (Asynchronous Javascript And XML). PHP é uma linguagem deprogramação de código aberto, bastante utilizada no ambiente Web. AJAX é um modelo de pro-gramação que faz uso sistemático de tecnologias oferecidas por navegadores, como JavaScripte XML, para tornar as páginas mais interativas com os usuários, utilizando-se de solicitaçõesassíncronas de informações.

O uso de web service), como é feito no protótipo desenvolvido, é possível uma vez que oFedora disponibiliza a maioria de suas funcionalidades por meio de web services. Como já men-cionado neste relatório, esta tecnologia permite que aplicações desenvolvidas em plataformasdiferentes possam interagir entre si, permitindo o envio e o recebimento de dados no formatoXML.

O protótipo desenvolvido fornece uma interface de busca simples para os objetos norepositório do Fedora, a qual pode ser vista na Figura 11.

Ao fornecer os termos de uma busca, o protótipo faz uma chamada de serviço aorepositório Fedora, que faz a consulta nos objetos do repositório e retorna um arquivo XMLcomo resposta para o protótipo. A consulta retorna todos os objetos que possuem os termosfornecidos em qualquer campo dos objetos digitais.

Ao receber o arquivo XML de resposta, o protótipo apresenta o resultado da consultapara o usuário, conforme apresentado na Figura 12. O protótipo apresenta uma mensageminformando que nenhum resultado foi retornado caso o arquivo XML de resposta não possuainformações sobre nenhum objeto.

Page 23: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 22

Figura 11: Interface de busca do protótipo

Figura 12: Listando o resultado de uma consulta

Page 24: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 23

Ao clicar sobre um resultado, uma nova chamada de serviço é realizada no repositórioFedora, para buscar algumas informações básicas sobre o objeto (modelo do conteúdo, tipo,data de criação, data da última modificação e proprietário do objeto) e os links que forneceminformações sobre as ações e itens do objeto (estes links apontam para a interface web padrãofornecida pelo Fedora), conforme apresentado na Figura 13.

Figura 13: Listando informações adicionais do objeto identificado pelo PID demo:6

Estas chamadas de serviços utilizaram os mecanismos fornecidos pela API-A-Lite doFedora. O Código 4 apresenta, de forma simplificada, um trecho de código similar ao que é

Page 25: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 24

executado para a chamada de serviço da Figura 12, que lista os resultados de um consulta.

Código 4 – Buscando uma lista de objetos no repositório do Fedora1 <pre>2

3 <?php4 $query = "http://localhost:8080/fedora/search?";5 $query .= "terms=University&pid=true&title=true&";6 $query .= "maxResults=10&xml=true";7

8 $xml = simplexml_load_file($query);9

10 foreach ($xml->resultList->objectFields as $dados) {11 echo $dados->pid . " - " . $dados->title . "<br>";12 }13 ?>14

15 </pre>

Analisando o Código 4, observa-se que a consulta é montada na variável $query eem seguida a função simplexml_load_file faz a requisição ao repositório Fedora. Afunção simplexml_load_file converte o arquivo XML de retorno em um objeto da classesimplexml_element do PHP. A estrutura de repetição, implementada pelo laço foreach,imprime no browser todos os registros retornados pela consulta. O arquivo XML de retornodesta requisição é apresentado no Código 5.

Page 26: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 25

Código 5 – Arquivo XML de retorno relativo a consulta do Código 41 <?xml version="1.0" encoding="UTF-8"?>2 <result xmlns="http://www.fedora.info/definitions/1/0/types/">3 <resultList>4 <objectFields>5 <pid>demo:29</pid>6 <title>7 Coliseum in Rome8 </title>9 </objectFields>

10 <objectFields>11 <pid>demo:30</pid>12 <title>13 Architectural Image of Drawing of Pavilion III,14 University of Virginia15 </title>16 </objectFields>17 <objectFields>18 <pid>demo:6</pid>19 <title>20 Pavilion III, University of Virginia21 </title>22 </objectFields>23 <objectFields>24 <pid>demo:7</pid>25 <title>26 Architectural Image of Pavilion III, University27 of Virginia28 </title>29 </objectFields>30 <objectFields>31 <pid>demo:10</pid>32 <title>33 Column Detail, Pavilion III, University of Virginia34 </title>35 </objectFields>36 <objectFields>37 <pid>demo:11</pid>38 <title>39 Exhibit Intro: Architectural drawings, Pavilion III,40 University of Virginia41 </title>42 </objectFields>43 </resultList>44 </result>

O Código 6 apresenta, de forma simplificada, um trecho de código similar ao que é execu-tado na chamada de serviço da Figura 13, que lista as informações adicionais de um determinadoobjeto.

Page 27: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 26

Código 6 – Buscando um determinado objeto no repositório do Fedora1 <pre>2

3 <?php4 $query = "http://localhost:8080/fedora/get/demo:6?xml=true";5

6 $xml = simplexml_load_file($query);7

8 echo $xml->objContentModel . "<br>";9 echo $xml->objType . "<br>";

10 echo $xml->objCreateDate . "<br>";11 echo $xml->objLastModDate . "<br>";12 echo $xml->objOwnerId . "<br>";13 echo $xml->objDissIndexViewURL . "<br>";14 echo $xml->objItemIndexViewURL . "<br>";15 ?>16

17 </pre>

Analisando o Código 6, observa-se que a consulta é montada na variável $query.Em seguida, a função simplexml_load_file faz a requisição ao repositório Fedora.O arquivo XML de retorno contêm os campos (objContentModel, objType, objCreateDate,objLastModDate, objOwnerId, objDissIndexViewURL e objItemIndexViewURL) com infor-mações relativas ao objeto identificado pelo PID demo:6. Na seqüência do código, estescampos são impressos no browser. O arquivo XML de retorno desta requisição é apresentadono Código 7.

Código 7 – Arquivo XML de retorno relativo a consulta do Código 61 <objectProfile xsi:schemaLocation="http://www.fedora.info/2 definitions/1/0/access/ http://localhost:8080/3 objectProfile.xsd"pid="demo:6">4 <objLabel>5 Pavillion III, IVA Image Collection - University of Virginia6 </objLabel>7 <objOwnerId>fedoraAdmin</objOwnerId>8 <objContentModel>UVA_MRSID_IMAGE</objContentModel>9 <objCreateDate>2008-04-27T13:47:10.479Z</objCreateDate>

10 <objLastModDate>2008-04-27T13:47:10.479Z</objLastModDate>11 <objType>Fedora Data Object</objType>12 <objDissIndexViewURL>13 http://localhost:8080/fedora/get/demo:6/14 fedora-system:3/viewMethodIndex15 </objDissIndexViewURL>16 <objItemIndexViewURL>17 http://localhost:8080/fedora/get/demo:6/18 fedora-system:3/viewItemIndex19 </objItemIndexViewURL>20 </objectProfile>

Page 28: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 27

8 Considerações FinaisAs bibliotecas digitais tem se constituído como um importante instrumento para a disponi-

bilização de informações, permitindo o acesso ao conhecimento de qualquer lugar onde existaum computador conectado à Internet.

A disseminação de conteúdo de maneira eficiente entre repositórios digitais foi facilitadoà partir do surgimento da Open Archives Initiative, que desenvolve e promove padrões de in-teroperabilidade entre repositórios digitais. Assim, ela criou o protocolo OAI-PMH, um meiosimples de se compartilhar metadados entre servidores distribuídos.

Atualmente, existem diversas ferramentas para a implementação de bibliotecas digitais,que estão sendo continuamente desenvolvidas e disponibilizadas para a comunidade. Em suamaioria, estas ferramentas são software livres, com código aberto, permitindo sua implemen-tação a um baixo custo, além de possibilitar que as mais diversas organizações realizem testese modificações de forma integral, em um ambiente colaborativo.

O Fedora constitui-se como uma importante alternativa para implementação derepositórios digitais, tais como bibliotecas digitais, repositórios institucionais e outros sistemasgerenciadores de informação. Uma importante característica do Fedora é a disponibilização desuas funcionalidades através de interfaces via web services, definidas por um conjunto de APIs.Este recurso permite o acesso completo ao repositório, por aplicações distintas e de forma bas-tante simplificada, conforme protótipo apresentado.

Finalmente, observa-se o poderoso modelo de objetos digitais fornecido pela solução Fe-dora, capaz de expressar uma variedade de conteúdos complexos e seus relacionamentos, pro-movendo um grande avanço para a interoperabilidade semântica.

9 AgradecimentoAo Prof. Dr. João Carlos da Silva, pela avaliação do presente texto e pelas sugestões

feitas, as quais muito contribuíram para a melhoria do texto original.

Referências[1] Archimèd. Disponível em http://archimede.bibl.ulaval.ca, acessado em

maio de 2008.

[2] ARNO. Disponível em http://www.uba.uva.nl/arno, acessado em maio de2008.

[3] BAX, Marcello. A hora e a vez das Bibliotecas Digitais. Disponível em http://www.ufmg.br/boletim/bol1323/segunda.shtml, acessado em maio de 2008.

[4] BEZERRA, Liv Cunha Borges. Implantação de Bibliotecas Digitais Baseados emSoftware Livre em Ambientes Acadêmicos. Projeto de Conclusão de Curso. Institutode Informática, Universidade Federal de Goiás. Goiânia, 2007.

[5] Biblio. Disponível em http://www.biblio.com.br, acessado em maio de 2008.

[6] Biblioteca Digital Brasileira. Disponível em http://bibliotecas-cruesp.usp.br/unibibliweb, acessado em maio de 2008.

Page 29: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 28

[7] Biblioteca Digital Brasileira. Disponível em http://www.ibict.br/portal.php?id=programas, acessado em maio de 2008.

[8] Biblioteca Digital da UNICAMP. Disponível em http://libdigi.unicamp.br,acessado em maio de 2008.

[9] Biblioteca Digital do Senado Federal. Disponível em http://www2.senado.gov.br/bdsf, acessado em maio de 2008.

[10] BRAVO, Ricardo. An implementation of policies in Web Server. Master in Science.Technological Institute of Aeronautics. São José dos Campos, 2004.

[11] CDSware. Disponível em http://cdsware.cern.ch, acessado em maio de 2008.

[12] CUNHA, Murilo Bastos da. Das Bibliotecas Convencionais às Digitais: diferenças econvergências. Revista Perspectivas em Ciência da Informação, Volume 13, Número 1,2008.

[13] CUNHA, Murilo Bastos da. Desafios na Construção de uma Biblioteca Digital. RevistaCiência da Informação, Volume 28, Número 3, 1999.

[14] Digital Library Federation. Disponível em http://www.diglib.org, acessado emmaio de 2008.

[15] DSpace. Disponível em http://www.dspace.org, acessado em maio de 2008.

[16] Dublin Core. Disponível em http://dublincore.org, acessado em maio de 2008.

[17] Eprints. Disponível em http://software.eprints.org, acessado em maio de2008.

[18] Extensible Access Control Markup Language. Disponível em http://xml.coverpages.org/xacml.html, acessado em maio de 2008.

[19] Fedora Open Source Repository Software: White Paper Fedora.Disponível em http://www.fedora.info/documents/WhitePaper/FedoraWhitePaper.pdf, acessado em maio de 2008.

[20] Fedora Service Framework. Disponível em http://www.fedora-commons.org/confluence/display/FCR30/Service+Framework, acessado em maio de2008.

[21] Fedora Relsext Ontology. Disponível em http://www.fedora.info/definitions/1/0/fedora-relsext-ontology.rdfs, acessado em maio de2008.

[22] Fedora Tutorial #1: Introduction to Fedora. Disponível em http://www.fedora-commons.org/pdfs/Tutorial1.02.28.05.pdf, acessado em maiode 2008.

[23] Fedora Version 2.0: Open-Source Repository Supports XML and Web Services.Disponível em http://xml.coverpages.org/ni2005-03-18-a.html, aces-sado em maio de 2008.

Page 30: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 29

[24] Fedora. Disponível em http://www.fedora-commons.org, acessado em maio de2008.

[25] FERREIRA, Eveline Cruz Hora Gomez. Geração Automática de Metadados: umaContribuição para a Web Semântica. Tese de Doutorado. Departamento de Engen-haria de Sistemas Eletrônicos, Escola Politécnica da Universidade de São Paulo.São Paulo,2006.

[26] GARCIA, Patrícia de Andrade Bueno; SUNYE, Marcos Sfair. O Protocolo OAI-PMHpara Interoperabilidade em Bibliotecas Digitais. I Congresso de Tecnologias paraGestão de Dados e Metadados do Cone Sul. Universidade Estadual de Ponta Grossa, PontaGrossa – Paraná. 2003.

[27] HAROLD, Elliotte Rusty. XML 1.1 Bible. Indianapolis, Wiley Publishing, 3rd Edition,2004.

[28] i-Tor. Disponível em http://www.i-tor.org/en/toon, acessado em maio de2008.

[29] KURAMOTO, Hélio. Iniciativas do IBICT para implementações tecnológicaspara gestão e acesso à informação. Instituto Brasileiro de Informação emCiência e Tecnologia – IBICT. Disponível em http://cg-conteudos.cgi.br/conteudos/conteudos-e-cultura/artigo_cbbd.doc, acessado emmaio de 2008.

[30] LAGOZE, Carl; PAYETTE, Sandy; SHIN, Edwin; WILPER, Chris. Fe-dora an Architecture for Complex Objects and their Relationships.Computing and Information Science, Cornell University. Disponível emhttp://arxiv.org/ftp/cs/papers/0501/0501012.pdf, acessado emmaio de 2008.

[31] Lei de Direitos Autorais Brasileira. Disponível em http://www.planalto.gov.br/CCIVIL/Leis/L9610.htm, acessado em maio de 2008.

[32] Mozilla Public License. Disponível em http://www.mozilla.org/MPL/MPL-1.1.html, acessado em maio de 2008.

[33] MyCoRe. Disponível em http://www.mycore.de, acessado em maio de 2008.

[34] NISO Press. Understanding Metadata. Disponível em http://www.niso.org/publications/press/UnderstandingMetadata.pdf, acessado em maio de2008.

[35] Open Society Institute. A Guide to Institutional Repository Software. 3rd Edition. NewYork, 2004.

[36] OPUS. Disponível em http://elib.uni-stuttgart.de/opus/doku/english/index_english.php, acessado em maio de 2008.

[37] PAYETTE, Sandra; BLANCHI, Christophe; LAGOZE, Carl; Overly, Ed-ward A. Interoperability for Digital Objects and Repositories. TheCornell/CNRI Experiments. Disponível em http://www.dlib.org/dlib/may99/payette/05payette.html, acessado em maio de 2008.

Page 31: Bibliotecas

Bibliotecas Digitais e o Repositório Fedora 30

[38] PAYETTE, Sandra; LAGOZE, Carl. Policy-Enforcing, Policy-Carrying Digi-tal Objects. Cornell University. Disponível em http://www.cs.cornell.edu/payette/papers/ecdl2000/pcpe-draft.ps, acessado em maio de2008.

[39] Portal Domínio Público. Disponível em http://www.dominiopublico.gov.br,acessado em maio de 2008.

[40] POZO, David Patricio Viscarra del. Modelagem e Prototipação de uma BibliotecaDigital Usando a Abordagem 5S. Belo Horizonte.Dissertação de Mestrado. Instituto deCiências Exatas, Universidade Federal de Minas Gerais. 2004.

[41] Protocolo OAI-PMH. Disponível em http://clube-oai.incubadora.fapesp.br/portal/prot-oai, acessado em maio de 2008.

[42] SARACEVIC, Tefko. Digital Library Evaluation: Toward an Evolution of Concepts.New Brunswick. School of Communication, Information e Library Studies, Rutgers Uni-versity. 2008.

[43] STAPLES, Thornton; Ross, WAYLAND. Virginia Dons Fedora: A Pro-totype for a Digital Object Repository. Digital Library Research and De-velopment, University of Virginia. Disponível em http://www.dlib.org/dlib/july00/staples/07staples.html, acessado em maio de 2008.

[44] Tecnologias Open Source na Criação de Bibliotecas Digitais. Disponível emhttp://bibliotecas-cruesp.usp.br/3sibd/docs/teixeira385.pdf,acessado em maio de 2008.