55
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO BIBLIOTECA VIRTUAL ELIS II Área de Banco de Dados por Fernando Miranda Adriana Gomes Alves, MEng. Orientadora Itajaí (SC), junho de 2009

BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

BIBLIOTECA VIRTUAL ELIS II

Área de Banco de Dados

por

Fernando Miranda

Adriana Gomes Alves, MEng. Orientadora

Itajaí (SC), junho de 2009

Page 2: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

BIBLIOTECA VIRTUAL ELIS II

Área de Banco de Dados

por

Fernando Miranda Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientadora: Adriana Gomes Alves, MEng.

Itajaí (SC), junho de 2009

Page 3: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

SUMÁRIO

LISTA DE ABREVIATURA S .................................................................v

LISTA DE FIGURAS................................................................................vi

RESUMO...................................................................................................vii ABSTRACT.................................................................................................8

1 INTRODUÇÃO........................................................................................9 1.1 PROBLEMATIZAÇÃO ................................................................................... 11 1.1.1 Formulação do Problema............................................................................... 11 1.1.2 Solução Proposta............................................................................................. 11 1.2 OBJETIVOS ...................................................................................................... 12 1.2.1 Objetivo Geral ................................................................................................. 12 1.2.2 Objetivos Específicos ...................................................................................... 12 1.3 METODOLOGIA.............................................................................................. 12 1.4 ESTRUTURA DO TRABALHO ..................................................................... 13

2 FUNDAMENTAÇÃO TEÓRICA......................................................14 2.1 ELIS II ................................................................................................................ 14 2.1.1 Descrição do Elis II ......................................................................................... 14 2.1.2 Tecnologias ...................................................................................................... 16 2.1 BIBLIOTECA VIRTUAL ................................................................................ 17 2.2 PESQUISA TEXTUAL EM BANCO DE DADOS ........................................ 18 2.2.1 Índices invertidos com contadores de posição.............................................. 19 2.2.2 Índice para a próxima palavra ...................................................................... 20 2.3 FERRAMENTAS .............................................................................................. 21 2.3.1 Ferramentas usadas no Elis II ....................................................................... 21 2.3.2 Ferramentas para desenvolvimento da biblioteca virtual .......................... 24

3 PROJETO.............................................................................................28 3.1 MODELO DO PROJETO................................................................................ 28 3.1.1 Requisitos Funcionais ..................................................................................... 28 3.1.2 Regras de Negócio ........................................................................................... 28 3.1.3 Requisitos Não-Funcionais.............................................................................29 3.1.4 Casos de Uso .................................................................................................... 29 3.1.4.1 Pacote 01 – administração Elis II ........................................................... 29 3.1.4.2 Pacote 2 - Biblioteca Virtual ................................................................... 31 3.1.5 Modelo de banco.............................................................................................. 33 3.1.6 Modelo de classes ............................................................................................ 34 3.1.7 Desenvolvimento com Oracle Text................................................................ 35 4 DESENVOLVIMENTO DA FERRAMENTA............................................... 38 4.1 BANCO DE DADOS E ORACLE TEXT ....................................................... 38

Page 4: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

iv

4.2 DESENVOLVIMENTO PHP COM SYMFONY .......................................... 40 4.3 IMPLANTAÇÃO............................................................................................... 40 5 APRESENTAÇÃO DA BIBLIOTECA VIRTUAL ................. ...................... 43 5.1 TELAS BIBLIOTECA VIRTUAL ........................... ....................................... 43 5.2 TESTES .............................................................................................................. 47

6 CONCLUSÕES ....................................................................................52

7 REFERÊNCIAS BIBLIOGRÁFICAS...............................................54

Page 5: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

v

LISTA DE ABREVIATURA S

API Application Programming Interface CAPES Coordenação de aperfeiçoamento de pessoal de nível superior CTTMAR Centro de Ciências Tecnológicas da Terra e do Mar DTI Departamento de Tecnologia da Informação da Univali HTML HyperText Markup HTTP Hypertext Transfer Protocol LCA Laboratório de Computação Aplicada MVC Model-View-Controller PDF Portable Document Format PHP Hypertext Preprocessor SGBD Sistema Gerenciador de Banco de Dados SQL Structured Query Language SSL Secure Sockets Layer TCC Trabalho de Conclusão de Curso UFSC Universidade Federal de Santa Catarina UNESP Universidade Estadual Paulista “Júlio de Mesquita Filho” UNIVALI Universidade do Vale do Itajaí URL Uniform Resource Locator

Page 6: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

vi

LISTA DE FIGURAS

Figura 1. Página principal do Elis II ..................................................................................................16 Figura 2. Estrutura de um arquivo invertido ......................................................................................19 Figura 3. Índice para a próxima palavra.............................................................................................21 Figura 4. Diagrama de UC, Administração Elis II .............................................................................30 Figura 5. Biblioteca Virtual................................................................................................................31 Figura 6. Modelo de autorização........................................................................................................33 Figura 7. Modelo de Classes ..............................................................................................................35 Figura 8. Exemplo criação tabela.......................................................................................................36 Figura 9. Exemplo criação índice.......................................................................................................36 Figura 10. Exemplo busca documentos..............................................................................................37 Figura 11. Pesquisa principal. ............................................................................................................39 Figura 12. Fluxo de cadastro de eventos. ...........................................................................................42 Figura 13. Página inicial Biblioteca Virtual.......................................................................................44 Figura 14. Página de resultados da Biblioteca Virtual .......................................................................45 Figura 15. Página de detalhes da Biblioteca Virtual..........................................................................46 Figura 16. Tela inicial da biblioteca virtual. ......................................................................................48 Figura 17. Tela de listagem dos resultados da pesquisa.....................................................................49 Figura 18. Tela de detalhes da biblioteca virtual. ..............................................................................50 Figura 19. Arquivo baixado da biblioteca virtual. .............................................................................51

Page 7: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

vii

RESUMO

MIRANDA, Fernando. Biblioteca Virtual Elis II. Itajaí, 2009. 55 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação)–Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2009. Neste trabalho, foi desenvolvida uma biblioteca virtual para o sistema de eventos da Univali, o Elis II. O Elis II é um sistema de informação que possui um banco de dados de artigos técnico-científicos de ótima qualidade dos mais variados assuntos, publicados em seus eventos. Porém, o sistema carece de pesquisas avançadas e públicas de todo o seu acervo, estando atualmente restrito aos organizadores dos eventos. Visando oferecer, ao Elis II, uma ferramenta de busca e divulgação dos artigos publicados, foi desenvolvida, neste projeto, uma biblioteca virtual, cuja função principal é permitir a busca textual nos artigos que constam na base de dados do Elis II, dentre outros parâmetros a serem informados. As ferramentas usadas neste projeto são o banco de dados Oracle, a linguagem de programação PHP com o framework Symfony e o Oracle Text, que consiste na ferramenta de pesquisa textual. O banco de dados Oracle e a linguagem de programação PHP com o Symfony são as ferramentas de desenvolvimento do Elis II e, por isso foram utilizadas. Por sua vez, o Oracle Text, após análise, foi considerado a melhor opção para este trabalho. Palavras-chave: Biblioteca virtual, Oracle Text, Pesquisa textual.

Page 8: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

ABSTRACT

This work did develop a virtual library for Univali’s events system, Elis II. Elis II is an information system with a database for top-quality scientific papers about many subjects, which were published in the events. However, the system lacks advanced and public search of its collection, to which only the events organizers have access. Seeking to provide Elis II with a tool for searching and divulging papers, this project will develop a virtual library, whose main function will be allowing textual search of those papers in the system’s database, among other parameters to be informed. The tools used in this project will be the Oracle database, the PHP programming language, and Oracle Text, which will be the textual search tool. The Oracle database and the PHP programming language are the system’s developing tools, thus, they will be used. In its turn, Oracle Text, after being analyzed, was considered the best option for this work. Keywords: Virtual library. Oracle Text. Textual search.

Page 9: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

9

1 INTRODUÇÃO

Com o objetivo de automatizar o gerenciamento de eventos técnico/científicos organizados

pelo CTTMar/Univali, em 2002 foi iniciado o desenvolvimento de um sistema que implementou

diversas facilidades para a gestão de eventos. Com a facilidade de acesso à internet e à tecnologia

para criação de sistemas Web surgiu o Elis II, o qual atende aos requisitos necessários para o

gerenciamento e divulgação de eventos técnicos e científicos (ALVES e BOHNER, 2005).

O Elis II tem como principais objetivos possibilitar e/ou facilitar a interação

interinstitucional, divulgação e promoção, uso, implantação, monitoramento e acesso 24 horas de

qualquer computador ligado à internet.

O sistema permite um melhor gerenciamento e divulgação das informações, tais como:

auxiliar no processo de recebimento e avaliação de trabalhos, permitir o processo de pré-inscrição e

inscrição via Web, manter informações para a geração de páginas dinâmicas do evento,

disponibilizar os artigos para consulta, gerar relatórios para conferência e controle de participantes

nas atividades do evento, permitir o pagamento de inscrições via Web, o controle dos pagamentos

efetivados e também o controle das entradas de recursos.

O sistema iniciou para eventos do CTTMar, porém seu uso foi ampliado quando, em 2005,

foi adotado como sistema de eventos da Univali, dando apoio à Central de Gestão de Eventos da

instituição. Nesse período mais de 500 eventos já foram realizados, com mais de 1.500 trabalhos

publicados e mais de 15.000 autores. Com isso a quantidade de artigos que o sistema tem

