Mudanças entre as edições de "TEDE/TEDE2"

De IBICT
Ir para: navegação, pesquisa
(Criou página com '== Introdução == A Biblioteca Digital Brasileira de Teses e Dissertações (BDTD) forma um ambiente cooperativo composto de três componentes, as BDTD locais (muitas implan...')
 

Edição atual tal como às 15h20min de 3 de novembro de 2014

Índice

Introdução

A Biblioteca Digital Brasileira de Teses e Dissertações (BDTD) forma um ambiente cooperativo composto de três componentes, as BDTD locais (muitas implantadas com o sistema TEDE), o sistema coletador e a BDTD nacional (composta por um portal com busca consolidada). Assim, forma uma rede federada de bibliotecas digitais locais de teses e dissertações, que alimentam uma base nacional. Baseada na filosofia de Arquivos Abertos (Open Archieves), a BDTD coleta metadados provenientes das BDTD locais via protocolo OAI-PMH. Essa forma de execução constitui-se na interoperabilidade dos sistemas, juntamente com um conjunto mínimo de metadados e utilização de tecnologia XML.

Nesse sentido, a BDTD nacional compõe-se de uma base de dados consolidada, em que se pode ofertar serviços, como a recuperação por título, data de publicação, autor, entre outros filtros. Como a BDTD nacional possui uma base de dados de registros provenientes das BDTDs locais, as instituições participantes dão maior visibilidade a sua produção de Tedes e Dissertações em nível nacional.

As BDTD locais constituem-se, assim, por meio de sistemas informatizados, onde ocorre a entrada da informação. Esses sistemas podem ser implementados em diversas tecnologias, e atualmente a mais utilizada é o software TEDE. Este foi distribuído pelo Ibict em 2002, e devido as evoluções ocorridas desde sua criação, se tornou obsoleto em relação às demais plataformas. Por essa razão, optou-se por construir um processo de migração da tecnologia TEDE para um sistema baseado em DSpace, ja que este figura, de acordo com o ROAR 2014, como o software mais utilizado para construção de repositórios digitais.

Repositórios digitais

Em (LEITE et al, 2012), ressaltasse que, no contexto de acesso aberto, o termo repositório digital é usado para denominar os vários tipos de aplicações de provedores de dados que são destinados ao gerenciamento de informação científica. São criados para facilitar o acesso à produção científica. São bases de dados desenvolvidas para reunir, organizar e tornar mais acessível a produção científica dos pesquisadores. Ainda, de acordo com (LEITE, 2009) existem três tipos de repositórios digitais:

  • Repositórios institucionais: Voltados à produção intelectual de uma instituição, geralmente universidades ou centros de pesquisa;
  • Repositórios temáticos ou disciplinares: Tratam de área de conhecimento em particular, voltados a comunidades científicas específicas, produções cientificas de uma determinada instituição;
  • Repositórios de teses e dissertações (Eletronic Theses and Dissertation - ETD): Lidam exclusivamente com teses e dissertações, muitas vezes, quando coletadas em grandes quantidades, é centralizada por um agregador.

DSpace

O DSpace é uma iniciativa surgida no Instituto Tecnológico de massachussets (MIT), em conjunto com a Hewlett-Packard (HP), em resposta à emergente necessidade de mudanças na comunicação científica (CELESTE; BRANSCHOFSKY, 2002). A primeira instalação do DSpace foi disponibilizada no inverno de 2002, pela biblioteca do MIT, e teve como propósito, inicialmente, compartilhar a produção acadêmica entre os pares. Somente após estar totalmente estável foi disponibilizada para outras instituições.

Para Bauduin e Branschofsky (2004), o DSpace, no MIT, transcende ser puramente um aplicativo, tornando-se um projeto, serviço e software. Essa visão multifacetada do DSpace, que pode ser ampliada a todas as implementações do DSpace, refere-se à relação entre grupos diferentes de usuários do sistema, o que amplia sua definição. Assim, o DSpace possui significados diferentes dependendo dos usuários ou da área de atuação.

Como projeto, o DSpace iniciou-se no MIT aliado à HP. Hoje, no entanto, é mantido pelo DuraSpace com apoio de uma comunidade mundial, num projeto que, direta ou indiretamente, envolve muitos profissionais de vários países. Trata-se de uma comunidade que testa novas facilidades, verifica erros, corrige o mau funcionamento, desenvolve facilidades e traduz o aplicativo para diversas línguas, entre outras tarefas. No que concerne ao serviço, o DSpace gerencia e preserva objetos digitais fornecendo facilidades de recuperação. Nesse caso, cada instância do DSpace é um serviço de informação que disponibiliza aos seus usuários documentos digitais de forma facilitada, formando assim uma grande rede de serviços de informação.

