• No results found

4. Results and discussion

4.1. Numerical test

Por fim, a Fig. 4.24 é o exemplo do protótipo de uma aplicação Java que invoca o serviço de pesquisa implementado pelo web service. A aplicação envia uma consulta e o web service executa a requisição e localiza recursos que satisfaçam à consulta.

Fig. 4.24 – Aplicação cliente Java requisitando o serviço web pesquisa

4.2.5 Biblioteca de indexação e de busca

Lucene [53] é uma das tecnologias do projeto Apache [55]. Open-source e escrita totalmente em Java, essa biblioteca implementa um mecanismo de busca de alta performance e é ideal para aplicações que requerem pesquisas full-text. Por essa razão, Lucene foi escolhida para executar as tarefas de busca e indexação.

4.2.6 Linguagem de programação

Para o desenvolvimento do protótipo, a linguagem de programação Java [56] foi a escolhida por apresentar algumas características consideradas relevantes: portabilidade, emprego da orientação a objetos, conjunto vasto de bibliotecas disponíveis e licença pública de uso.

4.2.7 Disponibilidade de serviços para usuários

Java Server Pages (JSP) é uma tecnologia que se baseia na linguagem de programação Java para criar páginas web [57]. O JSP foi escolhido para construir as interfaces do protótipo pelo fato de permitir que as páginas web possam ser executadas em vários servidores web e em várias plataformas.

4.2.8 Disponibilidade de serviços para aplicações

Foi desenvolvido um web service pelo fato de este permitir que outras aplicações possam executar funcionalidades do protótipo. Destas as disponíveis no serviço web são: pesquisa de recursos e listagem de contextos.

4.2.9 Banco de dados

O PostgreSQL [58] é um sistema de gerenciamento de banco de dados que possui algumas características consideradas importantes: multiplataforma, open-source e suporte de um grande volume de dados. Em razão disso, optou-se por sua utilização.

4.2.10 Container

O Tomcat é um servidor de aplicações Java para a Web que possui algumas características consideradas importantes: distribuição livre, robustez [59] e suporte a páginas JSP. Por esse motivo, escolheu-se esse container.

4.3 VALIDAÇÃO DOS CENÁRIOS

A análise dos resultados obtidos será realizada por meio da validação dos cenários. Esta é efetuada a partir de testes realizados no protótipo com o objetivo de comprovar a funcionalidade desses cenários. Antes de iniciar, é importante destacar novamente os cenários definidos no capítulo anterior e as suas respectivas visões: de um usuário, de um administrador e de uma aplicação. A Fig. 4.25 representa essas visões:

Fig 4.25 – Esquema das visões e dos seus cenários PostgreSQL Lucene Definição de contextos Configuração de perfil Cadastro Tarefas administrativas Visão de um usuário Tomcat Web Service Visão de um

administrador Visão de uma aplicação

1 2 3 5 6 Integração de contextos Interface 8 Listagem de contextos 7 Busca de recursos 4

Visão de um usuário

Representa as operações que podem ser realizadas por um usuário.

O cenário 1, na Fig. 4.25, relacionou o cadastro de usuários com a finalidade de permitir o acesso ao protótipo e a utilização das funcionalidades dele. Assim, conforme proposto, o cenário 1 foi atendido.

O cenário 2, também na Fig. 4.25, mostrou que é permitido ao usuário criar, editar, compartilhar e desabilitar contextos de pesquisa. Dessa forma, o cenário 2 também foi satisfeito.

O cenário 3 possibilitou que o usuário configurasse o seu perfil por meio da relação entre contextos cadastrados e informações de sintagmas, relacionamentos e fontes de recursos. Portanto, os requisitos e, conseqüentemente, o próprio cenário foram atendidos.

O cenário 4 representou a formulação e a execução de uma consulta. Nele, o protótipo obteve os parâmetros informados na consulta e as informações relacionadas aos contextos selecionados (caso existam). Em seguida, a consulta foi enviada para o mecanismo de busca que, finalmente, efetuou a pesquisa. Assim, o cenário 4 também se realizou.

O cenário 5 tornou possível o compartilhamento das informações de contextos entre os usuários. Conforme proposto, este cenário foi satisfeito.