armazenado em seu banco de dados é de mais de 9.000 entre publicados e não-publicados, uma vez

que passam por processo de avaliação por bancas especializadas. Porém, atualmente, o sistema não

dispõe de um mecanismo de consulta ao seu acervo de artigos, ficando os mesmos disponíveis

somente aos gestores dos eventos. Mesmo as consultas pelos gestores são limitadas, pois não

existem formas avançadas de busca pelo conteúdo dos textos, além da visão integrada dos dados,

uma vez que cada gestor apenas pode acessar dados do seu evento.

Por esta dificuldade de encontrar os materiais desejados no Elis II surgiu a idéia deste TCC

que foi implementar uma biblioteca virtual para os artigos armazenados no Elis II. Uma biblioteca

virtual pode ser compreendida como “troca de informações através de mídia on-line e na criação de

fontes de informação que não possuam necessariamente uma propriedade física. Constituem um

referencial de pesquisa que pode ser acessado a qualquer hora e em qualquer lugar” (DINIZ, 2008).

Essa biblioteca facilitará a busca dos materiais desejados e a consulta aos mesmos, através da Web,

Page 10: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

10

onde as pessoas que acessam terão opções para busca como palavras-chave, autor, assunto, bem

como do conteúdo existente nos artigos.

O Elis II usa o banco de dados Oracle para armazenar suas informações, portanto este será o

SGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é

linguagem utilizada pelo Elis II. Cabe ressaltar que os textos dos artigos podem ser encontrados em

diferentes formatos, tais como: .doc e .pdf, conforme configuração do gestor do evento. Esses

arquivos são armazenados em campos blog do Oracle e será necessário implementar rotinas para

busca dos seus conteúdos.

A busca textual em banco de dados é uma técnica já muito utilizada hoje para pesquisa na

Web, “existem dois métodos principais de busca por frases em banco de dados textuais utilizando

indexação de textos, um é arquivos invertidos com contadores de posição e o outro é índices para a

próxima palavra. Um arquivo invertido possui duas partes principais: uma estrutura de busca,

chamada de vocabulário, contendo todos os termos distintos existentes nos textos indexados e, para

cada termo, uma lista invertida que armazena os identificadores dos registros contendo o termo.

Consultas são feitas tomando-se a lista invertida correspondente ao termo procurado. As consultas

booleanas são feitas obtendo-se a conjunção ou disjunção entre as listas relativas ao termos

presentes na consulta. Os índices para a próxima palavra apresentam uma abordagem mais eficiente

do que o uso de arquivos invertidos com contadores de posição. Nessa abordagem, para cada

palavra existente no vocabulário é criado uma lista com as palavras que ocorrem em uma posição

subseqüente no texto, juntamente com apontadores de posição para essas ocorrências” (ROCHA,

COSTA e SANTOS NETO, 2008).

Os artigos estão armazenados no banco de dados onde serão feitos as buscas. O Oracle

disponibiliza uma ferramenta de busca textual chamada “Oracle text”, que vai ser a ferramenta

utilizada para fazer a busca textual. O “Oracle text é uma funcionalidade embutida no banco de

dados que utiliza a linguagem SQL para indexar, pesquisar e analisar textos e documentos binários

armazenados nas tabelas. Esta tecnologia oferece uma solução completa para pesquisa de textos na

qual a mesma permite filtrar e extrair textos e conteúdos de diferentes formatos de documentos. O

Oracle text suporta mais de 150 formatos de documentos, incluindo os mais populares como o

Microsoft Office, além de formatos de arquivos do Adobe PDF, arquivos HTML e XML

”(LEGATTI, 2008).

A implementação da biblioteca virtual justifica-se como TCC porque, além de promover a

disseminação do conhecimento existente no Elis II, vai ser implementada usando técnicas como

índices invertidos com contadores de posição, conhecimentos de banco de dados e programação, e o

Page 11: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

11

aprendizado de tecnologias de busca em arquivos texto em banco de dados como o Oracle Text, a

implementação de sistemas para internet, uso de frameworks de desenvolvimento e técnicas de

engenharia de software que vão permitir ao acadêmico elaborar um trabalho que vai além dos

conteúdos estudados em sala, mostrando um pouco a realidade do mercado de trabalho e fazendo

com que o aluno aprenda novas tecnologias e agregue valor no espírito de pesquisa e auto-

aprendizado.

1.1 PROBLEMATIZAÇÃO

1.1.1 Formulação do Problema

O sistema de eventos da Univali Elis II tem cadastrado mais de 500 eventos, com mais de

1.500 trabalhos publicados e mais de 15.000 autores. Com isso a quantidade de artigos que o

sistema tem armazenado em seu banco de dados é de mais de 9.000, todos esses artigos passam por

processo de avaliação por bancas especializadas. Esse sistema com tantas informações de ótima

qualidade peca muito no quesito busca, pois o Elis II não tem nenhum método de busca avançado e

a maneira de busca que os administradores possuem para consultar os trabalhos é a pesquisa no

evento que esta sendo consultado, e não tem a possibilidade de cruzamento das informações com os

outros eventos e de pesquisa por palavras nos textos. Isso dificulta bastante o acesso dos usuários ao

material que esta disponível neste sistema.

1.1.2 Solução Proposta

A proposta deste trabalho foi a análise, projeto e implementação de uma Biblioteca Virtual

para os artigos armazenados no Elis II. Essa biblioteca facilitará a busca dos materiais desejados e a

consulta aos mesmos, através da Web, onde as pessoas que acessam terão opções para busca como

palavras-chave, autor, assunto, bem como do conteúdo existente nos artigos. A Biblioteca Virtual

será uma área pública onde os usuários vão poder pesquisar os artigos em diversos eventos o que

hoje é uma limitação. Porém somente serão feitas as pesquisas nos eventos que estejam autorizados

por seus administradores.

Page 12: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

12

1.2 OBJETIVOS

1.2.1 Objetivo Geral

O objetivo geral é projetar e implementar uma biblioteca virtual para o banco de dados de

trabalhos do Elis II – Sistema de Gerenciamento de Eventos Técnico-científicos da Univali.

1.2.2 Objetivos Específicos

• Pesquisar sobre bibliotecas virtuais e seu funcionamento;

• Estudar o Elis II com vistas a compreender seu funcionamento e o banco de dados

necessários ao desenvolvimento do projeto;

• Determinar os requisitos exigidos para a biblioteca virtual;

• Definir uma política de divulgação dos trabalhos do Elis II;

• Pesquisar os conceitos e tecnologias necessárias ao desenvolvimento da biblioteca

virtual;

• Realizar a modelagem da biblioteca virtual;

• Implementar a biblioteca virtual;

• Testar e avaliar o software desenvolvido; e

• Documentar o desenvolvimento e resultados do projeto.

1.3 Metodologia

Para a fundamentação teórica foram pesquisados livros, publicações e anais de eventos.A

metodologia utilizada neste trabalho foi dividida em 3 etapas principais: (1) estudo, (2) modelagem

do projeto e (3) desenvolvimento.

Na etapa de estudo se definiu o tema/problema deste projeto e adquiriu-se o conhecimento

necessário sobre as soluções e tecnologias existentes com o objetivo de poder propor a solução mais

adequada e eficiente para a solução do problema.

Na etapa de modelagem visou-se especificar completamente o funcionamento da solução

proposta criando um modelo conceitual da mesma, definindo seus requisitos e regras.

Na etapa de desenvolvimento foi feita a implementação das classes, requisitos e regras de

negócio definidas no pojeto, bem como a implementação dos protótipos definidos.

Page 13: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

13

1.4 Estrutura do trabalho

No primeiro capítulo deste trabalho é apresentada uma introdução sobre o Elis II e discute-

se o problema tratado neste trabalho. Também no capítulo 1, definem-se os objetivos do mesmo e a

metodologia utilizada para alcançá-los. No segundo capítulo apresentam-se os embasamentos

teóricos que nortearam o desenvolvimento deste trabalho: revisão sobre o Elis II, biblioteca virtual,

pesquisa textual e ferramentas de desenvolvimento, no terceiro capítulo, está o projeto de

desenvolvimento da biblioteca virtual com modelagem, especificações e protótipo, no quarto o

desenvolvimento da aplicação. E no quinto é apresentada a ferramenta obtida com o

desenvolvimento do projeto.

No capítulo final estão descritas as conclusões sobre este trabalho falando sobre o que foi

feito, ferramentas e desenvolvimento da aplicação.

Page 14: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

14

2 FUNDAMENTAÇÃO TEÓRICA

2.1 Elis II

2.1.1 Descrição do Elis II

O Elis II foi desenvolvido pelo LCA (Laboratório de Computação Aplicada) reunindo

esforços dos cursos de Ciências da Computação e Oceanografia para fazer o gerenciamento e

divulgação de eventos técnicos e científicos, de modo a oferecer recursos para o apoio automatizado

às tarefas envolvidas na organização de diversas fases e etapas de um evento. Originalmente foi

desenvolvido para atender ao International Coastal Symposium - ICS2004. (ALVES e BOHNER,

2005), porém prevendo uma arquitetura que permitisse quaisquer outros eventos utilizarem seus

recursos.

O sistema iniciou para eventos do CTTMar – Centro de Ciências Tecnológicas da Terra e do

Mar. Porém, seu uso foi ampliado quando, em 2005, foi adotado como sistema de eventos da

Univali, dando apoio à Central de Gerenciamento de Eventos da instituição. Nesse período, mais de