Enfim, como software, é produto de um projeto, um aplicativo de computador que implementa um repositório. Baseado na filosofia livre, fornece facilidade para os arquivos abertos, possui open source, além de orientar para o acesso aberto. Entretanto, disponibilizar ou não os metadados para Harvesting (arquivos abertos), bem como o acesso livre ao conteúdo são opções das instituições mantenedoras dos repositórios, e não obrigação das mesmas.

O DSpace, como software, evoluiu desde suas primeiras versões, conforme a necessidade da comunidade, implementando novas facilidades, melhorando as ferramentas de gerenciamento e de busca. A indexação de texto completo da versão 1.3, a possibilidade de uso de vocabulários controlados da versão 1.4 e interface XMLUI da versão 1.5 são exemplos dessa evolução.

Organização DSpace

O DSpace foi desenvolvido com base na comunicação científica, seu projeto foi embasado na disseminação de literatura científica em formato, principalmente, de artigos que foram publicados anteriormente em periódicos. Por essa razão, sua organização está intimamente ligada a sua origem acadêmica. Assim, alguns conceitos orientadores dos repositórios remetem à comunicação científica.

A comunicação científica é o processo que envolve todas as etapas relacionadas à produção, disseminação e uso do conhecimento científico. Para Ziman (1984) é a principal instituição social da ciência, pois valida o conhecimento e o reconhece como científico. complementando, Costa (1999, 2008) e Björk (2005), em seus modelos de comunicação científica, propõem a utilização de repositórios como facilitadores do acesso à literatura científica.

O DSpace, em praticamente todos os aspectos, tem suas facilidades baseadas em práticas da comunidade usuária desse software. como a grande maioria dos repositórios instalados com DSpace estão vinculados a universidades, Registry of Open Access Repositories (ROAR), o DSpace incorpora procedimentos semelhantes aos processos acadêmicos em vários aspectos relacionados à disseminação de conhecimento. Atualmente, a comunidade usuária do DSpace tem contribuído para a evolução desse software, não apenas enviando sugestões ou relatando o mau funcionamento de alguns recursos, mas atuando diretamente no desenvolvimento de ferramentas que estão em consonância com as diretrizes do DSpace, podendo ser incorporadas a novas versões.

A evolução do software cria, na maioria dos casos, novas facilidades, melhorando sua utilização. Em outros casos, disponibiliza novas configurações, estendendo as possibilidades de adequá-lo a novos contextos. Independentemente das mudanças, a evolução apresenta-se como um fator benéfico, pois mantém o software em constante adaptação às necessidades da comunidade usuária. Como um software altamente configurável, o DSpace possui várias opções que lhe permitem ajustar-se às diversas necessidades de uma instituição. Entretanto, essas opções baseiam-se em conceitos que orientaram o desenvolvimento de um repositório. Muitos dos conceitos do DSpace são descritos de forma prática a seguir, e apresentados nos contextos relacionados ao funcionamento do software. Aborda-se também diversos tópicos relacionados à operacionalização do DSpace, o que auxilia o entendimento do software e das opções disponíveis para a implementação de repositórios.

XMLUI x JSPUI

Talvez a maior alteração estrutural efetuada no DSpace tenha ocorrido na versão 1.5, que se manteve na versão 1.6, foi a possibilidade de utilizar duas interfaces web, a JSPUI (Java Server Pages User Interface) e a XMLUI (eXtented Mark Language User Interface). Essa arquitetura de sistema permite que se escolha a interface web entre duas tecnologias distintas, com as vantagens e desvantagens de cada uma.


Infraestrutura.png


Uma das decisões do administrador ou da equipe responsável pelo repositório é exatamente decidir qual das interfaces o repositório irá utilizar. Assim, é mister apresentar as duas interfaces neste manual. Havendo somente um banco de dados e um conjunto de programas, independentemente da interface escolhida, o sistema operará plenamente. O JSPUI mantém a mesma tecnologia das versões antigas e serve para manter a compatibilidade com elas, facilitando a migração para a tecnologia XMLUI, ou apenas para aqueles que preferem essa tecnologia. Baseada em páginas JSP (páginas HTML mescladas com programação Java), para alguns técnicos é mais fácil de manipular. Entretanto, representa uma tecnologia mais antiga.