Visão de um administrador

Permite que o administrador configure o comportamento de algumas funções do protótipo.

A Fig. 4.25 mostra que o Administrador participou dos mesmos cenários em que o Usuário interagiu, no entanto o 6 foi exclusivo apenas do Administrador. Nesse cenário, o Administrador informou os parâmetros responsáveis pela definição do comportamento de algumas funcionalidades. Dessa forma, ele se cumpriu.

Visão de uma aplicação

Possibilita que as aplicações obtenham informações dos contextos que foram definidos pelos usuários do protótipo e possam requisitar pesquisas de recursos.

O cenário 7 disponibilizou uma lista contendo o conjunto de contextos criados pelos usuários do protótipo. Tal lista se tornou acessível a partir de um serviço web. Portanto, o objetivo do cenário foi atingido.

O cenário 8 permitiu que aplicações clientes pudessem requisitar um serviço de busca a partir do uso de um web service através da Internet. Atendido o requisito, o cenário se realizou.

4.4 RESUMO

Este capítulo apresentou efetivamente a construção do protótipo da Máquina de Busca proposta. Foram mostradas a especificação e a implementação do protótipo com utilização de diagramas UML, de trechos de rotinas implementados na codificação e de esquemas de execução; e com operacionalização. Por fim, foi realizada a análise de resultados realizada através da validação dos cenários.

“Não coloque o objetivo longe demais de suas mãos, abrace os que estão ao seu alcance hoje.” Aristóteles

C

CAAPPÍÍTTUULLOO

5 5

C

COONNCCLLUUSSÕÕEES S

5 CONCLUSÕES

Neste último capítulo, são apresentadas as considerações finais do trabalho. Na seção 5.1, mostram-se as considerações gerais abordando os conhecimentos adquiridos com o desenvolvimento do trabalho; na 5.2, as considerações específicas relacionadas à pesquisa, analisando as dificuldades encontradas na elaboração e as suas limitações; e, finalmente, na seção 5.3, sugerem-se propostas de trabalhos futuros na tentativa de otimizar a versão inicial deste protótipo.

5.1 CONCLUSÕES GERAIS

Por meio do estudo e da utilização de algumas tecnologias empregadas no desenvolvimento deste trabalho, foi adquirido um embasamento em algumas tecnologias, tais como: linguagem de programação Java, Web Semântica e funcionamento e construção de uma Máquina de Busca. Abaixo, são citados os conhecimentos adquiridos:

• aprendizado em programação de web service com Java – a construção de um serviço web proporcionou a aquisição de conhecimentos relacionados à tecnologia SOA e à própria linguagem de programação utilizada;

• aprendizado em Web Semântica – a Web Semântica tem como objetivo principal tornar a informação disponível e legível para os computadores de modo que o relacionamento homem-máquina seja mais efetivo, relacionando-se, pois, com o conhecimento adquirido em web service.

• aprendizado em Máquinas de Busca – conhecimento adquirido durante o estudo dos fundamentos teóricos que embasaram o trabalho, principalmente no decorrer da fase de implementação do protótipo, na qual foram construídos algoritmos com a finalidade de realizar as tarefas básicas de uma Máquina de Busca: descoberta, indexação e pesquisa.

5.2 CONCLUSÕES ESPECÍFICAS

Nesta seção, são apresentadas as considerações relacionadas ao desenvolvimento do trabalho e feitas algumas sugestões de melhorias, limitações e dificuldades encontradas durante a sua elaboração.

Nos próximos itens, são listadas algumas considerações sobre o trabalho. O objetivo é descrever algumas melhorias que podem ser avaliadas e, se possível, implementadas na tentativa de aumentar o escopo do protótipo:

• o cenário 1, apesar de ter sido satisfeito, conforme a validação realizada no capítulo anterior, pode ser melhorado no sentido de informar ao usuário, de alguma forma (e-mail, por exemplo), que os endereços para visita sugeridos ao crawler foram indexados;

• a criação de outros cenários relacionados a serviços web, como, por exemplo, uma lista (completa ou parcial) com os endereços que foram descobertos pelo crawler, possibilitaria que outras aplicações tenham essas fontes de recursos disponíveis, uma vez que há apenas dois cenários desse tipo.