500 eventos já foram realizados, com mais de 9000 trabalhos submetidos, dentre os quais 1.500

trabalhos aprovados e mais de 15.000 autores cadastrados. A qualidade dos trabalhos é garantida

porque os mesmos passam por processo de avaliação por bancas especializadas (BALABA, 2008).

Os objetivos principais do Elis II são auxiliar no processo de recebimento e avaliação de

resumos e artigos dos eventos, fazer o processo de pré-inscrição e inscrição via Web, manter

informações para páginas dinâmicas dos eventos, disponibilizar os eventos para consulta, gerar

relatórios para acompanhamento e controle dos participantes, permitir o pagamento da inscrição via

Web e também permitir o controle das entradas de recursos que são utilizados nos eventos (ALVES

e BOHNER, 2005).

O Elis II foi planejado e construído para ser utilizado via Web, principalmente com os

objetivos de facilitar a integração inter-institucional, divulgação, promoção, uso, implantação,

monitoramento e acesso a qualquer hora de qualquer computador que tenha acesso à internet.

(ALVES e BOHNER, 2005)

Page 15: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

15

O sistema é dividido em módulos, a saber: o módulo de usuário Web, o módulo de

coordenação do evento e o módulo de administração.

O módulo de usuário Web é onde os usuários consultam as informações públicas do sistema,

como a divulgação dos resultados das avaliações dos artigos; podem fazer seus cadastros, pré-

inscrição e inscrição nos eventos e também submeter seus trabalhos para publicação.

O módulo de coordenação do evento é onde o responsável por um evento, ou as pessoas que

tenham sido autorizadas por ele, podem inserir ou editar todas as informações do evento. Aqui

também são manipuladas as informações de avaliação dos trabalhos do evento, inscrições e os

dados financeiros. Este módulo também disponibiliza funcionalidades de avaliação de artigos pelas

bancas de avaliadores, através da web.

E, no último módulo, administração do Elis II, é onde é feita a administração geral do

sistema, podendo criar novos eventos e autorizar os responsáveis para manutenção dos dados dos

mesmos (ALVES e BOHNER, 2005).

Atualmente o sistema não dispõe de um mecanismo de consulta ao seu acervo de artigos,

ficando os mesmos disponíveis somente aos gestores dos eventos. Mesmo as consultas pelos

gestores são limitadas, pois não existem formas avançadas de busca pelo conteúdo dos textos, além

da visão integrada dos dados, uma vez que cada gestor apenas pode acessar dados do seu evento.

Uma das soluções para este problema é a criação de uma biblioteca virtual para disponibilizar estes

artigos para os usuários com mais facilidade.

A Figura 1. Página principal do Elis IImostra a página que os usuários utilizam para acessar

as funções do sistema e ter uma idéia de como é o Elis II, suas características e possibilidades.

Mostra uma lista de eventos ativos e em destaque, opção de pesquisar o evento, informações sobre o

Elis II, contato e FAQ.

Page 16: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

16

Figura 1. Página principal do Elis II

Fonte: www.univali.br/eventos

2.1.2 Tecnologias

O Elis II é um sistema totalmente voltado para a internet para que tenha um acesso fácil a

qualquer computador com acesso a internet. O sistema roda na plataforma Linux na versão Red Hat

Linux (GNU/Linux) 6.2, o SGBD (Sistema Gerenciador de Banco de Dados) é o Oracle 10g. A

interface do portal foi feita através de um servidor HTTP (Hypertext Transfer Protocol) seguro

Apache SSL (Secure Sockets Layer) e as páginas Web foram desenvolvidas usando PHP (Hypertext

Preprocessor) (ALVES e BOHNER, 2005).

“Originalmente o sistema não foi desenvolvido usando orientação objeto, porém à medida

em que novas funcionalidades foram desenvolvidas ou refeitas, adotou-se o framework Symfony”

Page 17: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

17

(ALVES e BOHNER, 2005), o qual adota uma arquitetura MVC (Model-View-Controller) para

implementação das classes, em PHP. O módulo que utiliza esta arquitetura atualmente é o usuário

Web, para o qual foram implementadas melhorias de funcionalidades e facilidades de uso. Também

a avaliação de artigos foi refeita nesta arquitetura. A nova versão do Elis, que vai ser o Elis III, será

totalmente desenvolvida no framework Symfony.

2.1 Biblioteca Virtual

Bibliotecas são coleções públicas ou privadas de documentos, organizadas para estudos,

leitura e consulta (ZANG, FELIPIAK e SENGER, 2000).

Existem dois tipos principais de bibliotecas: as reais e as virtuais. As reais são aquelas que

possuem seu acervo fisicamente, que está concentrado em algum edifício ou recinto, e as bibliotecas

virtuais que são aquelas que não existem como ambiente físico, mas, sim, em bancos de dados em

arquivos digitalizados onde esses podem ser acessados de qualquer computador com acesso a

internet.

As bibliotecas virtuais apresentam-se como uma alternativa para ampliar as condições de

busca, disponibilidade e recuperação de informações de forma globalizada, aliando o acesso com a

internet, pois o acervo destas bibliotecas é totalmente digitalizado o que facilita muito a

disponibilização dos documentos (MACHADO, 2003).

Existem, atualmente, várias bibliotecas virtuais espalhadas pela internet. Aqui serão citados

três exemplos: a Biblioteca Virtual da UFSC (Universidade Federal de Santa Catarina) que pode ser

acessada pelo endereço eletrônico http://www.bu.ufsc.br/design/virtuais1.php, a Biblioteca Virtual

de Teses e dissertações da UNESP (Universidade Estadual Paulista “Júlio de Mesquita Filho”) que

pode ser acessada pelo endereço eletrônico http://www2.fc.unesp.br/BibliotecaVirtual/index.jsp e a

Biblioteca ACM Portal que não é totalmente de acesso livre e também é internacional podendo ser

acessada pelo endereço http://portal.acm.org/portal.cfm.

A Biblioteca Virtual da UFSC é um ambiente que apresenta áreas abertas como base de

dados gratuitas, revistas científicas, sites selecionados, produção UFSC e livros on-line e também

áreas restritas como o portal de periódicos da CAPES (Coordenação de aperfeiçoamento de pessoal

de nível superior), portal da pesquisa e o e-livro. Essa biblioteca disponibiliza no acesso gratuito

várias sub-bibliotecas através de links, e essas bibliotecas são de várias áreas, como medicina e

Page 18: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

18

psicologia. Dentro dessas sub-bibliotecas são disponibilizados vários documentos relacionados ao

assunto, onde estes podem ser pesquisados através de consultas mais específicas, por exemplo, por

uma palavra-chave.

A biblioteca da UNESP que é a Biblioteca Virtual de Teses e dissertações disponibiliza

também seus materiais gratuitamente, tendo em sua página inicial uma pequena descrição do que

ela é e de seu objetivo,uma lista dos documentos mais acessados, a quantidade de teses e

dissertações disponíveis e assim por diante. Permite, também, que seja feita uma pesquisa simples

por palavras-chave ou uma pesquisa mais específica, podendo informar instituição, área, ano, título,

autor e outras opções. Disponibiliza um menu de ajuda de como publicar um documento nesta

biblioteca e uma ferramenta para converter arquivos para PDF (Portable Document Format).

O Portal ACM é uma biblioteca virtual internacional e muito bem conceituado tendo em sua

base de dados uma grande quantidade de documentos. Essa biblioteca não é totalmente gratuita. A

maior parte dos documentos só pode ser acessada tendo um usuário e senha para fazer a

autenticação. Como esta é uma biblioteca internacional o seu portal de acesso está totalmente em

inglês. Em sua página principal o Portal possui uma opção de busca por frases ou palavras-chave e

também alguns links para assuntos bastante procurados. Como diferencial, existe uma área onde os

usuários podem fornecer um feedback sobre a biblioteca ou conteúdos dela, o que é importante para

o crescimento e melhora contínua do portal.

2.2 Pesquisa Textual em banco de dados

Um banco de dados textual consiste em uma tabela de dados, onde cada linha é uma unidade

de informação e cada coluna por sua vez representa um dos campos de informação. Então quando

consideramos uma linha da tabela estamos vendo todos os campos referentes a um registro. Nestes

bancos de dados textuais estão armazenados coleções de documentos (CONCEITO ...2008).

Para fazer busca nestes documentos pode ser usada a técnica de indexação de textos que tem

dois métodos principais: o método de arquivos invertidos com contadores de posição e o método de

índices para próxima palavra.

Os arquivos invertidos possuem duas partes, uma é o vocabulário que é a estrutura de busca

que tem todos os termos que estão no texto indexado, e para cada termo há uma lista invertida

contendo um identificador dos termos. As consultas são feitas pegando a lista invertida do termo

Page 19: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

19

desejado, e fazendo comparações booleanas entre as listas e os termos das consultas (ROCHA,

COSTA e SANTOS NETO, 2008).

“Para a técnica de índices para a próxima palavra, em cada palavra presente no vocabulário é

criada uma lista com as palavras do texto e os apontadores dessas palavras nos textos” (ROCHA,

COSTA e SANTOS NETO, 2008).

2.2.1 Índices invertidos com contadores de posição

Arquivos invertidos são usados principalmente para a implementação de índices ordenados.

Nas pesquisas por frases um arquivo invertido pode ser uma lista ordenada de palavras-chave onde

cada palavra tem um apontador para cada documento onde a palavra ocorre e onde esta palavra está

dentro do documento. Esta pesquisa é bastante eficiente, mas ela tem um custo adicional de que o