O XMLUI, por sua vez, é inovador. Baseado na tecnologia XML, que ganha cada vez mais espaço na internet, separa a camada de negócio da apresentação. Essa estrutura apresenta-se mais segura, porém mais complexa. Sua interface é alterada exclusivamente com o uso de folhas de estilos e programas conversores (XSL), exigindo assim profissionais que possuam conhecimentos específicos de desenho de sistemas web com XML.

Opcionalmente pode-se implementar o repositório com a interface JSPUI até que a equipe técnica sinta-se confortável para migrar para a interface XMLUI. Essa estratégia não interfere nas operações efetuadas no repositório, mas exige maior controle por parte dos profissionais envolvidos, principalmente no que se refere à apresentação. Os dados são os mesmos, independentemente da interface, mas tudo o que se relacionar à apresentação é particular a cada interface.

TEDE

O TEDE (Sistema Eletrônico de Teses e Dissertações) é um projeto voltado para o armazenamento de teses e dissertações produzidas por alunos de instituições de ensino superior e institutos de pesquisa. A distribuição desse sistema, dá-se de maneira aberta (software livre) e é orquestrada pelo IBICT (Instituto Brasileiro de Informação Ciência e Tecnologia).

Atualmente, o TEDE é um sistema desenvolvido pelo IBICT, o qual já está em execução desde 2002 em instituições de ensino. A última atualização do TEDE foi feita em 2006. Com o passar do tempo, notou-se que a solução atual não está totalmente aderente às necessidades das instituições e do próprio IBICT. Visando a evolução do sistema, o IBICT decidiu adotar a plataforma DSpace, munida de customizações, para compor a nova versão, denominada TEDE 2. O projeto TEDE 2 tem seu sistema baseado no Software DSpace e possui customizações específicas (configurações, modificações de layout e itens de desenvolvimento) para o contexto de teses e dissertações. Muitas dessas customizações apresentam-se úteis não só para essa tipologia restrita, mas para a comunidade geral de usuários do DSpace. Para tanto, definiu se que as novas funcionalidades seriam organizadas em grupos que dariam origem a plugins e poderiam ser disponibilizados para o livre download.

TEDE2

O novo TEDE é baseado no software DSpace, na sua interface JSPUI, e possui customizações que também objetivam o correto armazenamento de informações relativas à Teses e Dissertações, assim como a garantia de disponibilização de informações para a coleta da BDTD, que por sua vez atua como software unificador das instância do TEDE instaladas nas instituições de ensino.

De acordo com o site “OpenDoar2” o TEDE, na versão antiga, representa cerca de 4.8% dos repositórios nacionais, ao passo que o DSpace ocupa 75% das instalações. Isso significa que os referidos 4,8% do TEDE, se juntarão aos 75% do DSpace:

Utilização repositorios.jpg

Objetivos

O objetivo do presente manual é apresentar a migração de teses e dissertações, em seus textos integrais e seus metadados, do sistema TEDE para sistemas desenvolvidos com DSpace, como sistema TEDE2, baseado em DSpace. Para tanto, apresenta os procedimentos necessários para exportar as teses e dissertações no sistema TEDE e a importação desses documentos no sistema TEDE2.

Público Alvo

O presente trabalho foi elaborado para orientar os profissionais de informática no processo de instalação do TEDE 2 e migração das teses e dissertações, do sistema TEDE para o sistema os sistemas baseados em DSpace. Assim, prioritariamente, a terminologia está adequada a esses profissionais. Entretanto, como os procedimentos relacionados aos repositórios são de responsabilidade do administrador, procura-se abarcar questões de administração de repositórios. Dessa forma, torna-se um documento para informáticos, que pode ser útil aos administradores do repositórios.

Requisitos

  • Para a execução dos procedimentos constantes no presente manual requer-se acesso ao servidor de instalação do TEDE e da instalação do sistema TEDE2, assim como, acesso com privilégio de administrador nos dois sistemas.
  • Para o TEDE, requer-se acesso aos diretórios de instalação, com permissão para sobrescrever programas e copiar arquivos, além do acesso para executar tarefas de administrador na interface do sistema.
  • Para o TEDE2, requer-se acesso aos diretórios do TEDE2 para copiar os arquivos exportados e execução de procedimentos de importação em lote, da mesma forma, que requer-se acesso de administrador para criação da coleção para importação na interface do sistema.
  • Dessa forma, requerem-se tanto os acessos via interface dos sistemas quanto no servidor via linha de comando. Portanto, esse procedimento deve ser efetuado por um profissional de informática, juntamente, com o administrador do sistema TEDE e administrador do sistema desenvolvido com DSpace, TEDE2.