Existem algumas limitações identificadas no protótipo. A primeira delas diz respeito à descoberta de recursos, apesar de o objetivo principal do protótipo ser a tarefa de pesquisa. O processo de descoberta de recursos ainda é bastante limitado porque são poucos os endereços- raiz disponíveis para visitas. Um número maior desses endereços aumentaria consideravelmente a quantidade de novas descobertas.

A indexação também é mais uma das limitações deste trabalho porque ela só é realizada sobre recursos que têm o formato de texto ou que podem ter seu conteúdo convertido para tal. Isso implica dizer que arquivos no formato de imagem, áudio ou vídeo, por exemplo, não podem ser indexados e, conseqüentemente, localizados pelo protótipo.

Uma outra limitação diz respeito à filtragem no processo de pesquisa. Na formulação da consulta, o usuário não tem como definir filtros de restrição de pesquisa como, por exemplo: idioma, país, formato do recurso ou sites adultos. Isso possibilitaria que os resultados fossem ainda mais restritos.

E a última limitação está relacionada aos endereços não localizados. Eventualmente, alguns endereços de acesso podem estar indisponíveis. Caso isso aconteça, o protótipo não possui um mecanismo capaz de disponibilizar a localização desses recursos, caracterizando, assim, um recurso descoberto, porém indisponível.

Além das limitações citadas anteriormente, foram encontradas algumas dificuldades no decorrer do trabalho, cujo fator positivo foi, em função da necessidade de construção do protótipo, o fomento de várias pesquisas em sites, fóruns e bate-papos especializados no assunto. A seguir, são mostradas as principais dificuldades:

• a tarefa de realizar a descoberta de recursos é uma das funcionalidades mais complexas implementada no protótipo. Por isso, para abstrair essa complexidade, foi utilizada a biblioteca Crawler, pela qual, a partir de endereços web fornecidos, novos endereços relacionados aos que foram informados como parâmetro são descobertos;

• a linguagem Java, por ser bastante robusta e por possuir diversos recursos que auxiliam o programador no desenvolvimento de aplicações, exigiu, em paralelo ao desenvolvimento desta dissertação, a dedicação ao seu estudo a fim de viabilizar o desenvolvimento do protótipo.

5.3 TRABALHOS FUTUROS

O desenvolvimento de novos trabalhos é de extrema importância por possibilitar a otimização de funções deficientes encontradas nesta versão inicial e viabilizar a construção de funcionalidades ainda não implementadas. A seguir, são sugeridas algumas idéias que podem contribuir com a melhoria deste trabalho:

• indexação – esta versão indexa recursos que estão no formato texto ou que podem ser convertidos para esse formato. A sugestão é criar um mecanismo capaz de indexar recursos em outros formatos (imagens, áudio e vídeo), o que possibilitaria um maior número de recursos disponíveis para pesquisa;

• localização de endereços indisponíveis – alguns recursos podem não estar com o seu endereço de localização ativo. Nesse caso, sugere-se o desenvolvimento de um mecanismo capaz de recuperar o conteúdo desses recursos. Uma idéia seria o armazenamento de todo o conteúdo dos recursos na base de dados e, se por ventura o endereço estivesse inativo no momento da pesquisa, o protótipo construiria uma página HTML a partir do conteúdo armazenado;

• filtro de pesquisa – os recursos localizados são filtrados por meio de seu formato, local de hospedagem, idioma utilizado e acessibilidade de conteúdo adulto;

• relevância de termos no contexto – os sintagmas e os relacionamentos possuem um peso em relação ao contexto utilizado durante uma pesquisa. A relevância desses termos (variando de 0 a 1) poderia ser definida de uma forma automática tendo como base a quantidade de vezes que eles aparecem em uma consulta;

• sugestão de contextos – os contextos utilizados mais freqüentemente por um usuário seriam o ponto de partida para que o protótipo sugerisse contextos semelhantes aos usados por outros usuários. Essa funcionalidade disponibilizaria uma quantidade maior de contextos e, conseqüentemente, de termos relacionados às áreas de interesse daquele usuário.