arquivo invertido pode ter de 10 a 100% do tamanho do documento original e também a cada

atualização do documento o arquivo invertido tem que ser atualizado também. A

Figura 2 mostra a estrutura de um arquivo invertido onde D1 à Dn são os documentos e O1 à On

são as localizações das palavras nos documentos (ROCHA, COSTA e SANTOS NETO, 2008).

Figura 2. Estrutura de um arquivo invertido

Adaptado de: (ROCHA, COSTA e SANTOS NETO, 2008).

Para que o custo-benefício desta pesquisa não seja ruim é comum colocar restrições nos

arquivos invertidos. A restrição mais comum é principalmente no vocabulário, onde é feita a

remoção de palavras mais freqüentes como artigos e preposições, isso torna o arquivo invertido

menor e faz com que a performance das pesquisas sejam melhores, mas em contra-partida elas

ficam mais imprecisas (ROCHA, COSTA e SANTOS NETO, 2008).

Page 20: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

20

2.2.2 Índice para a próxima palavra

Arquivos invertidos permitem a pesquisa por frases, mas as técnicas por indexação são

melhores como, por exemplo, a de índices para a próxima palavra.

Um índice para a próxima palavra w é um vocabulário de palavras onde, para cada palavra,

tem uma lista de palavras s que a sucedem. A lista das próximas palavras s que sucedem w em

algum local da base de documentos. Para cada ws existe as localidades onde elas ocorrem nos

documentos (ROCHA, COSTA e SANTOS NETO, 2008).

Existe uma abordagem que combina as técnicas de índices invertidos e índices para próxima

palavra que é chamada de esquema baseado na freqüência máxima que tem por objetivo manter a

eficiência das consultas e também se propõe a diminuir o tamanho dos índices. Esse método foi

criado pelo fato de palavras comuns estarem presentes em grande parte das consultas, então apenas

as palavras mais comuns são utilizadas como índice para a próxima palavra, o restante é indexado

normalmente (ROCHA, COSTA e SANTOS NETO, 2008).

A Figura 3 é um exemplo de índices para a próxima palavra. No primeiro nível se tem a lista

de palavras que esta no banco de dados e que possuem uma próxima palavra. Cada palavra do

primeiro nível tem um apontador para o segundo nível onde estão as próximas palavras. No

segundo nível cada nó tem um ponteiro para uma lista de documentos onde o par de palavras

ocorre. Na lista de documentos tem o identificador dos documentos e a posição onde o par de

palavras ocorre.

Page 21: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

21

Primeiro nível Segundo nível Terceiro nível

Figura 3. Índice para a próxima palavra.

Fonte: Jesus (2003).

2.3 Ferramentas

2.3.1 Ferramentas usadas no Elis II

O Elis II foi desenvolvido com a linguagem PHP que é projetada para programar scripts, é

gratuita e multiplataforma executando do lado do servidor (ALVARES, 2008). Algumas das

funcionalidades da versão do sistema que está em uso, bem como a versão III do sistema em

desenvolvimento, utilizam o framework Symfony, o qual baseia-se na arquitetura MVC (Model-

View-Controller).

Um framework simplifica o desenvolvimento das aplicações, pois ele tem alguns dos

padrões de desenvolvimento já automatizados para resolver as tarefas mais comuns. Um framework

também obriga que o desenvolvedor faça códigos fontes estruturados e mais legíveis deixando-os

fáceis de manter (ZANINOTTO e POTENCIER, 2008).

Page 22: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

22

O Symfony é um framework que visa otimizar o desenvolvimento de aplicações Web. Ele

tem separações como às de regra de negócio, lógica de servidor e a apresentação da aplicação web,

que é a arquitetura MVC. Este oferece também várias ferramentas e classes projetadas para facilitar

o desenvolvimento das aplicações Web, principalmente as complexas. Automatiza as tarefas mais

comuns, deixando que o desenvolvedor fique mais focado na aplicação em si. “O resultado final de

todas essas vantagens é que não se deve reinventar a roda cada vez que uma nova aplicação web for

construída” (ZANINOTTO e POTENCIER, 2008).

O Symfony foi criado totalmente em PHP 5, é compatível com a maioria dos bancos de

dados incluindo MySQL, Oracle, PostgreSQL e Microsoft SQL (Structured Query Language)

Server e sua primeira versão foi lançada em 2005. Esta ferramenta foi totalmente criada visando o

desenvolvimento de aplicações orientadas a objeto. As principais características deste framework

são (ZANINOTTO e POTENCIER, 2008):

• Fácil de instalar e configurar na maioria das plataformas (e funcional em plataformas padrão

*nix e Windows);

• Independente de SGDB - Sistema Gerenciador de Banco de Dados;

• Fácil de usar na maioria dos casos, ainda que suficientemente flexível para adaptar-se aos

casos mais complexos;

• Baseado na premissa de convenção sobre configuração -- o desenvolvedor precisa

configurar apenas o que não for convencional;

• Segue a maioria das melhores práticas e padrões de projeto para a web;

• Pronto para aplicações empresariais e adaptável a política e arquiteturas próprias de cada

empresa, além de ser suficientemente estável para o desenvolvimento de aplicações a longo

prazo;

• Código de leitura e manutenção fácil que inclui comentários do phpDocumentor; e

• Fácil de estender, permitindo integração com outras bibliotecas distribuídas por terceiros.

O Symfony como já citado anteriormente automatiza várias funções comuns no

desenvolvimento, como por exemplo (ZANINOTTO e POTENCIER, 2008).:

• A camada de Internacionalização do Symfony que permite a tradução dos dados da

interface, assim como a adaptação local dos conteúdos;

Page 23: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

23

• A camada de apresentação utiliza templates e layouts que podem ser construídos por

webdesigners HTML (HyperText Markup) que não possuem qualquer conhecimento sobre o

framework. Os Assistentes (Helpers) incluídos permitem a minimizar o código utilizado na

apresentação, já que encapsulam grandes porções de código em simples chamadas a

funções;

• Formulários suportam validação e repopulação automáticas, o que assegura a obtenção de

dados corretos e melhora a experiência do usuário;

• Os dados incluem mecanismos de escape que permitem uma melhor proteção contra ataque

de dados corrompidos;

• O gerenciamento de cache reduz uso de banda e o processamento do servidor;

• A autenticação e o gerenciamento de credenciais simplifica a criação de áreas restritas e a

gestão de segurança do usuário;

• O sistema de roteamento e URLs (Uniform Resource Locator) limpas transformam os

endereços das páginas em partes da interface, além de torná-los amigáveis para mecanismos

de busca;

• O suporte de e-mail incluído e o gerenciamento de APIs (Application Programming

Interface) permitem as aplicações web interagir além das interfaces dos navegadores;

• Listagens são mais amigáveis graças aos recursos de paginação, ordenação e filtragens

automáticas;

• Os plugins, as Factories (padrões de projeto "Factory") e "mixins" permitem construir

extensões do Symfony; e

• Interações Ajax são fáceis de implementar graças aos assistences (helpers) de uma - linha

que encapsulam efeitos Java Script cross-browser-compatible Esta ferramenta de

desenvolvimento pode ser totalmente personalizada de acordo com a necessidade de quem a

usa. Mas por padrão já incorpora vários ambientes de desenvolvimento e faz com que sejam

automatizadas as tarefas mais comuns de engenharia de software, como exemplo de algumas

(ZANINOTTO e POTENCIER, 2008).:

• As ferramentas de geração de código são ótimas para protótipos de aplicações e back-ends

administrativos;

• O framework de desenvolvimento de teste unitário e funcional proporciona as ferramentas

ideais para o desenvolvimento baseado em testes, o chamado ("test-driven development");

Page 24: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

24

• O painel de debug simplifica a depuração, disponibilizando todas as informações que o

desenvolvedor precisa na mesma página em que ele está trabalhando;

• A interface em linha de comando automatiza a instalação das aplicações entre servidores.

• É possível realizar mudanças "quentes" da configuração (sem necessidade de reiniciar o

servidor); e

• O completo sistema de logs permite aos administradores acesso até o último detalhe das

atividades que uma aplicação realiza.

Então o Symfony vem para auxiliar os desenvolvedores com suas ferramentas e facilidades a

desenvolverem aplicações Web utilizando a linguagem PHP.

2.3.2 Ferramentas para desenvolvimento da biblioteca virtual

A ferramenta principal que foi utilizada para a construção da biblioteca virtual é uma

ferramenta de pesquisa textual em banco de dados, além do Symfony para o desenvolvimento da

parte Web e o banco de dados Oracle, adequando à arquitetura atual do Elis II. A ferramenta de

pesquisa textual será a responsável por identificar os parâmetros das buscas dentro da base de dados

do Elis II no que se refere ao conteúdo dos arquivos referentes aos artigos, visto que alguns dados

podem ser extraídos das próprias tabelas do Elis II, tais como: autores, título do artigo, evento,

dentre outros.

Para a pesquisa textual foram estudadas algumas soluções, as quais serão descritas neste

item do trabalho: a Oracle text que a ferramenta de busca da própria Oracle, a Autonomy e a

Google Seach Appliance.

2.3.4.1 Oracle Text

A Oracle text é a ferramenta de busca textual da Oracle, recurso existente no SGBD Oracle

desde 1996, na versão Oracle 7, com o Context Option. Mas seu licenciamento era adquirido à

parte. Este produto evoluiu e deu origem ao InterMedia Text lançado em 1999, que acompanhava o

Oracle 8i e que faz parte do Oracle Text, nome que ganhou depois da versão 9i e que agora faz