Ferramentas utilizadas

GitHub

O código fonte do TEDE 2 está versionado na ferramenta “GitHub” (https://github.com/). O GitHub é uma forma de“rede social” de projetos de código aberto (opensource), que utiliza o gerenciador de revisões GIT (http://pt.wikipedia.org/wiki/Git). Trata-se de um local onde pessoas e instituições podem depositar e versionar seus códigos fonte e torná-los disponíveis para a comunidade, de maneira colaborativa, onde diversas pessoas interagem, modificando um mesmo projeto.

Em maio de 2012 o DSpace migrou o versionamento de seu código-fonte para o GitHub, fato que resultou em melhora significativa em sua evolução. O que gerou uma participação mais ativa da comunidade no desenvolvimento de seu código. Em síntese, para o depósito e versionamento dos artefatos criados ou modificados para o TEDE 2 (código fonte, imagens, etc…) é utilizada a plataforma GitHub, dado que esta provê um “link” entre o desenvolvimento do TEDE 2 e o do DSpace, o que é elemento facilitador para manter o TEDE 2 em em sincronia com o segundo.

A versão inicial do TEDE 2 é resultado de uma bifurcação do código fonte original do DSpace em sua última versão (a 4.2). Uma bifurcação ou fork, em linhas gerais, é uma cópia de determinado código ou projeto visando sua manutenção e evolução por outro mantenedor. Isso é interessante, dado que o GitHub permite que o criador do projeto original observe as evoluções criadas em cópias do seu projeto e as promova, quando julgar conveniente. Essa metodologia é um dos fatores que colabora para a continuidade do software livre.

Para todos os commits efetuados, foram inseridos comentários que remetem o leitor às modificações efetuadas. Quando algum commit está relacionado a um card (ou atividade) do Trello, o link do card é associado ao commit, provendo um relacionamento entre commit e atividade - a partir do link é possível visualizar o card da atividade em questão e analisar o que motivou uma data modificação.

Uma outra feature do GitHub adotada no TEDE 2 foram as páginas de Wiki que a ferramenta disponibiliza: por ela algumas funcionalidades desenvolvidas para o TEDE 2 foram documentadas, a exemplo das modificações do formulário de entrada para permitir ao usuário submissor a associação de idioma para metadados e a interface para importação de metadados exportados em forma de pastas com XMLs e arquivos. A wiki do TEDE 2 pode ser acessada pela seguinte URL: https://github.com/ibict-br/TEDE/wiki/Sele%C3%A7%C3%A3o-de-idioma-para-metadados.


Demonstrativo de commit com referência ao Trello
CommitTrello.png

Trello

No TEDE 2, foi abordada uma metodologia de desenvolvimento ágil, baseada na metodologia do quadro de Kanban. A referida abordagem não foca no formalismo das atividades, mas sim no resultado do produto de software, objetivando interação entre os stakeholders do projeto. A ferramenta escolhida como “instância” do quadro de Kaban foi a ferramenta “Trello”, que se destaca pelo fácil manuseio e pela facilidade de comunicação entre as partes envolvidas. O Trello é adotado como ferramenta oficial de gestão de atividades por grandes empresas e projetos. A empresa “Caelum”, que atua no mercado de treinamento em TI, escreveu um artigo declarando as motivações para utilização do Trello em: http://blog.caelum.com.br/kanban-alem-do-gerenciamento-de-software.

A experência com a utilização da metologia de Kanban foi benéfica e determinante para o sucesso do projeto. Dado que permitiu comunicação “assíncronas” às necessidades do projeto, o que permitiu a execução das tarefas com a presença remota do consultor. Além disso, a ferrramenta possibilitou a troca de arquivos, como imagens e documentos que representavam requisitos ou propostas ao projeto.

O “quadro” do TEDE 2 é de visualização pública, pois qualquer pessoa com acesso à internet pode acessá-lo, com permissões de leitura. Isso permite que interessados externos possam acompanhar o ciclo de vida do projeto. Somente os stakeholders do projeto, têm acesso de escrita no quadro, a fim de permitir interação entre as partes envolvidas. O referido “board” pode ser acessado pelo seguinte endereço: https://trello.com/b/94vtbsB9/tede.


Quadro de Kanban do TEDE 2
Trello.png

IDE

O DSpace assim como TEDE 2 é um projeto baseado em Java. Existem diversas IDEs que provêem suporte ao desenvolvimento Java a exemplo de: InteliJ, Netbeans, 3 JBuilder, Eclipse, etc… Para o TEDE 2 foi escolhida a IDE “Eclipse”, por ser uma ferramenta consolidada, de amplo uso e popularidade

Em síntese, o Eclipse foi a ferramenta escolhida por prover suporte à edição de uma diversidade de arquivos do DSpace, isso é, não se limita somente a arquivos do tipo “java”: foram editados também, via interface, arquivos CSS, Javascript, HTML, XML e properties. Para a continuidade do TEDE 2 a utilização do Eclipse é recomendada, mas não mandatória. Isso é, não foi adicionada nenhuma característica do ciclo de desenvolvimento do TEDE 2 que o faça depender da IDE. Logo, é possível evoluir o projeto utilizando outras IDEs ou até mesmo com simples editores de texto.

Fatores motivadores para utilização do Eclipse

  • Possibilidade de utilização de recurso de “hot deploy”, que é uma técnica utilizada em tempo de desenvolvimento de software, que evita necessidade de reinicializações do container web (no caso do TEDE 2, o tomcat) para testar modificações. Em outras palavras, códigos Java, CSS, Javascript e alguns XMLs podem ser modificados e testados imediatamente após a modificação. Essa situação propicia enorme ganho de tempo no processo de desenvolvimento. Há arquivos no Dspace que não são passíveis de “hot deploy”, por serem mantidos em memória após o primeiro acesso, a exemplo do arquivo “dspace.cfg”;
  • Integração nativa com repositórios do tipo “Git”, o que significa que é possível estabelecer comunicação com o repositório remoto do TEDE 2 dentro do próprio Eclipse. Entre as atividades facilitadas pela integração estão o commit de artefatos modificados, a atualização de cópia local e a auditoria de artefatos modificados.
Imagem demonstrativa do TEDE 2 configurado no eclipse
TEDE2Manual.png


Breve contextualização para configuração do Eclipse com o TEDE 2

Para ter o Eclipse funcionando em conjunto com a IDE, é necessário seguir os seguintes passos:

  • Ter o DSpace corretamente instalado;
  • No Eclipse 4.4.0 “Luna”:
    • Associar o Eclipse a uma instalação do JDK (Java Development Kit);
    • Adicionar o servidor “Apache Tomcat”, versões 7 ou 8;
    • Nas configurações de execução do Tomcat, adicionar o seguinte parâmetro de VM:
      -Ddspace.dir="[diretório de instalação do TEDE 2]"
    • Importar TEDE 2 como projeto “Maven”, caso a IDE informe acerca da existência de plugins não encontrados, selecione a opção que permita que os referidos plugins sejam ignorados enquanto o DSpace é executado internamente ao Eclipse. Entre os módulos a serem selecionados e importados para o workspace, é obrigatório no mínimo a seleção dos módulos “jspui”
    • Adicionar os módulos “jspui” e “solr” ao servidor de aplicações;
    • Inicializar o servidor.
    • Via browser, acessar a seguinte URL: localhost:8080/jspui.

PostgreSQL

O TEDE 2 faz uso de uma das possibilidades de banco de dados que o DSpace provê: o PostgreSQL. Trata-se de um banco de dados relacional de código aberto, reconhecido por sua confiabilidade e escalabilidade.

No processo de desenvolvimento do TEDE 2, as modificações em banco de dados foram evitadas, de modo a inibir fatores que venham a dificultar a atualização do TEDE 2 para novas versões do DSpace. Em outras palavras, quando houve necessidade de modificação na base de dados foram buscadas alternativas de resolução de problemas utilizando recursos de programação, em nenhum desses casos os princípios de boas práticas de desenvolvimento de software, assim como de atualização do DSpace, foram violados. Isso significa que, quando for estritamente necessário, o banco de dados pode ser alterado, contudo, uma forte documentação e orientação deve ser confeccionada para que o TEDE 2 não deixe de ser equalizado com as últimas versões do DSpace.

Para auxílio à operações de banco de dados (DMLs, DDLs), a ferramenta “PgAdmin” foi utilizada. A ferramenta dispõe de recursos gráficos em forma de alternativas para os programas de linha de comando que o PostgreSQL dispõe (a exemplo do comando “psql”).

No TEDE 2, o PgAdmin foi utilizado para executar instruções de seleção, inserção e DUMP da base de dados. Para continuidade do projeto não é necessária a utilização do PgAdmin.