REFERÊNCIAS

[1] TANEMBAUM, Andrew S. Redes de Computadores. Tradução por Insight Serviços de Informática. 3. ed. Rio de Janeiro: Campus, 1997.

[2] CERN, Welcome to info.cern.ch: the website of the world's first-ever web server. Disponível em: <http://info.cern.ch/>. Acesso em: 15 mar. 2007.

[3] O’REILLY, Tim. What is Web 2.0: Design Patterns and Business Models for the Next Generation of Software. San Francisco: 2005. Disponível em: <http://www.oreillynet.com/lpt/a/6228>. Acesso em: 15 mar. 2007.

[4] WEB 2.0 SUMMIT. About Web 2.0 Summit: The Fourth Annual Web 2.0 Summit. Disponível em: <http://www.web2summit.com/>. Acesso em: 15 mar. 2007.

[5] Eric’s Blog. Web 2.0 History.

Disponível em: <http://learningremix.net/f2006integ/enapier/2006/09/web_20.shtml>. Acesso em: 15 mar. 2007.

[6] WIKIPEDIA, Web 2.0. Disponível em: <http://en.wikipedia.org/wiki/Web_2>. Acesso em: 15 mar. 2007.

[7] O’REILLY RADAR. Web 2.0 Compact Definition: Trying Again. Disponível em: <http://radar.oreilly.com/archives/2006/12/web_20_compact.html>. Acesso em: 15 mar. 2007.

[8] O’REILLY, Tim. People Inside & Web 2.0. Open Business, 25 abr. 2006. Disponível em: http://www.openbusiness.cc/2006/04/25/people-inside-web-20-an-interview-with-tim-o- reilly/. Acesso em: 15 mar. 2007.

[9] GLASER, Mark. What is Web 2.0, and Should You Care? Disponível em: <http://www.pbs.org/mediashift/2006/04/jargon_watchwhat_is_web_20_and.html>. Acesso em: 18 mar. 2007.

[10] O’REILLY, Tim. What kind of internet operating system do we want? Disponível em: <http://www.oreillynet.com/pub/wlg/1262>. Acesso em: 18 mar. 2007.

[11] JR, Gilberto. Tim O’Reilly define a Web 2.0. Disponível em:

<http://w2br.com/2006/11/30/tim-oreilly-define-a-web-20/>. Acesso em: 18 mar. 2007. [12] MENEZES, José de. Definições da web dois ponto zero. Disponível em: <http://www.plugmasters.com.br/sys/materias/622/1/Defini%E7%F5es-da-web-dois-ponto- zero>. Acesso em: 18 mar. 2007.

[13] SCHWARTZ, Erik. Semantic Search: Offering Meaningful Results for the Web 2.0 Era. Disponível em: <http://www.semantic-conference.com/2007/sessions/l1.html>. Acesso em: 20 mar. 2007.

[14] HINCHCLIFFE, Dion. Visualizing Web 2.0. Disponível em:

[15] PARTER, Josua; MACMANUS, Richard. Web 2.0 Design: Bootstrapping the Social Web. Disponível em: <http://www.digital-web.com/articles/web_2_for_designers/>. Acesso em: 20 mar. 2007.

[16] Steve’s Blog. Is Tim just Mizundastood? Disponível em:

<http://geocontext.org/node/7>. Acesso em: 25 mar. 2007.

[17] INTERAKT, Upgrading the Internet – Web 2.0. Disponível em:

<http://www.interaktonline.com/Support/Articles/Details/Upgrading+the+Internet+%96+Web +2.0.html?id_art=39>. Acesso em: 25. mar. 2007.

[18] TORRES, Bruno. Web 0.1α. Disponível em: <http://brunotorres.net/2005/10/14/web-01>. Acesso em: 25. mar. 2007.

[19] BERNERS-LEE, Tim; HENDLER, James; LASSILA, Ora. The Semantic Web: A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities. Disponível em: <http://www.sciam.com/article.cfm?articleID=00048144-10D2- 1C70-84A9809EC588EF21&pageNumber=1&catID=2>. Acesso em: 26 mar. 2007.