parte do pacote do banco de dados (SANTOS A, 2008).

Esta ferramenta possibilita a manipulação de dados como textos da Web, dados, imagens,

áudio e vídeo (DUARTE, REZENDE e RIGHETTI, 2008). A estrutura do Oracle Text é um índice

invertido, uma lista de palavras em um documento, onde cada palavra tem uma lista de documentos

Page 25: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

25

onde elas aparecem. É chamado de índice invertido por que é o inverso da forma usual de se

analisar um texto, onde na forma usual temos documentos que contém uma lista de palavras

(SANTOS B, 2008). A técnica de índice invertido é melhor descrita no capítulo de Pesquisa Textual

(capítulo 1.7).

Os índices do Oracle text podem ser manipulados da mesma maneira que os índices padrão

do Oracle, ou seja, eles podem ser acessados por expressões SQL. Os índices têm um tempo de

resposta muito rápido para consultas com as funções CONSTAINS, CATSEARCH e MATCHES

que consultam os índices CONTEXT, CTXCAT e CTXRULE respectivamente (SANTOS B,

2008).

2.3.4.2 Autonomy

A ferramenta Autonomy tem a função de busca e tratamento de qualquer tipo de informação

não estruturada e estruturada como textos, áudio, vídeo e informações de banco de dados. Essas

pesquisas são feitas por um servidor desta ferramenta chamada de IDOL (DEUTSCH, MORESI e

NEHME, 2008).

O IDOL tem funcionalidades que facilitam as buscas: como um guia automático de busca

que determina o contexto do usuário que faz a consulta e apresenta os resultados mais apropriados ,

juntamente com outras sugestões, o agrupamento onde o servidor IDOL agrupa automaticamente as

informações que tem maior semelhança para facilitar a visualização e uso dos resultados, detecção

automática de línguas, correção ortográfica das palavras da busca, criação de sumários de

informações e outros.

O Autonomy suporta mais de 200 tipos de arquivos como Microsoft Office, PDF, arquivos

de áudio como MP3 e suporta a busca também nos banco de dados Oracle e IBM DB2 (DEUTSCH,

MORESI e NEHME, 2008).

2.3.4.3 Google Search Appliance

Essa aplicação é um produto que oferece um mecanismo de busca Google de grande

produtividade e que é vendido com licença para dois anos (DEUTSCH, MORESI e NEHME,

2008).

Page 26: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

26

A administração deste sistema é feita por uma interface Web ou por comandos usando o

padrão SMTP, podendo ser criados várias perfis de administrador. O índice de busca pode ser

segmentado para mostrar resultados diferentes para usuários diferentes ou perfis diferentes. As

buscas podem ter filtros diferentes como tipo de arquivos ou um idioma específico. O processo de

rastreamento e indexação é chamado de crawling.

Para localizar os arquivos para indexação o Google Search Appliance usa um sistema robô.

Ele pode fazer sua pesquisa em páginas Web, documentos de servidores de arquivos onde esses

servidores tenham instalado o servidor Web Microsoft IIS e em arquivos armazenados em banco de

dados relacionais como o IBM DB2, Microsoft SQLServer, MaySql, Oracle e Sybase. O Google

Seach Appliance pode ler e indexar mais de 220 tipos de arquivos como HTML, Microsoft Office,

PDF e outros.

O Google Search Appliance tem padrões de busca como pesquisar todas as palavras e não

diferenciar letras maiúsculas de minúsculas, reconhecer o sinal de menos (-) para excluir palavras

não desejadas, colocar aspas para pesquisar frases e utilizar o operador OR para especificar termos

alternativos.

O Google Search Applience reconhece mais de 25 línguas entre elas o português

(DEUTSCH, MORESI e NEHME, 2008).

Page 27: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

27

2.3.4.4 Conclusões

Na Tabela 1 podem ser vistas algumas comparações entre as ferramentas de busca textual

estudadas.

Características Fermentas de pesquisa textual Tipos de

arquivos Locais de

busca Tipo de busca

Sem custo? Operadores Booleanos?

Oracle Text Multi-arquivos

Banco de dados, Web.

Índices invertidos

Não Sim

Google Search

Applience

Multi-arquivos

Banco de dados, Web, servidores de

arquivos, desktops

Índices invertidos

Não Sim

Autonomy Multi-arquivos

Banco de dados, Web,

Desktops

- Não Sim

Tabela 1. Comparações entre as ferramentas de pesquisa textual.

Dentre as ferramentas analisadas, a escolhida para o desenvolvimento da biblioteca virtual

foi o Oracle Text. Uma das características mais impactantes na decisão foi que todas as ferramentas

são pagas, porém como o Oracle Text já vem incluso dentro do banco de dados Oracle que é o

usado no Elis II e já adquirido pela Univali, não haverá custo algum para ser usada no

desenvolvimento. Quanto as demais características das ferramentas, consideram-se que são muito

parecidas e todas fazem a busca em arquivos armazenados dentro de bando de dados Oracle em

várias extensões.

Page 28: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

28

3 PROJETO

Neste capítulo é apresentado o projeto da biblioteca virtual para o Elis II contendo suas regras de

negócio, requisitos funcionais e não-funcionais, casos de uso e modelo do banco de dados.

3.1 Modelo do Projeto

3.1.1 Requisitos Funcionais

Os requisitos funcionais são as descrições do que o sistema deve permitir/fazer. Esses

requisitos dizem aos usuários quais serão as ações que o sistema permitirá que eles façam. A seguir

são apresentados os requisitos funcionais da Biblioteca Virtual:

RF01 - O sistema deve permitir que o usuário faça pesquisa aos arquivos dos artigos e nos dados

das tabelas por meio de parâmetros.

RF02 - O sistema deve listar para o usuário os resultados da sua pesquisa.

RF03 - O sistema deve permitir que o usuário veja os detalhes dos artigos registrados no banco de

dados.

RF04 - O sistema deve permitir ao usuário que faça o download dos arquivos encontrados na busca.

RF05 - O sistema deverá fazer a pesquisa dos artigos na base do Elis II.

RF06 - O sistema deverá ser acessado pela página principal do Elis II.

RF07 - No Elis II deve conter um campo de identificação dizendo se o artigo pode ou não ser

acessado pela biblioteca.

RF08 - O sistema deverá ter um termo de concordância que estará disponível para os usuários.

3.1.2 Regras de Negócio

As regras de negócio restringem os requisitos funcionais, descrevendo as regras do sistema

como suas restrições e possibilidades. As regras da Biblioteca Virtual são listadas a seguir:

RN01 - Somente estarão disponíveis para busca os artigos dos eventos que estiverem habilitados

para serem acessados pela biblioteca virtual.

RN02 - Condições para busca será autor, data, evento, frase, área e trabalho .

RN03 - O sistema deve permitir que o usuário possa combinar duas ou mais condições da pesquisa.

RN04 - Somente artigos com status de publicado poderão ser apresentados na biblioteca virtual.

Page 29: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

29

RN05 - Os artigos só ficarão disponíveis na biblioteca virtual após a data de término do evento.

RN06 - Somente eventos com status de publicado poderão ser apresentados na biblioteca virtual.

3.1.3 Requisitos Não-Funcionais

Os requisitos não-funcionais apresentados neste projeto referem-se às tecnologias utilizadas

pelo sistema em que ambiente vai funcionar.

RFN05 - Ferramenta para desenvolvimento PL\SQL é o PL\SQL Developer.

RNF01 - Banco de dados Oracle.

RNF02 - Ferramenta de pesquisa textual Oracle Text.

RNF03 - Linguagem de programação PHP e PL\SQL.

RNF04 - Framework para desenvolvimento PHP Symfony.

RNF06 - O sistema deverá conseguir fazer as pesquisas em todos os textos disponíveis no Elis II

independente de formato.

RNF07 - Sistema Voltado para Web.

3.1.4 Casos de Uso

Os casos de uso representam toda interação entre o sistema e o usuário seja ele homem ou

máquina, descrevendo como será esta interação e as ações tanto do sistema quanto do usuário.

Apresenta as funcionalidades do ponto de vista do usuário, sem demonstrar como será feita a

implementação. Na modelagem da Biblioteca Virtual foram identificados dois pacotes de casos de

uso: o primeiro refere-se aos casos de uso já existentes no Elis II e que necessitaram alterações para

o funcionamento da biblioteca, o segundo pacote refere-se às funcionalidades implementadas para a

biblioteca virtual.

3.1.4.1 Pacote 01 – administração Elis II Este pacote de casos de uso já existe no Elis II. Propõe-se que para o funcionamento da

biblioteca virtual seja alterado o UC02.02, o qual contempla o cadastro do evento e a inclusão de

um novo caso de uso que é o UC02.07 para autorização da publicação dos artigos de um evento na

biblioteca virtual. Esses casos de uso são destacados num quadro na Figura 4.

Page 30: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

30

uc Pacote 02 - Administração do Elis2

Administrador do Elis2

UC 02.01 Loga no Sistema

UC 02.02 Cadastra Evento

UC 02.03 Mantém usuário

UC 02.04 Libera permissões

UC 02.05 Consulta registros de acesso

aos cenários

UC 02.07 Autoriza publicação

biblioteca virtual

UC 02.06 Cadastra scripts

do sistema

«include»

Figura 4. Diagrama de UC, Administração Elis II

UC 02.02 Cadastra Evento

Este caso de uso permite que seja cadastrado e configurado um evento no Elis II. Para funcionamento da biblioteca virtual, faz-se necessário que o responsável pelo evento autorize a publicação dos trabalhos já aprovados pelos avaliadores. Desta forma, propõe-se que seja acrescentada às configurações do evento, a autorização de publicação, a qual é detalhada no UC02.07.

UC 02.07 Autoriza publicação biblioteca virtual

Este caso de uso descreve o cenário onde o usuário vai autorizar o evento para que seus artigos sejam acessados pela biblioteca virtual em suas buscas. Os requisitos funcionais que este caso de uso atende é o RF08 que foi descrito anteriormente.

Pré-condições: Evento tem que estar cadastrado e publicado.

Pós-condições: Evento autorizado ou não para acesso pela biblioteca virtual.

Page 31: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

31

Cenários � Autoriza Evento - Principal

Nota Passo 1 - Administrador entra na página de autorização. Passo 2 - Administrador opta pela opção de concordo. Passo 3 - Sistema disponibiliza evento para biblioteca virtual. Passo 4 - Sistema volta para a página do evento.

� Não concordo - Alternativo Nota Se no passo 2 o Administrador optar pela opção de não concordo: Passo 2.1 - Sistema bloqueia evento para a biblioteca virtual. passo 2.2 - retorna para o passo 4.

3.1.4.2 Pacote 2 - Biblioteca Virtual

Para o desenvolvimento da biblioteca virtual, foram identificados os casos de uso para pesquisa e download dos documentos, conforme apresentado na Figura 5.

uc Pacote 1 - Biblioteca Virtual

Usuario da Biblioteca Virtual

UC 01.01 - Fazer pesquisa de

arquivos

UC 01.02 Fazer download dos

arquivos

«include»

Figura 5. Biblioteca Virtual

UC 01.01 - Fazer pesquisa de arquivos

Neste caso de uso é descrita a ação principal da biblioteca virtual, que é fazer a pesquisa nos

artigos armazenados no Elis II. Este caso de uso atende aos requisitos funcionais RF01, RF02 e

RF03 que foram descritos anteriormente.

Pré-condição: Os artigos devem estar autorizados para o acesso da biblioteca virtual.

Pós-condição: Resultados encontrados de acordo com os parâmetros informados pelo

usuário.

Page 32: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

32

Cenários

� Pesquisar - Principal Nota Passo 1 - Usuário entra na página inicial da biblioteca virtual (página inicial). Passo 2 - Usuário entra com os parâmetros da pesquisa (página inicial). Passo 3 - Usuário faz a pesquisa (página inicial). Passo 4 - Sistema mostra os resultados da pesquisa (página de resultados). Passo 5 - Usuário visualiza detalhes do resultado (página de detalhes). Passo 6 – Retorna a pagina inicial da biblioteca (Passo 1)

� Recomeçar Pesquisa - Alternativo Nota Se no passo 2 o usuário optar por recomeçar a pesquisa: Passo 2.1 - Usuário escolhe opção reiniciar pesquisa (página de resultados). Passo 2.2 - Sistema limpa os campos já preenchidos e mostra a tela inicial de pesquisa para o usuário (página inicial). Passo 2.3 - Volta ao passo 2.

� Cancelar Pesquisa - Alternativo Nota Se no passo 3 o usuário optar por cancelar a pesquisa: Passo 3.1 - Usuário escolhe opção cancelar pesquisa (página de resultados). Passo 3.2 - Sistema cancela a pesquisa e mostra a página inicial da biblioteca virtual. Passo 3.3 - Volta ao passo 1.

� Download Documento - Alternativo Nota Se no passo 5 o usuário optar por fazer o download do documento: Passo 5.1 - Usuário escolhe download e é executado o UC01.02. Passo 5.2 - Volta ao passo 5.

� Datas inválidas – Alternativo Nota Se no passo 3 as datas foram informados com formato incorreto: Passo 3.1 – Sistema exibe a mensagem de data inválida. Passo 5.2 – Volta ao passo 2.

UC 01.02 Fazer download dos arquivos Cenários

� Download - Principal Nota Passo 1 - Usuário escolhe fazer download de um arquivo. Passo 2 - Sistema busca o documento para o usuário dando a opção de salvar uma copia. Passo 3 - Usuário salva o arquivo.

Page 33: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

33

Cenários

� Cancelar Download - Alternativo Nota Se no passo 3 o usuário optar por cancelar o download: Passo 3.1 - Usuário escolhe a opção cancelar. Passo 3.2 - Sistema cancela o download e volta a mostrar os resultados da busca UC 01.01 passo 5.

3.1.5 Modelo de banco

Para a implementação da biblioteca virtual algumas alterações no banco do Elis II foram

necessárias. Uma delas foi a criação dos campos autoriza_publicar na tabela Parametro_evento e na

tabela trabalho do Elis II. Estes campos permitem registrar quais são os eventos e trabalhos

autorizados para o acesso da biblioteca virtual na busca dos artigos. A Figura 6. Modelo de

autorização apresenta uma visão parcial do banco de dados do Elis II, destacando as tabelas

alteradas.

Figura 6. Modelo de autorização

Page 34: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

34

A segunda alteração foi no módulo onde são armazenados os artigos do Elis II, pois para que

a biblioteca virtual faça a busca nos artigos, foi necessário criar índices context na tabela onde os

mesmos ficam armazenados, que é a tabela ARQUIVOS. Logo, a alteração será apenas a criação do

índice nesta tabela de artigos, não sendo alterada sua estrutura.

3.1.6 Modelo de classes A Biblioteca Virtual é iniciada pela página principal, que está representada pela classe

principalSucess, a qual está ligada à classe Actions.class.php que fará o controle de todas as ações

da biblioteca. Na interface listagemSucess são listados os resultados da pesquisa e na

detalhesSucess são apresentados os resultados específicos de cada registro encontrado, esta duas

também são ligadas à classe de controle. As demais classes estão representando as tabelas onde

ficam fisicamente os dados do Elis II que são usados por esta aplicação. Na figura 7 é apresentado o

modelo de classes da Biblioteca Virtual.

Page 35: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

35

Figura 7. Modelo de Classes

3.1.7 Desenvolvimento com Oracle Text

A ferramenta utilizada para a pesquisa textual, que é a parte mais complexa deste projeto, é

o Oracle Text. Esta ferramenta faz a busca dos documentos dentro da base de dados do Elis II

através de índices sobre esses artigos.

Esta ferramenta já é instalada junto ao banco de dados Oracle e, para que a biblioteca virtual

funcione corretamente os índices Context devem ser criados sobre a coluna da tabela onde estão

Page 36: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

36

armazenados os documentos (tabela ARQUIVO) para que a busca obtenha os resultados corretos e

com bom desempenho.

Os índices são criados através de comandos em SQL nas colunas onde estão armazenados os

documentos ou os identificadores de onde estão os documentos, que podem ser campos CLOB por

exemplo. No caso da coluna armazenar apenas o ponteiro para o documento, um diretório para

armazenar o documento deve ser criado (JESUS, 2003).

Os exemplos das Figuras 8, 9 e 10 mostram a criação de uma tabela para armazenar os

documentos e a criação do índice sobre a tabela e a busca posteriormente usando esse índice.

Na Figura 8 esta sendo mostrada a criação da tabela, de uma seqüência para preencher a

Primary Key da tabela My_Docs quando os documentos forem inseridos e o comando para a

criação do diretório onde os documentos físicos ficaram armazenados(Neste caso o campo DOC da

tabela está apenas armazenando o ponteiro para o documento) .

Figura 8. Exemplo criação tabela

Criação do índice:

Figura 9. Exemplo criação índice

Busca dos documentos primeiro pela palavra “SQL SERVER” depois pela palavra “XML”

usando os índex context que esta demonstrado na Figura 10 pela primeira restrição da clausula

Where que é a CONTAINS.

Page 37: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

37

Figura 10. Exemplo busca documentos

A pesquisa textual feita por esta ferramenta possui vários parâmetros para sua configuração

que determinam, por exemplo, se a busca vai ser case-sensitive ou não, ou se vai considerar a

acentuação. Os comandos para estabelecer os valores destes parâmetros estão listados a seguir.

Criação das preferências:

Ctx_Ddl.Create_Preference ('mixed_case_lexer_pref','BASIC_LEXER');

Configurando preferência de case-sensitive:

Ctx_Ddl.Set_Attribute ( 'mixed_case_lexer_pref', 'mixed_case', 'FALSE');

Configurando preferência de consideração da acentuação:

Ctx_Ddl.Set_Attribute ( 'mixed_case_lexer_pref', 'base_letter','TRUE'); (SANTOS B,

2008).

Os comandos e as configurações mencionadas nesta seção foram usados de base para a

criação da Biblioteca Virtual.

Page 38: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

38

4 DESENVOLVIMENTO DA FERRAMENTA

Neste capitulo é apresentado o desenvolvimento da Biblioteca Virtual do Elis II, com a

utilização do framework Symfony, a ferramenta de busca textual Oracle Text e o banco de dados

Oracle.

4.1 Banco de dados e Oracle Text

Para o funcionamento correto da biblioteca virtual algumas alterações foram feitas na base

de dados do Elis II: a criação de dois novos campos nas tabelas parametro_evento e trabalho e a

criação de alguns índices context para a busca textual do Oracle Text.

O campo autoriza_publicar foi criado na tabela parametro_evento e na tabela trabalho da

base de dados do Elis II para armazenar a informação da autorização de acesso da biblioteca virtual

aos dados dos eventos, conforme apresentado no item 3.1.5 . Este campo é do tipo character e