[20] PALMER, Sean B. The Semantic Web: An Introduction. Disponível em: <http://infomesh.net/2001/swintro/>. Acesso em: 26 mar. 2007.

[21] WIKIPEDIA, Semantic Web.

Disponível em: <http://en.wikipedia.org/wiki/Semantic_web>. Acesso em: 19 mar. 2007.

[22] DZIEKANIAK, Gisele Vasconcelos; KIRINUS, Josiane Boeira. Web Semântica. Ciência da Informação, p 20-19, Florianópolis, n.18, 2004.

[23] WIKIPEDIA, Web 3.0. Disponível em: <http://pt.wikipedia.org/wiki/Web_3.0>. Acesso em: 20 mar. 2007.

[24] TOLDA, Stelleo. O e-commerce e a web 3.0. Disponível em:

<http://wnews.uol.com.br/site/colunas/materia.php?id_secao=9&id_conteudo=358>. Acesso em: 20 mar. 2007.

[25] SPIVACK, Nova. Pioneiro vê enorme potencial para negócios de buscas. Washington:

Folha de São Paulo, São Paulo, 21 fev. 2007. Disponível em:

<http://www1.folha.uol.com.br/folha/informatica/ult124u21657.shtml>. Acesso em: 25 mar. 2007.

[26] WIKIPEDIA, Motor de busca.

Disponível em: <http://pt.wikipedia.org/wiki/M%C3%A1quinas_de_busca>. Acesso em: 24 mar. 2007.

[27] JONES, Gareth J. F., BROWN, Peter J. The Role of Context in Information Retrieval. In: Annual International ACM SIGIR Conference. 27., 2004, Sheffield, South Yorkshire.

[28] Conference on Research & Development on Information Retrieval – SIGIR 2006, Seattle, United States.

[29] ESSIR 2007 – European Summer School in Information Retrieval, Glasgow, Scotland

[30] BACCHIN, Thiago Rhicter(coord). O uso dos sites de busca no Brasil. Cadastra. Disponível em:

<http://www.cadastra.com.br/Pesquisa_Cadastra_O_Uso_dos_sites_de_busca_no_Brasil.pdf> Acesso em: 13 fev. 2007.

[31] KURAMOTO, Hélio. Sintagmas Nominais: uma Nova Proposta para a Recuperação da Informação. Ciência da Informação, Brasília, v. 3, n. 1, fev. 2002.

[32] GOSPODNETIC, Otis. HATCHER, Erik. Lucene in Action. Greenwich: Manning, 2005.

[33] WIKIPEDIA, Recuperação de informação. Disponível em:

<http://pt.wikipedia.org/wiki/Recupera%C3%A7%C3%A3o_de_Informa%C3%A7%C3%B5 es>. Acesso em: 04/04/2007.

[34] FERNEDA, Edberto. Recuperação de Informação: Análise sobre a contribuição da Ciência da Computação para a Ciência da Informação. 2003. 147f. Tese(Doutorado em Ciência da Informação e Documentação) – Escola de Comunicação e Artes, Universidade de São Paulo, São Paulo, 2003.

[35] CARDOSO, Olinda Nogueira Paes. Recuperação de Informação. Lavras, [s.d].

[36] GUIMARÃES, Francisco José Zamith. Utilização de ontologias no domínio B2C. 2002. 195f. Dissertação(Mestrado em Informática) - Departamento de Informática, Pontifícia Universidade Católica, Rio de Janeiro, 2002.

[37] WIKIPEDIA, Diretórios de sites. Disponível em:

<http://pt.wikipedia.org/wiki/Diret%C3%B3rios_de_sites> Acesso em: 01 abr. 2007.

[38] CENDÓN, Beatriz Valadares. Ferramentas de busca na Web. Ciência da Informação, Brasília, v. 30, n. 1, p. 39-49, jan.-abr.2001.

[39] BEZERRA, Allan José de Souza. Detecção de sites replicados em base de dados de

Máquinas de Busca. Manaus: UFAM, 2004. 72f. Monografia(Bacharelado em Ciência da

Computação) - Departamento de Ciência da Computação, Universidade Federal do Amazonas, 2004.