armazena a letra S para sim - autorizada a publicação e N para não autorizada a publicação.

Os índices context que foram criados em alguns campos das tabelas da base de dados têm a

função de auxiliar e permitir o acesso e a pesquisa da ferramenta de busca textual Oracle Text. O

Oracle text foi utilizado para buscar as palavras ou frases nos documentos armazenados na base de

dados com formatos .doc, .pdf , dentre outros formatos. Também foi utilizada esta ferramenta para

busca textual em campos textuais da base de dados, como no nome do autor do trabalho, no nome

do evento e no titulo do trabalho. Os índices context que foram criados são:

• arquivos_busca para o campo arquivo da tabela arquivos, onde estão armazenados

os documentos;

• busca_autor para o campo nome_completo da tabela pessoa, onde se encontra o

nome do autor;

• busca_evento para o campo no nome_evento_por da tabela evento; e

• nome_trabalho no campo titulo da tabela trabalho.

Esses índices foram criados com as configurações de ignorar letras maiúsculas e minúsculas

e acentos nos nomes e palavras.

Page 39: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

39

O comando para a criação do índice é, respectivamente:

create index arquivos_busca on arquivos(arquivo) indextype is ctxsys.context parameters ('LEXER MIXED_CASE_LEXER_PREF') ;

Para retornar os resultados da pesquisa foram usados comandos SQL, que fazem acesso aos

campos da base do Elis II, alguns deles fazem acesso aos índices context. O SQL usado para fazer a

pesquisa principal da biblioteca virtual é apresentado na Figura 11.

Figura 11. Pesquisa principal.

Os campos que utilizam os índices context iniciam com CONTAINS, que são no nome do

autor, nome do evento, frase e título do trabalho, se o resultado do comando for maior que 0 (zero) é

por que a condição foi atendida.

Page 40: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

40

Com as duas alterações no banco de dados do Elis II foi possível utilizar a busca nos

trabalhos e documentos com a query apresentada acima conseguindo retornar os resultados

desejados.

4.2 Desenvolvimento PHP com Symfony

O framework Symfony, o qual é orientado a objeto e utiliza a linguagem PHP, foi usado

para o desenvolvimento da biblioteca virtual. Com este framework o desenvolvimento ficou

dividido em telas, controle e banco de dados.

Foram desenvolvidas três telas para a biblioteca virtual: a principal, a listagem e a detalhes.

Na tela principal é onde ficam os parâmetros de entrada para as buscas realizadas, a tela listagem

apresenta os resultados da busca para os usuários e a tela detalhes apresenta as informações do

documento escolhido com a opção de download do documento. Para controlar as telas e os dados

apresentados nelas foi desenvolvida uma única classe de controle, que faz todas as validações

necessárias, acesso as telas e ao banco de dados.

4.3 Implantação

Para a implantação da biblioteca virtual na Univali foi criado no cadastro do evento e no

cadastro do trabalho um identificador de autorização da publicação do evento para o acesso da

biblioteca, que preencherá o campo criado na tabela parametro_evento e na tabela trabalho com S

ou N.

As outras duas alterações são a inclusão de um link para a página principal da biblioteca

virtual na página publica do Elis II e a última alteração é a criação dos 4 índices context no banco

de dados para que a ferramenta de busca textual consiga trabalhar e a configuração das preferências

para esses índices. Os comandos para a criação das preferências e para a criação dos índices são os

seguintes:

Preferências:

Ctx_Ddl.Create_Preference ('mixed_case_lexer_pref','BASIC_LEXER');

Ctx_Ddl.Set_Attribute ( 'mixed_case_lexer_pref', 'mixed_case', 'FALSE');

Ctx_Ddl.Set_Attribute ( 'mixed_case_lexer_pref', 'base_letter','TRUE');

Page 41: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

41

Índices:

create index arquivos_busca on arquivos(arquivo) indextype is ctxsys.context parameters ('LEXER MIXED_CASE_LEXER_PREF') ; create index busca_autor on pessoa(nome_completo) indextype is ctxsys.context parameters ('LEXER MIXED_CASE_LEXER_PREF') ;

create index busca_evento on evento(nome_evento_por) indextype is ctxsys.context parameters ('LEXER MIXED_CASE_LEXER_PREF') ;

create index nome_trabalho on trabalho(titulo) indextype is ctxsys.context parameters ('LEXER MIXED_CASE_LEXER_PREF') ;

Essas alterações estão sendo feitas pela equipe do DTI – Departamento de Tecnologia da

Informação da Univali, responsável pela manutenção do Elis II.

Após reunião com a DTI e com a responsável pela criação de eventos na Central de Gestão

de Eventos da Univali, definiu-se um novo fluxo de autorização e cadastro dos eventos, conforme

apresentado na Figura 12. Pretende-se que o responsável pelo evento assine um documento

autorizando a publicação do mesmo para o acesso da biblioteca virtual, permitindo que a

responsável na Central de Gestão de Eventos crie o evento autorizando a publicação dos

documentos na Biblioteca Virtual e que também o autor autorize o seu trabalho para a Biblioteca

Virtual na hora da submissão do mesmo. Vale lembrar que somente os artigos aprovados no evento

farão parte da Biblioteca Virtual, jamais sendo apresentados artigos apenas submetidos e não

aprovados. Outro detalhe importante é que os artigos só ficarão disponíveis na biblioteca virtual

após a data de término do evento.

Page 42: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

42

Figura 12. Fluxo de cadastro de eventos.

Page 43: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

43

5 APRESENTAÇÃO DA BIBLIOTECA VIRTUAL

Neste capítulo é apresentada a ferramenta que foi desenvolvida e seu funcionamento.

5.1 Telas Biblioteca Virtual

Conforme descrito no caso de uso (UC01.01), inicialmente é apresentada a página principal

da Biblioteca Virtual Elis II, onde são solicitados os parâmetros da pesquisa que o usuário pode usar

para buscar os artigos desejados (Figura 13). Os parâmetros autor, evento e trabalho fazem pesquisa

textual no banco de dados em campos de caracteres das tabelas, o campo de data verifica todos os

eventos que tenham data de início entre as datas informadas, a área busca em qual das grandes áreas

de conhecimento1 o evento se encaixa e o campo frase é aquele que faz a busca dentro dos arquivos

de textos armazenados no Elis II.

1 As grandes áreas são a divisão dos assuntos em exatas, humanas, saúde sociais, engenharias, biológicas e outras.

Page 44: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

44

Figura 13. Página inicial Biblioteca Virtual

Page 45: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

45

Após informados os parâmetros, o sistema realiza a busca dos artigos que satisfazem as

requisições do usuário, e apresenta a página de resultados da busca (Figura 14). O usuário pode

solicitar a apresentação dos detalhes de algum item ou de iniciar uma nova pesquisa. Os dados

apresentados nesta listagem são: quantidade de resultados encontrados, o nome do evento, título do

trabalho e extensão do documento armazenado.

Figura 14. Página de resultados da Biblioteca Virtual

Page 46: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

46

Ao selecionar o botão Detalhe, é apresentada a página dos detalhes do item, onde o usuário

tem as opções de voltar para a página de resultados ou fazer download do arquivo, conforme

apresenta a Figura 15. As informações apresentadas aqui são: nome do evento, data do início do

mesmo, a área de conhecimento, a área, idioma em que o texto foi escrito, tipo do trabalho, título do

trabalho, os autores e o resumo. A área conhecimento é a mesma que é apresentada na tela de

parâmetros e são bastante abrangentes como por exemplo humanas e o campo a área é mais restrito,

ou seja, mais aproximado do conteúdo do evento.

Figura 15. Página de detalhes da Biblioteca Virtual

Page 47: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

47

Estas são as telas e funcionalidades que serão disponibilizadas para os usuários do Elis II para

facilitar a busca de conteúdo em sua base de dados. Também estará disponível o download dos

arquivos que estão na base do Elis II e foram resultados das buscas da biblioteca virtual.

5.2 Testes

Os testes da Biblioteca Virtual foram realizados com dois eventos disponibilizados pela

Univali, o Slade Brasil 2006 & Encontro Luso-brasileiro de Estratégia e o 3º Congresso de

Extensão Universitária. Este eventos possuem juntos 2370 arquivos armazenados na base do Elis II

divididos em mais de 2400 trabalhos, estes arquivos são somente de extensão .doc, ou seja, arquivos

do Word. A base de autores possui mais de 5200 registros.

Os testes para a biblioteca virtual, realizados somente no ambiente de desenvolvimento, por

ora, foram feitos utilizando todos os parâmetros de busca que são nome do autor, frase, área, nome

do evento, nome do trabalho e data de início do evento.

O conteúdo do campo frase é comparado ao conteúdo dos textos que estão dentro dos

arquivos armazenados no banco de dados, como por exemplo nos .doc ou .pdf. Com estes dados

disponibilizados todas as funções da ferramenta de busca a biblioteca virtual puderam ser testadas.

Apenas a performance dos índices na base de dados completa do Elis II e ambiente de produção da

DTI não pode ser testada, principalmente o impacto da inserção de um novo autor, trabalhos ou um

novo evento.

Os eventos cedidos pela Unvali para os testes contém apenas arquivos em extensão .doc, por

este motivo os testes foram realizados apenas com documentos em World.

Os testes completos, inclusive os de performance e de extensões diferentes, serão feitos

pelos usuários depois da biblioteca virtual implantada na Univali e liberada para uso. Assim os

testes estarão sendo feitos com a base de dados completa o que com certeza trará total

confiabilidade para os mesmos.

Nas Figuras 16, 17, 18 e 19 é mostrado um exemplo de busca feita na biblioteca virtual utilizando vários parâmetros na pesquisa.

Page 48: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

48

Na Figura 16 está sendo mostrada a tela inicial da biblioteca virtual com os parâmetros de

busca informados. No campo autor esta informado o nome AnA, na Frase parte de um parágrafo de

um texto, no Evento o inicio do nome do evento e no Trabalho parte do nome do trabalho. Todos

esses campos não diferenciam letras maiúsculas e minúsculas e palavras acentuadas, e as frases e

títulos não precisam estar informados completamente iguais aos dos textos e sim apenas parte deles

para que encontre o resultado.

Figura 16. Tela inicial da biblioteca virtual.

Page 49: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

49

Na Figura 17 é apresentado o resultado encontrado para os parâmetros informados na Figura

16, onde se pode observar o Evento e o Titulo do trabalho que foram nos parâmetros.

Figura 17. Tela de listagem dos resultados da pesquisa.

Page 50: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

50

E na Figura 18 é então mostrado os detalhes do documento encontrado pela pesquisa

anterior, onde é confirmado o nome do evento, o Titulo do trabalho e o nome da autora.

Figura 18. Tela de detalhes da biblioteca virtual.

Page 51: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

51

Na figura 19 esta o texto vinculado ao trabalho encontrado pelos parâmetros de pesquisa

deste exemplo, onde se pode confirmar que a frase pesquisada realmente esta no texto do arquivo.

Figura 19. Arquivo baixado da biblioteca virtual.

Com este exemplo confirma-se que os resultados encontrados pela biblioteca virtual são

condizentes com os todos os parâmetros informados na Tela inicial, dando confiabilidade nos

resultados.

Page 52: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

52

6 CONCLUSÕES

Com o desenvolvimento deste trabalho foram estudadas algumas tecnologias de banco de

dados, desenvolvimento Web e pesquisa textual que auxiliaram na construção da biblioteca virtual

para o Elis II. Com este estudo foi possível desenvolver uma ferramenta que vai auxiliar os usuários

do Elis II, resolvendo o problema da dificuldade de busca dos trabalhos na base de dados que era o

real objetivo.

Com a combinação das tecnologias de busca textual em banco de dados que é o Oracle Text

e o framework de desenvolvimento Web em linguagem PHP, que é o Symfony, foi possível fazer

com que uma aplicação Web fizesse buscas em arquivos que estão armazenados dentro de campos

no Banco de dados, mantendo o padrão e a tecnologia adotada no Sistema Elis II.

A busca textual dentro do banco de dados obteve resultados muito confiáveis trazendo

sempre resultados que eram condizentes com os parâmetros informados. A criação das preferências

nos índices context que deixou de fazer distinção de letras maiúsculas e minúsculas e de palavras

acentuadas e não acentuadas, fez com que o número de registros encontrados fosse maior, trazendo

mais opções para os usuários, mantendo a confiabilidade nos resultados.

Sem dúvida o facilitador deste trabalho foi o Oracle text, pois esta ferramenta ficou com o

trabalho de abrir os arquivos que se encontram dentro do banco de dados e fazer a busca pelas

palavras informadas, que era um dos principais objetivos deste projeto.

O framework Symfony possibilitou que o trabalho fosse organizado em classes separadas de

banco de dados, controle e visualização o que condiz com o modelo MVC de programação em

camadas. Com isto o trabalho pôde ser desenvolvido utilizando a orientação objeto para uma maior

organização e melhor entendimento.

Como resultado este projeto obteve a biblioteca virtual que é uma ferramenta de fácil uso,

onde os usuários apenas precisam informar os parâmetros desejados em sua página inicial para

obter os resultados desejados. Todo o trabalho de busca e pesquisa feito pela ferramenta é

transparente para o usuário final o que traz a simplicidade no uso já comentada.

O próximo passo para este trabalho é a disponibilização do mesmo no ambiente de produção

da DTI, bem como seu link para a página de eventos da Univali. Também sugere-se o contato com

Page 53: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

53

responsáveis de eventos já realizados através do Elis II com vistas a autorização de seus artigos para

publicação na Web. Desta forma a Univali estará oferecendo mais um serviço e disseminando

conhecimento para a comunidade acadêmica e de pesquisa, através da Biblioteca Virtual Elis II.

Page 54: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

54

7 REFERÊNCIAS BIBLIOGRÁFICAS

ALVARES, Miguel Angel. O que é PHP? 2004. 1 f. Disponível em: <http://www.criarweb.com/artigos/202.php>. Acesso em: 27 set. 2008.

ALVES, Adriana Gomes; BOHNER, Andréia B. Gestão de web sites para eventos técnico-científicos suportados por um sistema de informação In: II Simpósio Brasileiro de Sistemas de Informação, 2005, Florianópolis. II SBSI Simpósio Brasileiro de Sistemas de Informação. , 2005.

BALABA, Rodrigo. Dados sobre o Elis II [mensagem pessoal]. Mensagem recebida por [email protected] em 13 ago. 2008.

CONCEITO de banco de dados textual Disponível em: <http://dsc.ufcg.edu.br/~dalton/web/index.php/Labprog1/Experimento_9>. Acesso em: 30 jun. 2008.

DEUTSCH, Leopoldo; MORESI, Eduardo Amadeu Dutra; NEHME, Cláudio Chauke. Tecnologia da Informação Aplicada à Inteligência Competitiva: uma Análise da Solução. Disponível em: <http://www.otg.org.br/textos/artigos_otg/gestaoconhecimento/inteligenciacompetitiva.pdf>. Acesso em: 08 out. 2008.

DINIZ, Patricia. BIBLIOTECA DO FUTURO. Disponível em: <http://www.cgi.br/gt/gtbv/artigo02.htm>. Acesso em: 25 out. 2008.

DUARTE, Carlos; REZENDE Ricardo; RIGHETTI, Rodrigo. Full Text Search no Oracle - Parte 01: Explorando o Oracle interMedia. 2005. 3 f. Artigo Disponível em: <http://www.devmedia.com.br/articles/viewcomp.asp?comp=7793>. Acesso em: 07 out. 2008

JESUS, Edmilson Dos Santos de. CONSTRUÇÃO DE UM PROTÓTIPO PARA INDEXAR DOCUMENTOS DE TEXTO LONGO DIRECIONADO AO FIREBIRD. 2003. 48 f. Artigo - Curso de Análise de Sistemas, Universidade Do Estado Da Bahia, Salvador, 2003. Disponível em: <http://www.edmilson.eti.br/publicacoes/monografia.pdf >. Acesso em: 10 jan. 2009.

LEGATTI, Eduardo. Isto é um teste do oracle text. Disponível em: <http://eduardolegatti.blogspot.com/2008/06/um-pouco-do-oracle-text.html>. Acesso em: 20 out. 2008.

MACHADO, Maria Hermínia Veiga de Moura. Biblioteca Virtual uma perspectiva de gestão de recursos de informação. 2003. 43 f. Artigo - Universidade Fernando Pessoa, Porto, 2003. Disponível em: <http://www.cerem.ufp.pt/~nribeiro/aulas/tid/TID_maria_machado.pdf>. Acesso em: 20 set. 2008.

ROCHA, Marcus Vinícios; COSTA, Mateus Conrad B. da; SANTOS NETO, Pedro de Alcântara. Busca por Frases em Bancos de Dados Textuais. Disponível em: <http://homepages.dcc.ufmg.br/~nivio/cursos/pa02/seminarios/seminario3/seminario3.html>. Acesso em: 15 ago. 2008.

Page 55: BIBLIOTECA VIRTUAL ELIS II Área de Banco de … Miranda.pdfSGBD (Sistema gerenciador de banco de dados) adotado, bem como o PHP, que também é linguagem utilizada pelo Elis II. Cabe

55

SANTOS, Edivaldo Vicente Dos. Introdução ao Oracle Text - Parte 01. Disponível em: <http://www.devmedia.com.br/articles/viewcomp.asp?comp=8771>. Acesso em: 07 out. 2008 A.

SANTOS, Edivaldo Vicente Dos. Introdução ao Oracle Text - Parte 02. Disponível em: <http://www.devmedia.com.br/articles/viewcomp.asp?comp=8771>. Acesso em: 07 out. 2008 B.

SILVA, Luiz Claudio Marini. UMA ANÁLISE DOS PROCEDIMENTOS DE MINERAÇÃO DE TEXTOS NO SGBD ORACLE 10G: Explorando o Oracle interMedia. 2008. 96 f. Dissertação (Mestrado) - Curso de Engenharia Civil, Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2008. Disponível em: <http://wwwp.coc.ufrj.br/teses/mestrado/inter/2008/Teses/SILVA_LCM_08_t_M_int.pdf>. Acesso em: 10 jun. 2008.

ZANG, Nelson; FELIPIAK, Edinara; SENGER, Igor. Biblioteca Virtual: Conceitos, Metodologia e implantação. Revista de Pesquisa e Pós-graduação, Erechim, n. , p.217-236, 10 jan. 2000. Disponível em: <http://www.uri.br/publicaonline/revistas/artigos/14.pdf>. Acesso em: 20 set. 2008.

ZANINOTTO, François; POTENCIER, Fabien. Tradução do Livro "The Definitive Guide To Symfony". Disponível em: <http://trac.symfony-brasil.com/wiki/documentacao/livro>. Acesso em: 30 set. 2008.