[40] NOBLES, Robin. The future of search engine optimizing: theme engines. In: Search Engine Workshops, 2003.

[41] FINKELSTEIN, Lev; GABRILOVICH Evgeniy; MATIAS, Yossi et al. Placing Search

in Context: The Concept Revisited. In: Proceedings International WWW Conference(10),

[42] OLSTAD, Bejørn; SERES, Silvija. What is Contextual Search? KM World, p S10-S11, nov.-dez. 2005.

[43] PEAD(Português – Ensino a Distância), A Classe dos Sintagmas. Disponível em: <http://acd.ufrj.br/~pead/tema16/aclassedossintagmas.html>. Acesso em: 05 fev. 2007. [44] PERINI, Mário A. Gramática descritiva do português. 2 ed. São Paulo: Ática, 1995. 380p.

[45] FERREIRA, Aurélio Buarque de Holanda. Novo Dicionário Aurélio - Século XXI. Rio de Janeiro: Nova Fronteira, 1999.

[46] FURASTÉ, Pedro Augusto. Normas Técnicas para o Trabalho Científico: Explicitação em Normas da ABNT. 12 ed. Porto Alegre: [s.n.], 2003.

[47] FARIA, Rogério Amorim de. Treinamento avançado em XML. São Paulo: Digerati Books, 2005.

[48] GIRARDI, Reubem Alexandre D’Almeida. Framework para coordenação e mediação

de Web Services modelados como Learning Objects para ambientes de aprendizado na Web. 2004. 111f. Dissertação(Mestrado em Informática) - Departamento de Informática,

Pontifícia Universidade Católica, Rio de Janeiro, 2004.

[49] WEBSERVICES.ORG. Disponível em: <http://www.webservices.org>. Acesso em: 09 abr. 2007.

[50] IMASTERS. WEB Services com Visual FoxPro 9.0. Disponível em:

<http://www.imasters.com.br/artigo/4025/webservices/web_services_com_visual_foxpro_90> Acesso em: 09 abr. 2007.

[51] GUEDES, Gilleanes T. A.. UML: uma abordagem prática. 2 ed. São Paulo: Novatec, 2006.

[52] JAVA.NET. Smart and Simple Web Crawler. Disponível em: <https://crawler.dev.java.net/> . Acesso em: 13 jan. 2007

[53] LUCENE. Disponível em: <http://lucene.apache.org>. Acesso em: 03 fev. 2006. [54] Disponível em:

<http://lucene.apache.org/java/docs/api/org/apache/lucene/search/highlight/package-summary.html>. Acesso em: 21/04/2007

[55] POSTGRESQL. Disponível em: <http://www.postgresql.org>. Acesso em: 17/04/2007. [56] APACHE TOMCAT. Disponível em: <http://tomcat.apache.org>. Acesso em: 05 dez. 2005.

[57] THE APACHE SOFTWARE FOUNDATION. Disponível em: <http://www.apache.org>. Acesso em: 05 dez. 2005.

[58] APACHE LUCENE, Who We Are. Disponível em:

<http://lucene.apache.org/java/docs/whoweare.html#contrib>. Acesso em: 10 dez. 2005. [59] JAVA TECHNOLOGY. Disponível em: <http://java.sun.com>. Acesso em: 17 nov. 2005.

[60] JGURU. JavaServer Pages Fundamentals, Short Course Contents. Disponível em: <http://java.sun.com/developer/onlineTraining/JSPIntro/contents.html#Introduction>. Acesso em: 18 abr. 2007.

[61] KURAMOTO, Hélio. Uma abordagem alternativa para o tratamento e a recuperação de informação textual: os sintagmas nominais. Ciência da Informação, Brasília, v. 25, n. 2, 1995.

[62] GLOVER, Eric J., LAWRENCE, Steve, Birminingham, William P. et al. Architecture

of a Metasearch Engine that Supports User Information Needs. In: International

Conference on Information and Knowledge Management. 8., 1999. Proceedings…CIKM 99, Kansas City, Missouri, p. 210-216.

[63] LAWRENCE, Steve. Context in Web Search. IEEE Data Engineering Bulletin, v. 23, n.