UNIVERSIDADE DO SUL DE SANTA CATARINA JOHANNES S. SILVEIRA FERREIRA A WEB SEMÂNTICA E UM SITE DE BUSCA SEMÂNTICA

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE DO SUL DE SANTA CATARINA JOHANNES S. SILVEIRA FERREIRA A WEB SEMÂNTICA E UM SITE DE BUSCA SEMÂNTICA"

Transcrição

1 UNIVERSIDADE DO SUL DE SANTA CATARINA JOHANNES S. SILVEIRA FERREIRA A WEB SEMÂNTICA E UM SITE DE BUSCA SEMÂNTICA Palhoça 2010

2 JOHANNES S. SILVEIRA FERREIRA A WEB SEMÂNTICA E UM SITE DE BUSCA SEMÂNTICA Trabalho de Conclusão de Curso apresentado ao Curso de Graduação em Ciência da Computação da Universidade do Sul de Santa Catarina, como requisito parcial à obtenção do título de Bacharel em Ciência da Computação. Orientador: Prof. Aran Bey Tcholakian Morales, Dr. Engº. Palhoça 2010

3 JOHANNES S. SILVEIRA FERREIRA A WEB SEMÂNTICA E UM SITE DE BUSCA SEMÂNTICA Este Trabalho de Conclusão de Curso foi julgado adequado à obtenção do título de Bacharel em Ciência da Computação e aprovado em sua forma final pelo Curso de Graduação em Ciência da Computação da Universidade do Sul de Santa Catarina. Tubarão, 25 de novembro de Professor e orientador Aran Bey Tcholakian Morales, Dr. Engº. Universidade do Sul de Santa Catarina Professora Maria Inés Castiñeira, Dra. Universidade do Sul de Santa Catarina Professor Osmar de Oliveira Braz Junior, Me. Universidade do Sul de Santa Catarina

4 Dedico este trabalho às pessoas mais importantes da minha vida, minha mãe Célia, meus irmãos Lahryssa e Nikollas e aos meus tios Nair e José Roberto, pois, não seria quem sou hoje sem suas presenças em minha vida. Obrigado. Amo vocês!

5 AGRADECIMENTOS A todos que de alguma forma contribuíram para o meu sucesso. Principalmente aos professores e professoras que compartilharam seu precioso conhecimento, durante esta incrível jornada.

6 Einstein). Faça as coisas o mais simples que puder, porém não as mais simples. (Albert

7 RESUMO Atualmente a internet se direciona para uma nova geração, denominada Web Semântica, termo definido por Tim Berners Lee, ou web 3.0, seguindo a sequência dada às outras gerações da internet, 1.0 e 2.0. Essa nova internet prevê a inclusão de metadados às informações hoje já existentes e, também às novas que virão. Com a inclusão de informações sobre as informações, os computadores passarão a interpretá-las e com isso, conseguirão processá-las, abrindo novas portas para aplicações que utilizarão esse conhecimento. A proposta para este projeto é trazer uma explicação sobre o que é e como funcionará a web semântica, apresentando as principais tecnologias empregadas em sua arquitetura. E a seguir, apresenta a construção de um protótipo para um mecanismo de busca semântica, ou seja, um mecanismo baseado nos que atualmente utilizamos, mas, se diferenciando por realizar uma busca específica em um determinado assunto. Em um sistema convencional (Google, Yahoo, UOL, entre muitos outros), quando se faz uma pesquisa por um termo qualquer, os resultados apresentados são os mais diversos e, muitos deles nem sempre tem alguma coisa a ver com o que era desejado. Para o desenvolvimento do protótipo, foi utilizado o Java, pois, esta apresenta diversas facilidades para o desenvolvimento. Também foi feito do uso da API Lucene que oferece um excelente mecanismo de indexação e pesquisa, visando tornar a apresentação dos resultados mais rápida. No protótipo apresentado, sistema de busca semântica, as pesquisas estão limitadas a um determinado assunto, com isso, a grande maioria dos resultados apresentados estará dentro do assunto em questão. Por fim, é apresentada uma comparação dos resultados obtidos no sistema convencional e o semântico. Palavras-chave: Web Semântica. Mecanismo de Busca. Metadados. Busca Semântica.

8 ABSTRACT Today the Internet is directed to a new generation, called the Semantic Web, a term defined by Tim Berners Lee, or web 3.0, following the order given to other generations of the Internet, 1.0 and 2.0. This new Internet provides for the inclusion of metadata to information currently existing and also new to come. With the inclusion of information about the information, computers will interpret them and, thus, able to process them, opening new doors to applications that use that knowledge. The proposal for this project is to bring an explanation of what work is and how the semantic web, showing the main technologies used in its architecture. And below, shows the construction of a prototype for a semantic search engine, or a mechanism based on that we currently use, but is differentiated by performing a specific search on a particular subject. In a conventional system (Google, Yahoo, YouTube, among many others), when doing a search for any one term, the results presented are the most diverse and many of them do not always have anything to do with what was desired. To develop the prototype, we used Java, because this has several facilities for development. It was also made use of Lucene API that provides an excellent mechanism for indexing and search, in order to make the presentation of results more quickly. In the prototype presented, semantic search engine, searches are limited to a particular subject, thus, the vast majority of results will be within the subject matter. Finally, we present a comparison of results obtained in the conventional system and semantics. Keywords: Semantic Web. Word, Search Engine. Metadata. Semantic Search.

9 LISTA DE ILUSTRAÇÕES Figura 1 Evolução da Internet Figura 2- Da ARPANET à Internet Figura 3 - Criação e atualização do conteúdo da web Figura 4 - Número de websites até março de Figura 5 - Criação e atualização do conteúdo da web Figura 6 - Diagrama em camadas de bolo (layer-cake) Figura 7 - Diagrama de layer cake adaptado por Passin Figura 8 - Repretação gráfica de uma tripla Figura 9 - Rede semântica Figura 10 - Camadas RDF e RDFS Figura 11 - Taxonomia lineana dos seres vivos Figura 12 - Relacionamento semântico de um tesauro Figura 13 - Exemplo gráfico de ontologia: recuros humanos Figura 14 - Busca e seleção de hoje e futuramente Figura 15 Funcionamento de uma web aranha Figura 16 - Proposta da solução Figura 17 - Visão macro do Iconix Figura 18- Linha do tempo da evolução da UML Figura 19 Diagrama de Atividade Figura 20 Casos de uso do sistema Figura 21 Diagrama de Pacotes com suas respectivas classes Figura 22 Análise robusta do processo de pesquisa Figura 23 Análise robusta do processo de varredura da internet Figura 24 Diagrama de Seqüência do Processo de Pesquisa Figura 25 Diagrama de Sequência do processo de varredura da internet Figura 26 Diagrama do pacote principal Figura 27 Digrama do pacote atualização Figura 28 Diagrama do pacote controle Figura 29 Diagrama do pacote webcrawler Figura 30 Diagrama do pacote model

10 Figura 31 Arquitetura da Solução Figura 32 Ferramentas Utilizadas Figura 33 Página Principal do Sistema de Busca Figura 34 Pesquisa Parte Figura 35 Pesquisa Parte Figura 36 Resultado da pesquisa em branco Figura 37 História dos mecanismos de busca parte Figura 38 História dos mecanismos de busca parte Figura 39 História dos mecanismos de busca parte Figura 40 História dos mecanismos de busca parte

11 LISTA DE QUADROS Quadro 1 - Benefícios da web semântica Quadro 2 Resultado da Pesquisa do Sistema de Busca Convencional (termo: mamão) Quadro 3 Resultado da Pesquisa do Sistema de Busca Semântica (termo: mamão) Quadro 4 - Resultado da Pesquisa do Sistema de Busca Convencional (termo: samambaia).. 97 Quadro 5 - Resultado da Pesquisa do Sistema de Busca Semântica (termo: samambaia) Quadro 6 - Resultado da Pesquisa do Sistema de Busca Convencional (termo: pau-brasil) Quadro 7 - Resultado da Pesquisa do Sistema de Busca Semântica (termo: pau-brasil) Quadro 8 - Resultado da Pesquisa do Sistema de Busca Convencional (termo: narciso) Quadro 9 - Resultado da Pesquisa do Sistema de Busca Semântica (termo: narciso)

12 11 SUMÁRIO 1 INTRODUÇÃO OBJETIVOS Objetivo Geral Objetivos Específicos JUSTIFICATIVA ESTRUTURA DA MONOGRAFIA REVISÃO BIBLIOGRÁFICA INTRODUÇÃO PERSPECTIVA HISTÓRICA DA WEB Conceitos WEB WEB A PRÓXIMA GERAÇÃO DA WEB: WEB Como vai funcionar O que a web semântica não é A web semântica não é Inteligência Artificial A web semântica não é uma web separada A web semântica não vai exigir que todas as aplicações utilizem expressões complexas O que é a web semântica Definição Arquitetura Elementos da arquitetura da web semântica Metadados XML XML Schema RDF RDF Schema Ontologias Agentes... 46

13 Ferramentas Benefícios Mecanismos de busca Mecanismos de busca comerciais Mecanismo de busca semântica METODOLOGIA CARACTERIZAÇÃO DO TIPO DE PESQUISA ETAPAS METODOLÓGICAS PROPOSTA DA SOLUÇÃO DELIMITAÇÕES MODELAGEM DO SISTEMA ICONIX UML UNIFIED MODELING LANGUAGE MODELOS E DIAGRAMAS Diagrama de atividades Modelo de casos de uso Diagrama de Pacotes Diagramas de Robustez Diagramas de Seqüência Diagramas de Classe DESENVOLVIMENTO DA PROPOSTA SOLUÇÃO PROPOSTA ARQUITETURA DA SOLUÇÃO FERRAMENTAS UTILIZADAS APRESENTAÇÃO DO SISTEMA VALIDAÇÃO CONCLUSÕES CONCLUSÕES TRABALHOS FUTUROS REFERÊNCIAS ANEXOS ANEXO A HISTÓRIA DOS MECANISMOS DE BUSCA APÊNDICE APÊNDICE A COMPARAÇÃO DE PESQUISAS COM OUTROS TERMOS... 97

14 13 1 INTRODUÇÃO Com a constante evolução da World Wide Web, desde sua criação, em 1990, por Tim Berners-Lee, ao longo dos anos, ela veio sofrendo alterações e melhorias e, atualmente, encontra-se na versão web 2.0. O termo web 2.0 foi introduzido por Tim O Reilly em Essa é a versão atual da web, na qual encontramos diversas pessoas, criando mais e mais páginas a cada dia e, também, vemos inúmeras redes de relacionamento interligando pessoas do mundo inteiro, sem contar a enorme quantidade de conteúdo interativo, como, músicas, vídeos, imagens, textos e mais textos, entre outros, fazendo com que os internautas voltem diversas vezes aos mesmos sites que são atualizados frequentemente. Também, não podemos deixar de mencionar os sites de busca que, com apenas alguns cliques, trazem informações sobre qualquer assunto que nos interessa. A partir do conceito 2.0, a primeira geração da internet foi denominada como web 1.0, em que apenas uma ou outra pessoa criava páginas com pouca ou nenhuma interatividade com o usuário, sendo que esse visitava uma ou duas vezes esse site e, dificilmente, acessava-o novamente. Suas páginas eram interligadas através de links que conduziam o internauta entre elas. O que podemos identificar, tanto na versão 1.0 como na 2.0, é que todas as informações inseridas na internet foram feitas por pessoas para que elas pudessem acessá-las e interpretá-las. De acordo com Berners-Lee, Hendler e Lassia (2001), a nova geração, que virá, ficará conhecida como web 3.0. E essa idéia foi idealizada pelo próprio idealizador da internet, mas o termo utilizado foi de Web Semântica, em que a proposta é para que novas informações e dados, inseridos na internet, sejam feitos de tal forma que as máquinas também possam entendê-los e processá-los. Já, o conteúdo existente deverá ser transformado para atender essa característica. Em outras palavras, criar uma rede de dados interligados de forma que as máquinas, também, possam entendê-las. Veja a figura a seguir.

15 14 Figura 1 Evolução da Internet. Fonte: OBJETIVOS Os objetivos encontram-se divididos em: Objetivo Geral e Objetivos Específicos Objetivo Geral Desenvolver um protótipo de uma aplicação web que simulará uma busca como se a web 3.0 fosse uma realidade. O sistema de busca fará uso de uma API (Application Programming Interface) já existente que dará suporte à aplicação, fornecendo recursos que facilitarão o desenvolvimento.

16 Objetivos Específicos descrever o que é e como funcionará a web semântica, suas características, tecnologias envolvidas, sua arquitetura e os benefícios que ela trará; pesquisar o funcionamento dos mecanismos de busca, ou seja, o que existe por trás destes, de que forma eles conseguem reunir tantas informações; modelar o sistema de busca semântica, este modelo apresentará as características principais do protótipo, sendo de grande importância para a conclusão do próximo objetivo; desenvolver o protótipo da aplicação, ele será a união dos objetivos anteriores, onde todo o conhecimento adquirido, será utilizado em sua construção. 1.2 JUSTIFICATIVA A Web Semântica será diferente da internet que hoje conhecemos. Com as informações classificadas, organizadas, com fácil obtenção, de uma forma que não só façam sentido para os humanos, mas também para as máquinas. (BERNERS-LEE, HENDLER, LASSILA, 2001). Por exemplo, se fizéssemos uma pesquisa, em algum site de busca conhecido, por sorvete de abacaxi em Florianópolis, obteríamos diversos resultados que variam desde receitas de sorvete até um cardápio de churrascaria, tornando algumas buscas completamente ineficientes. Isso ocorre porque as palavras fornecidas à pesquisa são procuradas de forma independente e não fazem sentido algum para o computador, ou seja, os mecanismos de busca não conseguem tirar o máximo proveito dos documentos na web. Se as informações obedecessem aos padrões semânticos, a mesma busca, citada acima, poderia apresentar todas as sorveterias num raio de dois quilômetros da sua casa e também traria todo o cardápio de sabores, destacando o de abacaxi. Como a Web Semântica será a nova geração da internet (web 3.0), este trabalho visa ao desenvolvimento profissional, pois o que tudo indica, nos próximos anos, essa geração será uma realidade. Com isso, a aquisição do conhecimento aqui reunido será de valiosa importância para a carreira profissional do autor, que também espera contribuir com novos

17 16 pesquisadores que se interessarem pelo o assunto e para que possam utilizar este como ponto de partida para seus estudos. 1.3 ESTRUTURA DA MONOGRAFIA Capítulo 1: Introdução Este capítulo apresenta uma visão geral do tema abordado neste trabalho e também, constam os objetivos, problemática e justificativa. Capítulo 2: Revisão Bibliográfica Neste, será encontrada a fundamentação teórica que serviu de base para o desenvolvimento do trabalho. Capítulo 3: Método Aqui, serão encontradas as estrutura e os passos para o desenvolvimento do projeto. Capítulo 4: Modelagem do Sistema Aqui o leitor encontrará a modelagem do sistema Capítulo 5: Arquitetura da Solução Neste capítulo serão reunidos e descritos os recursos utilizados no desenvolvimento do projeto. Capítulo 6: Conclusões e trabalhos futuros Capítulo final do projeto onde o leitor encontrará as conclusões do autor sobre o trabalho e, também, algumas recomendações para trabalhos futuros.

18 17 2 REVISÃO BIBLIOGRÁFICA 2.1 INTRODUÇÃO Neste capítulo, o leitor encontrará um pouco da história da internet, como e quando começou e, também, mais detalhes sobre as gerações da internet. Mas o foco principal deste será a web 3.0 que será referenciada de agora em diante como web semântica. Será contado um pouco de sua história, destacando suas características e os elementos que a compõem, que após definidos serão explicados com mais detalhes e, também, serão apresentadas algumas informações sobre os mecanismos de busca. 2.2 PERSPECTIVA HISTÓRICA DA WEB A Internet tem revolucionado o mundo dos computadores e das comunicações como nenhuma invenção foi capaz de fazer antes. A invenção do telégrafo, telefone, rádio e computador prepararam o terreno para esta nunca antes havida integração de capacidades. A Internet é de um a vez e ao mesmo tempo, um mecanismo de disseminação da informação e divulgação mundial e um meio para colaboração e interação entre indivíduos e seus computadores, independentemente de suas localizações geográficas (LEINER et al., 2010). Esta definição dada por Leiner destaca o quão grandioso é o meio de comunicação provido pela internet. A figura, a seguir, mostra a evolução da internet de 1968 a 1996, algumas das tecnologias que foram aparecendo durante sua evolução e o crescimento de redes operacionais na internet.

19 18 Figura 2- Da ARPANET à Internet. Fonte: Acompanhe alguns pontos importantes na evolução da internet: - desenvolvida pela empresa ARPA (Advanced Research and Projects Agency) em 1969, com o objetivo de conectar os departamentos de pesquisa, esta rede foi batizada com o nome de ARPANET; - nos anos 1970, as universidades e outras instituições que faziam trabalhos relativos à defesa tiveram permissão para se conectar à ARPANET; - em 1972 o correio eletrônico, considerado a primeira aplicação "hot", foi introduzido. Este foi o prenúncio do tipo de atividade que vemos na WWW hoje, ou seja, o enorme crescimento de todos os tipos de aplicações e utilitários agregados pessoa a pessoa; - em 1975, existiam aproximadamente 100 sites. Os pesquisadores que mantinham a ARPANET estudaram como o crescimento alterou o modo de como as pessoas usavam a rede; - no final dos anos 1970, a ARPANET tinha crescido tanto que o seu protocolo de comutação de pacotes original, chamado de Network Control Protocol (NCP), tornou-se inadequado; - depois de algumas pesquisas, a ARPANET mudou do NCP para um novo protocolo chamado TCP/IP (Transfer Control Protocol/Internet Protocol) desenvolvido em UNIX. A maior vantagem do TCP/IP era que ele permitia (o que parecia ser na época) o crescimento praticamente ilimitado da rede, além de ser fácil de implementar em uma variedade de plataformas diferentes de hardware de computador; - nesse momento, a Internet é composta de aproximadamente redes internacionais, sendo que, mais ou menos, a metade delas nos Estados Unidos;

20 19 - a partir de julho de 1995, havia mais de 6 (seis) milhões de computadores permanentemente conectados à Internet, além de muitos sistemas portáteis e de desktop que ficavam online por apenas alguns momentos Conceitos A internet é um conjunto de redes de computadores interligadas que tem em comum um conjunto de protocolo e serviços, de uma forma que os usuários conectados possam usufruir de serviços de informação e comunicação de alcance mundial (BOGO, 2000). Nos dias de hoje, não é mais um luxo ou simples questão de opção uma pessoa utilizar e dominar os serviços disponíveis na internet, pois é considerado o maior sistema de comunicação desenvolvido pelo homem (BOGO, 2000), com mais de um bilhão de usuários no mundo todo. Na internet, encontramos os mais variados tipos de serviços, como, comércio eletrônico, home banking, ensino à distância, lazer, diversão, redes sociais, comunicação, entre diversas outras. E toda hora surge um novo tipo de serviço na web. A internet está em constante evolução WEB 1.0 Algumas características da web 1.0 são: sites estáticos, sem interatividade e aplicativos fechados. Estáticos, pois proviam muitas informações, na maioria das vezes, úteis e com baixa freqüência de atualização, com isso, dificilmente o visitante retornaria ao site. Sem interatividade, porque o internauta podia visualizá-lo, mas não modificá-lo ou contribuir com eles.

21 20 Já, os aplicativos fechados referem-se aos softwares desenvolvidos pelas empresas, em que os usuários podiam baixar, mas não estavam autorizados a ver como estes funcionavam. O conteúdo de um site era criado por uma pessoa que, também, era responsável pela atualização e disponibilizado à internet, onde ficava disponível aos internautas, como podemos visualizar na parte, em destaque, da Figura a seguir. Figura 3 - Criação e atualização do conteúdo da web 1.0. Fonte: adaptada WEB 2.0 Web 2.0 é a geração que hoje vivenciamos, com mais de milhões de websites, como podemos visualizar na Figura 4. A quantidade de informação encontrada na internet hoje é imensa, devida à enorme quantidade de websites.

22 21 Figura 4 - Número de websites até março de Fonte: Todas as informações são geradas e atualizadas por diversas pessoas, ao contrário da web 1.0, uma informação pode ser atualizada por inúmeras pessoas, permitindo que os usuários sejam muito mais do que meros espectadores e façam parte do espetáculo. Um exemplo em que podemos encontrar esse tipo de atualização é o site da Wikipédia. Nele, qualquer indivíduo pode inserir qualquer tipo de informação que varia entre filosofia, astronomia, doenças, política, entre outras infinidades de assuntos imagináveis. Também existem as redes sociais, como: Orkut, Flickr, Facebook, Twitter, MySpace, entre outros, que possuem inúmeros usuários, os quais inserem um enorme volume de informações a cada instante. Também, não podemos nos esquecer de mencionar os sites de busca tais, como, Google, Yahoo, AltaVista, Uol, entre outros, que são responsáveis por pesquisar e encontrar a diversidade de informações que foram inseridas na web a partir dos exemplos citados. Pode-se ter uma idéia de como as informações são inseridas, e as atualizações são feitas na web, atualmente, através da parte, em destaque, da Figura 5.

23 22 Figura 5 - Criação e atualização do conteúdo da web 2.0. Fonte: adaptada. Como podemos perceber, todo esse volume de informação é inserido por pessoas para que outras pessoas possam consumi-las, as máquinas ficam como meras apresentadoras. Como sugere Breitman (2005, p. 2), A Internet atual pode ser definida como a Web Sintática. Nela, os computadores fazem apenas a apresentação da informação, porém o processo de interpretação fica a cabo dos seres humanos mesmo. 2.3 A PRÓXIMA GERAÇÃO DA WEB: WEB 3.0 A Web 3.0 foi idealizada por Tim Berners-Lee, também criador do World Wide Web, como Web Semântica Como vai funcionar As informações contidas na web deverão possuir conteúdo semântico, ou seja, estas deverão estar dispostas de tal forma que poderão ser interpretadas também pelas máquinas.

24 23 Até a data, a World Wide Web desenvolveu mais rapidamente como um meio de documentos para pessoas em vez de informações que podem ser manipuladas automaticamente. Aumentando as páginas da Web com os dados destinados a computadores e acrescentando documentos apenas para computadores, vamos transformar a Web para a Web Semântica. Computadores vão encontrar o significado semântico dos dados, seguindo links para definições dos principais termos e regras de raciocínio sobre eles, logicamente. A infra-estrutura resultante estimulará o desenvolvimento de serviços automatizados na Web, tais como agentes altamente funcionais. Os usuários comuns irão compor as páginas da Web Semântica e adicionar novas definições e regras, utilizando softwares de prateleira que irão ajudar com a marcação semântica. (BERNERS-LEE; HENDLER; LASSILA, 2001, p. 36, tradução nossa). da web semântica. Como se percebe, o significado dado à informação será a base para a construção O que a web semântica não é A seguir acompanhe algumas interpretações equivocadas sobre a web semântica A web semântica não é Inteligência Artificial Para Breitman (2005, p. 9): O conceito de documentos compreensíveis por máquinas não implica uma inteligência artificial mágica que faz com que os computadores passem a entender o que os seres humanos falam. Esse conceito apenas indica que computadores passarão a ter habilidades de resolver problemas bem definidos através do processamento de operações que se utilizem de dados. Dados estes conterão informações sobre si próprias, facilitando o processamento dos conteúdos pelas máquinas.

25 A web semântica não é uma web separada A idéia proposta por Tim Berners-Lee não é a invenção de uma nova internet, mas sim uma extensão da web atual. Nessa nova web, a semântica, as linguagens de marcação semântica serão utilizadas para dar um significado bem definido à informação. RDF (Resource Description Framework) e Ontologias serão acrescentadas às páginas, em uma arquitetura proposta por Berners, como afirma Breitman (2005) A web semântica não vai exigir que todas as aplicações utilizem expressões complexas Apesar de a linguagem-padrão recomendada para a Web Semântica permitir a expressão de sentenças muito complexas, [...] não será exigido que todas as aplicações web utilizem a marcação semântica em seu potencial total. (BREITMAN, 2005, p. 9) O que é a web semântica A seguir veja as definições dadas por diversos autores sobre a web semântica, e também sua arquitetura Definição A definição dada para semântica, segundo o Dicionário de XML, Tecnologias e Web Semântica de Geroimenko (2004, p.144, tradução nossa), foi:

26 25 Semântica: 1. O significado das palavras, frases ou símbolos. 2. Em linguística, a ciência ou estudo do significado nas formas de linguagem. Em computação, o significado de palavras ou símbolos usados em programas ou relações entre eles e seus significados pretendidos. Em XML e Web semântica, este termo é usado geralmente para se referir ao significado dos dados. Com a definição do que significa semântica, acompanhe algumas explicações dadas por outros autores sobre a web semântica. A Web Semântica não é uma Web separada, mas uma extensão da atual, em que a informação ganha um significado bem definido, melhor permitindo que computadores e pessoas trabalhem em cooperação. (BERNERS-LEE; HENDLER; LASSILA, 2001, p. 37, tradução nossa). A Web Semântica permitirá às máquinas compreender documentos e dados semânticos, não a fala e a escrita humana. (BERNERS-LEE; HENDLER; LASSILA, 2001, p. 40, tradução nossa). [...] Web Semântica representa uma visão em que os computadores, software, bem como pessoas, possam encontrar, ler, entender e usar dados sobre o World Wide Web para realizar objetivos úteis para os usuários. (PASSIN, 2004, p. 3, tradução nossa). A Web Semântica é simplesmente uma rede de dados descritos e ligados em formas para estabelecer contexto ou semânticas que aderem à gramática definida e construções de linguagem. (HEBELER et al, 2009, p5, tradução nossa). Expressões semânticas empregam um vocabulário semântico e da linguagem para identificar os diferentes tipos de declarações e relações. (HEBELER et al, 2009, p. 8, tradução nossa). A Web Semântica e tecnologias de Web Semântica nos oferecem uma nova abordagem para a gestão de informação e processos, o princípio fundamental é a criação e a utilização de metadados semânticos. (DAVIES; STUDER; WARREN, 2006, p.2, tradução nossa). A Web Semântica visa a tornar a grande quantidade de informações na Web acessível às máquinas através da anotação do conteúdo da Web, usando formatos compreensíveis por máquina como RDF e permitir a compreensão e integração da informação através do uso de ontologias, que podem ser especificadas, utilizando a OWL Web Ontology Language. (BRUIJN et al, 2008, p. 1, tradução nossa). Considerando todas as definições acima, pode-se dizer que a Web Semântica será a nossa Web atual, mas com modificações na forma em que seu conteúdo será inserido na web. Com modificações quer dizer que os dados possuirão informações sobre si próprios e

27 26 estas informações estarão classificadas e interligadas de forma que as máquinas também possam interpretar seus significados Arquitetura A maioria das representações gráficas da arquitetura da Web Semântica é baseada no famoso diagrama de layer cake (camada de bolo), apresentado por Berners-Lee na XML conferência de Segundo ele, a Web Semântica será construída pela adição de mais camadas em cima das já existentes, podendo demorar cerca de dez anos para ser concluído. A seguir, podemos visualizar esse diagrama. Figura 6 - Diagrama em camadas de bolo (layer-cake). Fonte: adaptado. O W3C (World Wide Web Consortium, tem sido um líder no desenvolvimento de tecnologias para a web. A organização é liderada por Tim Berners-Lee, quem não descansou sobre suas realizações anteriores em relação à Web e, também, tem vindo a promover o desenvolvimento da Web Semântica. Muitas das tecnologias, aparentemente fundamentais tais, como XML e RDF têm sido desenvolvidas pelo W3C. Portanto, a abordagem do W3C, para a evolução da Web Semântica, deve ser considerada.

28 27 Em seguida, podemos visualizar outro diagrama, onde Passin (2004) apresenta outra versão do diagrama inicial da arquitetura da Web Semântica. Figura 7 - Diagrama de layer cake adaptado por Passin. Fonte: Passin (2004, p. 14, adaptado). A seguir, acompanhe uma breve definição para cada uma das camadas que compoem o diagrama de layer cake, proposto por Passin (2004, tradução nossa): XML (Extensible Markup Language). Um framework de linguagem que, desde 1998, tem sido usado para definir quase todas as novas linguagens que são utilizadas para troca de dados sobre a internet; XML Schema. Uma linguagem utilizada para definir a estrutura de uma linguagem XML específica; RDF (Resource Description Framework). Uma linguagem flexível, capaz de descrever todos os tipos de informações de dados e metadados; RDF Schema. Um framework que fornece um meio para especificar vocabulários básicos para utilização em aplicações específicas de linguagens RDF; ontology (ontologia). Linguagens usadas para definir vocabulários e estabelecer o uso de palavras e termos em um contexto de um vocabulário específico. RDF Schema é uma estrutura para a construção de ontologias, e é utilizado por muitos frameworks de ontologia mais avançados. OWL é uma linguagem de ontologia projetada para a Web Semântica; logic and proof (lógica e prova). O raciocínio lógico é usado para estabelecer a coerência e coesão de conjuntos de dados e inferir conclusões que não são explicitas,

29 28 mas são necessárias em um conjunto conhecido de dados. Provas de rastreamento explicam as etapas do raciocínio lógico; trust (confiança). Um meio de fornecer autenticação de identidade e prova da confiabilidade dos dados, serviços e agentes. Com isso, percebe-se que cada camada deve ser construída sobre as outras e que cada uma delas vai se tornando mais especializada e, com isso, tendem a ser mais complexas que as camadas abaixo. Também podemos notar que as camadas inferiores não dependem das camadas superiores, assim, as camadas podem ser criadas e desenvolvidas de uma forma relativamente independente. (PASSIN, 2004). Nos próximos tópicos, o leitor poderá acompanhar com mais detalhes algumas das tecnologias que farão parte da Web Semântica. Umas serão de fundamental importância para seu desenvolvimento, como os metadados e as ontologias e outras que aproveitarão dos benefícios providos pela Web Semântica, como os agentes Elementos da arquitetura da web semântica Agora veja com mais detalhes os elementos que compõe a web semântica Metadados Basicamente, metadados são dados sobre dados, por exemplo, informações sobre um documento, como data, autor, editora, entre outras. A IFLA (International Federation of Library Associations) define metadados da seguinte forma: Metadados são dados sobre dados. O termo se refere a qualquer informação utilizada para a identificação, descrição e localização de recursos. Já, o W3C tem uma visão mais voltada para web semântica, definindo metadados como: Informações para a Web que podem ser compreendidas por máquinas.

30 29 Algumas definições mais simples encontradas para metadados: dado sobre dado; informação sobre informação; o significado ou semântica do dado; um recurso que fornece informações sobre outros recursos; informação descritiva sobre um recurso web. Metadado é a estrutura de construção fundamental da Web Semântica. Seu desenvolvimento, é basicamente, o processo de adicionar novos e mais níveis de metadados nos já existentes. No diagrama de arquitetura, as camadas responsáveis pelos metadados são XML, XML Schema, RDF e RDF Schema. A seguir, será explicado o que cada um significa e o que eles representam para a web semântica XML como: O World Wide Web Consortium define o XML (Extensible Markup Language) [...] é um simples formato de texto muito flexível derivado do SGML (ISO 8879). Originalmente, concebido para responder aos desafios de grande escala a publicação eletrônica, XML, também, desempenha um papel cada vez mais importante na troca de uma ampla variedade de dados na Web e em outros lugares. (W3C, 2010, tradução nossa). XML segundo Antoniou e Harmelen (2004), é constituído por uma declaração XML e uma referência (opcional) a estruturas de documentos externos. Veja um exemplo de declaração: <?xml version= 1.0 encoding= UTF-16?> Isto especifica que o documento é um documento XML, define a versão e codificação de caracteres usados em um sistema particular. Uma referência a um documento externo é definida da seguinte forma:

31 30 <!DOCTYPE universidade SYSTEM universidade.dtd > Nesse exemplo, a estrutura da informação é encontrada em um documento chamado universidade.dtd. O XML possui elementos que representam as coisas que o documento XML representa como livros, autores e editores. Elas compõem o elemento principal dos documentos XML. Um elemento consiste na abertura de uma tag de abertura, seu conteúdo e uma tag de fechamento, e é representado da seguinte maneira: <professor>aran Bey T. Morales</professor> O nome da tag pode ser, quase sempre, escolhido livremente, com poucas restrições. O conteúdo de uma tag pode ser texto, outra tag (tags aninhadas) ou nada (elemento vazio). Por exemplo: <professor> <nome>aran Bey T. Morales</nome> <telefone> </telefone> </professor> Os elementos podem possuir atributos que são constituídos por um conjunto nome-valor dentro da tag de abertura do elemento. Veja: <professor nome= Aran Bey T. Morales telefone= /> um . A seguir acompanhe como ficaria um documento XML completo, representando <?xml version= 1.0 encoding= UTF-16?> <!DOCTYPE universidade SYSTEM universidade.dtd > < > <cabecalho> <de nome= Fulano da Silva = fulano@gmail.com /> <para nome= Ciclano Junqueira = ciclano@gmail.com /> <assunto>confirmação da reunião.</assunto>

32 31 </cabecalho> <corpo> A reunião ficou marcada para 01/01/2020 às 14hs. </corpo> </ > XML Schema A definição dada pelo W3C (tradução nossa) para o XML Schema foi: expressam vocabulários comuns e permitem que as máquinas executem as regras feitas por pessoas. Eles fornecem uma forma de definir a estrutura, conteúdo e semântica de documentos XML. Já, a definição de XML Schema segundo Antoniou e Harmelen (2004) pra XML Schema foi: Uma de suas características é que sua estrutura é baseada em XML e, também, que sua estrutura melhorada fornece uma forma de reaproveitamento e refinamento de schemas. XML Schemas permitem a definição de novos tipos pela extensão ou restrição de documentos já existentes. Com isso, há uma grande redução do retrabalho. E, por fim, o XML Schema oferece um sofisticado conjunto de tipos de dados que podem ser usados em documentos XML. A estrutura do XML Schema é bastante parecida com a do XML, como será visto adiante. Um XML Schema é um elemento com uma tag de abertura como: <schema xmlns= version= 1.0 > Os elementos do schema servirão para definir a estrutura do documento. O conteúdo mais importante são as definições dos elementos e o tipo dos atributos, os quais são definidos, usando tipos de dados. Sintaxe para tipo de elementos: <element name=... /> E podem possuir um número de atributos opcionais, tais como tipos.

33 32 type=... ou limitação de cardinalidade. minoccurs x maxoccurs x (onde o x deve ser um número natural, incluindo o zero) Para o tipo dos atributos a sintaxe é: <attribute name= /> E também podem conter um número de atributos opcionais, tais como tipos. type=... ou existência, use= x (onde x deve ser opcional ou requerido) ou um valor padrão, use= x value=... (onde x deve ser padrão ou fixo) Existe uma série de outras ferramentas que não discutiremos neste trabalho, ficando a indicação para um trabalho futuro. A seguir, acompanhe um exemplo completo de como ficaria um XML Schema. <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" <xs:element name="letra"> <xs:complextype> <xs:sequence> <xs:element name="de" type="xs:string"/> <xs:element name="para" type="xs:string"/> <xs:element name="mensagem" type="xs:string"/>

34 33 </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Por fim, o XML Schema define como o documento XML será, quais campos terá, quais serão os tipos destes campos, se ele é obrigatório ou não, se é um valor padrão, em outras palavras, conterá informações sobre elas contidas no documento em questão RDF O W3C define o RDF (Resource Description Framework) como: A Resource Description Framework (RDF) é uma linguagem de propósito geral para representar as informações na web. Outra definição bastante interessante é: O Resource Description Framework (RDF) é uma linguagem declarativa que fornece uma maneira padronizada de utilizar o XML para representar metadados no formato de sentenças sobre propriedades e relacionamentos entre itens na Web. Esses itens, chamados de recursos, podem ser virtualmente qualquer objeto (texto, figura, vídeo e outros), desde que possuam um endereço Web. (BREITMAN, 2005, p. 20). Breitman (2005) também destaca alguns exemplos de utilização de descrições RDF, como: descrever propriedades para itens de compra, tais como preço e disponibilidade; descrever cronogramas para eventos na web; descrever informações sobre páginas web, tais como data de criação, título e autor; descrever conteúdo e classificação de figuras; descrever bibliotecas eletrônicas. A seguir, o leitor encontrará algumas características do RDF de acordo com Antoniou e Harmelen (2004). RDF é, essencialmente um modelo de dados. Seu bloco de construção básico é um objeto-atributo-valor (tripla), chamado de expressão. Um modelo de dados abstrato precisa de

35 34 uma sintaxe concreta para ser representada e transmitida, foi dado ao RDF, uma sintaxe semelhante ao XML. Como resultado, ele herda os benefícios associados com XML. No entanto, é importante compreender que as representações sintáticas de outros RDF, não baseado em XML, também, são possíveis. XML não é um componente necessário do modelo RDF. Os conceitos fundamentais do RDF são: recursos, propriedades e expressões. Podemos pensar em um recurso como um objeto, uma "coisa" que quer ser falada. Os recursos podem ser autores, livros, editoras, lugares, pessoas, hotéis, salas, pesquisas e, assim por diante. Cada recurso possui uma URI, um Universal Resource Identifier. Uma URI pode ser uma nota de URL (Unified Resource Locator, ou endereço da Web) ou algum outro tipo de identificador único. URI esquemas foram definidas não só para a web-locais, mas também para diversos objetos, tais como os números de telefone, números de ISBN e localizações geográficas, ou seja, URI é o identificador de um recurso da Internet. As propriedades são um tipo especial de recursos, que descrevem as relações entre os recursos, por exemplo, escrito por, idade, título e assim por diante. Propriedades em RDF também são identificados por URIs (e na prática por URLs). Esta ideia de utilizar URIs, para identificar as coisas e as relações entre elas, é muito importante. Essa escolha nos dá uma definição global, um esquema de nomenclatura único. O uso desse sistema reduz, significativamente, o problema homônimo que tem atormentado a representação de dados distribuídos até agora. As expressões afirmam as propriedades dos recursos. A declaração é um objetoatributo-valor (tripla), consistindo de um recurso, uma propriedade e um valor. Os valores podem ser recursos ou literais. Literais são valores atômicos (strings), exemplo de uma expressão: David Billigton é o proprietário da página web considerar a tripla: A maneira mais simples de interpretar essa declaração é usar a definição e ( DavidBillington, Podemos pensar nessa tripla (x, P, y) como uma fórmula lógica P (x, y), em que o predicado binário P relaciona o objeto x para objeto y. Na verdade, RDF oferece apenas

36 35 predicados binários (propriedades). Observe que a propriedade "proprietário do site" é um dos dois objetos que são identificados através de URLs, enquanto o outro objeto é simplesmente identificado por uma string. A seguir, veja uma representação gráfica de uma tripla. Figura 8 - Repretação gráfica de uma tripla. Fonte: Antoniou e Harmelen (2004, p. 65). Uma segunda visão é baseada em grafos. A próxima figura mostra o gráfico correspondente à visão anterior. É um grafo direcionado com nós rotulados e arcos, os arcos são dirigidos a partir do recurso (o sujeito do enunciado) com o valor (o objeto da declaração). Este tipo de gráfico é conhecido na comunidade de Inteligência Artificial como uma rede semântica. Como já foi dito, o valor de uma declaração pode ser um recurso. Portanto, ele pode ser ligado a outros recursos. Figura 9 - Rede semântica. Fonte: Antoniou e Harmelen (2004, p. 65). Os grafos são uma poderosa ferramenta para a compreensão humana, mas a visão da Web Semântica exige representações acessíveis e processáveis por máquinas. Ainda, existe a possibilidade de uma terceira representação, com base em XML. De acordo com essa possibilidade, um documento RDF é representado por um elemento XML com a tag rdf. O conteúdo deste elemento é um número de descrições que utilizam rdf:description tags. Cada descrição faz uma afirmação sobre um recurso, que é identificada de três maneiras diferentes: um atributo about (sobre), que referencia um recurso existente; um atributo ID, criando um novo recurso; sem nome, criando um recurso anônimo;

37 36 sintaxe XML. A seguir, veja um exemplo simples de um documento RDF representado na <?xml version="1.0" encoding="utf-16"?> <rdf:rdf xmlns:rdf=" xmlns:mydomain=" <rdf:description rdf:about=" <mydomain:site-owner> David Billington </mydomain:site-owner> </rdf:description> </rdf:rdf> A primeira linha especifica o uso do XML, o elemento rdf:description cria uma expressão sobre o recurso Dentro de rdf:description, a propriedade é usada como uma tag e o conteúdo é o valor da propriedade. As descrições são dadas em uma certa ordem, em outras palavras, a sintaxe XML impõe uma serialização. A ordem das descrições (ou recursos) não é significativa de acordo com o modelo abstrato de RDF RDF Schema Geroimenko (2004, p. 133, tradução nossa) define o RDF Schema como: Também conhecido como RDF Linguagem de Descrição de Vocabulário (um nome oficial) ou RDFS (acrônimo). Parte do RDF que é uma extensão do RDF que fornece mecanismos para descrever classes de recursos relacionados e suas propriedades em um formulário que é processável por máquina. Em outras palavras, um RDF esquema fornece um vocabulário XML para expressar as classes e seus relacionamentos (superclasse-subclass) e, também, para definir as propriedades e associá-las com as classes. Documentos RDF Schema são escritos em RDF, usando a sintaxe XML.

38 37 A seguir, acompanhe como Antoniou e Harmelen (2004) o descrevem o RDF Schema. RDF é uma linguagem universal que permite aos usuários descrever recursos, usando seus vocabulários próprios. RDF não faz suposições sobre qualquer domínio de aplicação particular, nem define a semântica de qualquer domínio. É tarefa do usuário fazê-lo no RDF Schema (RDFS). O RDF Schema fornece primitivas de modelagem para expressar as informações. Uma decisão que deve ser tomada é qual linguagem formal será usada. O modelo primitivo do RDF Schema é definido, utilizando os recursos e propriedades. Essa escolha pode ser justificada pela figura, a seguir, em que é apresentado esse modelo. Lembrese de que RDF permite expressar qualquer declaração sobre qualquer recurso e que qualquer coisa que tenha um URI pode ser um recurso. Por exemplo, se quiser dizer que a classe professor é uma subclasse de membro do pessoal docente, devemos: 1. definir o recurso professor, membropessoaldocente e subclassede; 2. definir subclassede sendo uma propriedade; 3. escrever a tripla (subclassede, professor, membropessoaldocente). Todos esses passos fazem parte da capacidade do RDF. Então, um documento RDFS (que é um RDF Schema) é apenas um documento RDF baseado na sintaxe do XML.

39 38 Figura 10 - Camadas RDF e RDFS. Fonte: Antoniou e Harmelen (2004, p. 84). A seguir, serão apresentadas algumas tags do RDF Schema e logo em seguida um exemplo completo de um documento RDF Schema. Classes centrais (Core Class): rdfs:resource, a classe de todos recursos; rdfs:class, a classe de todas as classes; rdfs:literal, a classe de todas literais (strings); rdf:property, a classe de todas as propriedades; rdf:statement, a classe de todas as expressões (statements); Propriedades centrais (Core Properties) usadas para definir relacionamentos: rdf:type, relaciona um recurso com sua classe; rdfs:subclassof, relaciona uma classe com sua superclasse; rdfs:subpropertyof, relaciona uma propriedade com sua superpropriedade;

40 39 Documento RDFS: <rdf:rdf xmlns:rdf=" xmlns:rdfs=" <rdfs:class rdf:id="lecturer"> <rdfs:comment> The class of lecturers All lecturers are academic staff members. </rdfs:comment> <rdfs:subclassof rdf:resource="#academicstaffmember"/> </rdfs:class> <rdfs:class rdf:id="academicstaffmember"> <rdfs:comment> The class of academic staff members </rdfs:comment> <rdfs:subclassof rdf:resource="#staffmember"/> </rdfs:class> <rdfs:class rdf:id="staffmember"> <rdfs:comment>the class of staff members</rdfs:comment> </rdfs:class> <rdfs:class rdf:id="course"> <rdfs:comment>the class of courses</rdfs:comment> </rdfs:class> <rdf:property rdf:id="involves"> <rdfs:comment> It relates only courses to lecturers. </rdfs:comment> <rdfs:domain rdf:resource="#course"/> <rdfs:range rdf:resource="#lecturer"/> </rdf:property> <rdf:property rdf:id="istaughtby"> <rdfs:comment> Inherits its domain ("course") and range ("lecturer") from its superproperty "involves" </rdfs:comment> <rdfs:subpropertyof rdf:resource="#involves"/> </rdf:property> <rdf:property rdf:id="phone"> <rdfs:comment> It is a property of staff members

41 40 and takes literals as values. </rdfs:comment> <rdfs:domain rdf:resource="#staffmember"/> <rdfs:range rdf:resource="&rdf;literal"/> </rdf:property> </rdf:rdf> Ontologias Geroimenko (2004) define Ontologia como uma representação explícita do significado dos termos em um vocabulário e suas inter-relações. Em uma linguagem de definição de ontologias (tais como OWL ou RDF), uma ontologia é o conjunto de declarações ou outras definições semânticas para um domínio. Ontologias são uma das construções estruturais da arquitetura da Web Semântica. Várias tecnologias para WEB Semântica podem ser usadas para a construção de ontologias com diferentes níveis de expressividade. Note que, originalmente o termo ontologia foi usado em filosofia para se referir ao estudo dos tipos de entidades no mundo e de como elas estão relacionadas. Mas não seria correto continuar com a definição da ontologia, sem antes definir Taxonomias e Tesauros que são dois conceitos que serão necessários para o entendimento da ontologia. Uma taxonomia é definida pelo dicionário Merriam Webster (apud Breitman, 2006, p. 33, grifo do autor) como: O estudo dos princípios gerais de classificação científica: classificação sistemática; em particular, classificação ordenada de plantas e animais segundo relacionamentos naturais. Uma definição ligada à utilização de taxonomias em tecnologia da informação é proposta por Michael Daconta (apud Breitman, 2006, p. 34, grifo do autor): (Uma taxonomia é a) Classificação de entidades de informação no formato de uma hierarquia, de acordo com relacionamentos que estabelecem com entidades do mundo real que representam. Em resumo das idéias propostas pelos dois últimos autores, Breitman (2006, p. 34, grifo do autor) diz que uma taxonomia serve para classificar informação em uma hierarquia

42 41 (árvore), utilizando o relacionamento pai-filho (generalização ou tipo-de ). Acompanhe a figura a seguir. Figura 11 - Taxonomia lineana dos seres vivos. Fonte: Breitman (2006, p. 34). Para finalizar a definição de taxonomia, acompanhe a terminologia proposta por Lassila e McGuiness (apud Breitman, 2006, p. 35, grifo do autor). Em uma taxonomia, a generalização é o único tipo de relacionamento que existe entre seus termos. Através de uma taxonomia não se pode atribuir características ou propriedades aos termos (atributos) nem exprimir outros tipos de relacionamento (parte-de, causa-efeito, localização, associação, entre outros). Para isso, é necessário construir uma ontologia. Breitman (2006, p. 36) define tesauros como: Um tesauro reúne um conjunto de relacionamentos entre termos que estão organizados em uma taxonomia (que pode ou não ser semanticamente fraca). Dessa forma, podemos definir um tesauro como uma taxonomia adicionada de um conjunto de relacionamentos semânticos (equivalência, associação, entre outros) entre seus termos. Já, um tesauro é definido pelo padrão ANSI/NISO Monolingual Thesaurus Standard (apud Breitman, 2006, p. 36) como: Um vocabulário controlado organizado segundo uma ordem conhecida e estruturado de modo a disponibilizar claramente os relacionamentos de equivalência, associação, hierarquia e homônimos existentes entre termos. Esses relacionamentos devem ser evidenciados através de identificadores padronizados para os relacionamentos. (...) O objetivo de um tesauro é facilitar a recuperação e obter consistência na indexação de documentos escritos. Breitman (2005) reforça quando diz que, em um tesauro, os tipos de relacionamentos entre seus termos são finitos e bem definidos. E que esse conjunto de relacionamentos é bem útil na criação de vocabulários, mas não é suficiente para modelar outros aspectos do mundo real. E que, muitas vezes, é necessário relacionar conceitos,

43 42 utilizando relacionamentos do tipo parte-de, membro-conjunto, fase-processo, lugar-região, material-objeto, causa-efeito, entre muitos outros. E conclui, afirmando que um tesauro não permite aos seus usuários a criação desses novos tipos de relacionamento, para tal é necessário utilizar uma ontologia. Para concluir a definição de um tesauro, acompanhe o exemplo da figura a seguir. Figura 12 - Relacionamento semântico de um tesauro. Fonte: Breitman (2006, p. 36, adaptada). Koepsell (2010) define a ontologia de uma forma interessante, somo sendo a primeira ciência, envolvendo a descoberta de categorias e encaixando objetos nestas de um jeito que faça sentido. Por exemplo, quando fazemos uma lista de coisas para fazer ou de discos ou livros que pretendemos comprar, ou vídeos que queremos alugar, estamos classificando, estamos nos engajando na ontologia rudimentar. Ao priorizar os itens de uma lista, estamos atribuindo relações entre várias coisas. A ontologia pode ser bastante simples ou bastante complexa. Ela se torna mais complexa, até mesmo assustadora, quando começamos a lidar com grandes domínos de objetos com relações complexas entre eles. Por exemplo, descrever os processos e componentes de uma empresa, mesmo pequena, pode dar dor de cabeça, dor essa causada por uma ontologia complexa.

44 43 Daconta (2003, p. 181, tradução nossa) define a ontologia basicamente como: ontologias são sobre vocabulário e seus significados, com explícita, expressiva e bem definida semântica, possivelmente, interpretável por máquina. Acompanhe, na figura a seguir um exemplo de uma simples ontologia de uma área de recursos humanos, criada por uma ferramenta utilizada na geração de ontologias. Figura 13 - Exemplo gráfico de ontologia: recuros humanos. Fonte: Daconta (2003 p. 183). Repare que existem classes como Person, Organization, e Employee. Em uma ontologia, esses são chamados conceitos, pois se pretende que esses correspondam aos conceitos mentais que seres humanos possuem quando entendem uma parte específica do conhecimento, área de assunto ou domínio, tal como o domínio dos recursos humanos. Esses conceitos e relacionamentos entre eles são geralmente implementados como classes, relações, propriedades, atributos e valores. Daconta (2003), ainda destaca, que imediatamente, pode-se perceber que uma ontologia tenta capturar o significado (o que é chamado de semântica) de uma área particular

45 44 ou área de conhecimento que corresponde ao que um ser humano sabe sobre esse domínio. Uma ontologia, também, caracteriza esse significado em termos de conceito e seus relacionamentos. Acompanhe como o consórcio W3C (apud Breitman, 2006, p 40-42) estabeleceu alguns requisitos para uma linguagem de ontologia de modo a guiar o desenvolvimento dentro do contexto da web semântica. Esses requisitos são: ontologias devem ser artefatos distintos: ontologias devem ser objetos possuidores de identificadores únicos, como referências do tipo URI; termos de ontologias devem poder ser referenciados de forma não-ambígua através de URIs: dois termos em ontologias devem possuir identificadores absolutos. Deve ser possível identificá-los de forma não-ambígua através de uma referência do tipo URI; ontologias devem poder ser explicitamente estendidas: ontologias devem poder ser utilizadas para estender outras ontologias, de modo a realizar o reuso de termos ao mesmo tempo em que adicionam novas classes e propriedades; comprometimento com uma ontologia: recursos devem ser alocados explicitamente a ontologias, identificado de forma precisa em que estão localizadas suas definições; metadados relativos à ontologias: a linguagem de ontologia deve fornecer informações no formato de metadados sobre cada ontologia, tais como autor e data de publicação. A linguagem deve oferecer um conjunto-padrão de metadado, que podem ou não ser o conjunto fornecido pelo padrão Dublin Core; informação sobre versionamento: a linguagem deve fornecer mecanismos capazes de realizar a comparação e a relacionar diferentes versões da mesma ontologia, explicitar compatibilidade reversa e a habilidade de excluir novos itens, caso este não sejam compatíveis com versões anteriores; primitivas para definição de classes: a linguagem deve ser capaz de expressar definições complexas de classes da ontologia. Deve incluir, porém não está limitada a, subclasses e combinações de expressões de classe; primitivas para a definição de propriedades: a linguagem deve ser capaz de expressar definições de propriedades. Deve incluir, porém não está limitada a subpropriedades, restrição de domínio (domain) e escopo (range), transitividade e propriedades inversas;

46 45 tipos de dados (datatypes): a linguagem deve fornecer um conjunto-padrão para tipos de dados. Esses tipos podem ser baseados nos tipos de dados fornecidos pelo XML Schema; equivalência entre propriedade e classes: a linguagem deve incluir mecanismos capazes de estabelecer duas classes ou duas propriedades são equivalentes; equivalência individual: a linguagem deve incluir mecanismos para estabelecer que dois identificadores representam um mesmo indivíduo. Dada a natureza distribuída da própria Web, é provável que mais de um identificador seja atribuído a um mesmo indivíduo. A utilização de uma URL padrão não resolve o problema, pois alguns indivíduos podem possuir múltiplas URLs, tais como uma pessoa que possui uma home page pessoal e outra profissional ou múltiplos endereços de ; nomes locais únicos: de modo geral, a linguagem não vai assumir que os nomes locais sejam únicos. Isto é, não consideramos que identificadores distintos apontem necessariamente para indivíduos distintos (vide o requisito anterior). No entanto, existem casos que é de interesse garantir que essa condição seja validada. A linguagem deve fornecer esse mecanismo; acrescentar informação a sentenças: a linguagem deve fornecer uma maneira de anotar sentenças com informações adicionais, tais, como fonte, hora, nível de confiabilidade, entre outras. A linguagem não precisa fornecer um conjunto-padrão de propriedades a ser utilizado para essa função, mas prover um mecanismo que permita que usuários sejam capazes de fazê-lo; classes como instâncias: a linguagem deve fornecer suporte ao tratamento de classes enquanto instâncias, isto porque um mesmo conceito pode ser considerado uma classe ou um indivíduo, dependendo da perspectiva do usuário da ontologia; tipo complexos de dados: a linguagem deve oferecer suporte à identificação e à utilização de tipos de dados complexos e/ou estruturados. Esses podem ser utilizados para especificar datas, pares de coordenadas e endereços, entre outros; restrições de cardinalidade: a linguagem deve oferecer suporte à especificação de restrições à cardinalidade de determinadas propriedades. Essas restrições devem ajustar os limites inferiores e os superiores do número de objetos a que cada objeto pode se relacionar através dessa propriedade; etiquetas que possam ser visualizadas pelo usuário: a linguagem deve oferecer suporte à especificação de múltiplas opções de etiquetas (labels) para cada objeto da

47 46 ontologia. Esse mecanismo pode ser utilizado na visualização da ontologia em diversos idiomas; oferecer suporte a múltiplos caracteres: a linguagem deve oferecer suporte a conjuntos de caracteres utilizados em vários idiomas; oferecer suporte a sequências únicas de caracteres em Unicode: em determinada codificação de caracteres, por exemplo, codificações baseadas em Unicode, existem alguns casos em que duas sequências de caracteres diferentes podem parecer idênticas. Nesses casos, a expectativa dos usuários é de que essas sequências tenham valores de comparação idênticos. Um exemplo é o caso do ç (c cedilha). O padrão recomendado pelo consórcio W3C, para o tratamento desse tipo de problema, é adotar a normalização para o padrão Unicode Normal Form C. A seguir, veja alguns serviços que se beneficiarão com a web semântica Agentes Agentes de software terão um papel-chave na construção da Web Semântica. Segundo Tim Bearnes Lee, Hendler e Lassila (2001), os agentes de software serão os responsáveis por coordenar tarefas de busca, comparação e negociação na rede, reduzindo enormemente o esforço realizado pelos usuários. Uma distinção importante é que os agentes na Web Semântica não vão agir de modo totalmente autônomo. Eles vão realizar a parte pesada de investigação, porém vão apresentar os resultados ao usuário, para que este tome suas decisões. Eles agirão como assistentes. Antoniou e Harmelen (2004, p. 14) definem os agentes da seguinte maneira: Agentes são porções de software que trabalham de forma autônoma e pro ativa. Um agente pessoal na Web Semântica vai receber uma lista de tarefas e preferências de uma pessoa, procurar recursos na rede, se comunicar com outros agentes, comparar informações, selecionar algumas opções e apresentar uma lista de soluções para o usuário. A figura, a seguir, ilustra como é feita a busca e a seleção atualmente e de como ficará com a web semântica.

48 47 Figura 14 - Busca e seleção de hoje e futuramente. Fonte: Antoniou ; Harmelen (2004, p. 15). Os autores Antoniou e Harmelen (2004) complementam dizendo que os agentes não substituirão os usuários humanos na web semântica e que, também, não tomarão decisões por eles. Em muitos casos, senão, na maioria das vezes, o seu papel será de recolher e organizar as informações e apresentar opções ao usuário para que ele possa fazer a escolha. Os agentes da web semântica farão uso de todas as tecnologias a seguir: metadados serão usados para identificar e extrair informações dos recursos web; ontologias serão usadas para ajudar nas pesquisas web, para interpretar as informações encontradas e na comunicação de outros agentes; lógica será usada para processar as informações encontradas e tirar conclusões.

49 Ferramentas Veja ferramentas que atualmente já estão disponíveis para o desenvolvimento de algumas tecnologias usadas na web semântica, reunidas por Breitman (2006): OilEd: editor simples de ontologias; OilViz: plugin do OilEd, é um visualizador de hierarquias de classes; FaCT: verificador de consistência de ontologias criadas através do OilEd; Protégé2000: ambiente para criação e edição de ontologias e bases de conhecimento; OntoViz: uma das opções de plugins para visualização de ontologias desenvolvidas pela ferramenta Protege. Outras opções são TGViz, Jambalaya, PROMPTViz; DC.dot: editor de metadados; SNOBASE: da IBM, é um sistema de gerenciamento de ontologias; Chimaera: sistema de software que apóia o usuário na criação e na manutenção de ontologias distribuídas na web. Sesame: é um repositório de dados e mecanismo de busca para dados em formato RDF-S; OntoEdit: editor de ontologias. KAON: é uma infra-estrutura de gerência de ontologias voltada ao domínio de negócios; OWL Validator: essa ferramenta verifica códigos em OWL. PhotoStuff: desenvolvida de modo a prover marcação semântica de imagens; SWOOP: Editor de ontologia que utiliza a metáfora de browser para exibir seu resultado; API JENA: API Java desenvolvida para dar suporte à implementação de aplicativos para a Web Semântca; Pellet: mecanismo de inferência para OWL DL; RDPLPlus: browser criado para apresentar os resultados de pesquisas em grafos RDF.

50 Benefícios De acordo com Antoniou e Harmelen (2004) o objetivo da web semântica é permitir que os sistemas de gerenciamento de conhecimento se tornem muito mais avançados. Breitman (2006) destaca algumas áreas que se beneficiarão com a web semântica, como o comércio eletrônico B2C (Business to Consumer) e no B2B (Business to Business), Gerenciamento de conhecimento e os usuários finais. Conforme o quadro a seguir: Área B2C B2B Gerenciamento de conhecimento Usuários finais Quadro 1 - Benefícios da web semântica. Fonte: Breitman (2006, adaptada). Benefícios - Informações sobre os produtos, preços e fretes serão extraídos corretamente, em um único formato que vai permitir que sejam comparados com os requisitos do usuário. - Informações relativas à reputação do fornecedor poderão ser obtidas em outros sites, que fazem uma classificação, independente da confiabilidade de fornecedores on line. - A programação das preferências junto aos agentes pessoais será facilitada. - Agentes sofisticados poderão comparar preços em sites de leilão e realizar lances em nome de seus usuários. - Sejam definidas linguagens que apresentem modelos de dados bem definidos que contenha primitivas expressivas o suficiente para definir, mapear e trocar informações relativas a produtos. - Ontologias-padrão terão que ser desenvolvidas para dar suporte às várias áreas de negócio. - Serviços de tradução eficiente necessários nas áreas em que ontologias-padrão não estivessem disponíveis. - O conhecimento poderá ser organizado em espaços conceituais de acordo com seu significado. Essa organização será assistida por máquinas que serão capazes de fazer a seleção e a filtragem da informação. Ontologias serão cruciais para essa tarefa. - Ferramentas automatizadas vão ser responsáveis pela verificação de consistência e mineração de novas informações. - Mecanismos de busca baseados em palavras-chave serão substituídos por queries sofisticadas. A informação requisitada poderá ser recuperada, extraída e apresentada de maneira amigável. - Uma das grandes promessas da web semântica é viabilizar agentes pessoais que possam tomar conta de várias tarefas para seus usuários.

51 Mecanismos de busca Quando você decide procurar uma informação na internet, a primeira coisa que faz é: abrir seu navegador, acessar seu site de busca favorito, digitar o termo chave para a pesquisa, clicar no botão Pesquisar e quando os resultados são apresentados, você sai clicando nos links parecem conter as informações desejadas. Essa que é uma tarefa tão comum na vida dos usuários da internet que talvez, passe despercebido o complexo funcionamento dessa ferramenta tão presente em nossas vidas. Eles nos ajudam a encontrar informações armazenadas em outros sites e segundo o COMOTUDOFUNCIONA (2010), existem diferenças na maneira como os vários mecanismos de busca funcionam, mas eles todos realizam três tarefas básicas: eles buscam na internet, ou selecionam pedaços da Internet, com base em palavras importantes; eles mantêm um índice das palavras que encontram, e onde eles as encontram; eles permitem que os usuários procurem palavras ou combinações de palavras localizadas nesse índice. A busca na internet é feita com a utilização de softwares chamados de crawlers, aranhas ou robôs, eles, basicamente, pesquisam o conteúdo das páginas web e constroem uma base de dados com as informações coletadas, após isso, indexam o conteúdo armazenado para que as pesquisas dos usuários sejam feitas em cima desses índices. A seguir, acompanhe uma ilustração que exemplifica como as aranhas da web trabalham.

52 51 Figura 15 Funcionamento de uma web aranha. Fonte: Esse é o mecanismo por trás da maioria dos sistemas de busca. As próximas seções serão listadas alguns dos mecanismos de busca mais conhecidos.

53 Mecanismos de busca comerciais Hoje em dia, existe uma diversidade muito grande sites que fornecem serviços de busca. Acompanhe a seguir, algumas informações apresentadas por Branckaute (2010). 93% dos usuários da internet usam mecanismos de busca para achar e acessar websites. 75% dos usuários nunca passam da primeira página de resultados. 57% dos usuários da internet pesquisam na web todos os dias. 46% dessas pesquisas são por produtos, informações ou serviços. O mesmo autor, ainda apresenta diversos mecanismos de busca que surgiram a partir de 1990 (A ilustração completa pode ser acompanhada no anexo A), acompanhe alguns deles, a seguir (BRANCKAUTE, 2010, tradução nossa): 1990 Archie: primeiro mecanismo de busca, o FTP hospedava um índice de diretórios para download WebCrawler: teve o primeiro mecanismo de busca que fornecia pesquisa de texto completa. Foi adquirida pela Excite em 1995 e pela InfoSpace em Atualmente, WebCrawler é um mecanismo de busca que combina todos os resultados das pesquisas do Google, Yahoo e outros Altavista: primeiro a fornecer consultas em linguagem natural, ele possui dicas de pesquisa e permite aos usuários adicionar ou remover uma URL após 24hs da publicação. Em 1996 se tornou o fornecedor exclusivo de resultados de pesquisas para o Yahoo. Atingindo 80 milhões de pesquisas por dia em Yahoo: sua busca começou como uma coleção de páginas web, depois evoluiu para um motor de busca com uma descrição sintética de qualquer URL fornecido Ask: ele fornece pesquisa em linguagem natural, com editores humanos pesquisando correspondências Google: lançado em 1998, possuía a tecnologia de PageRank (Ranque de Página), foi rapidamente escolhido pela AOL e Yahoo como parceiro de pesquisa. Foi adicionando novas características durante o ano de 2005 se tornando o mais importante mecanismo de busca do mundo.

54 MSN: se baseou em outro mecanismos de busca como Overture, Looksmart e Inktomi. Foi aprimorado em 2004 com melhorias baseadas na tecnologia do Altavista. Foi oficialmente substituído pelo Bing em junho de SearchMe: é um mecanismo de busca visual, organizou os resultados como fotografias dos web sites. Após atingir 1.8 milhões de visitantes por mês em 2009, a companhia fechou Bing: atual mecanismo de busca da Microsoft, ele fornece vídeos, sugestões de pesquisa e outras característica, como seus maiores concorrentes Mecanismo de busca semântica O que é Busca Semântica? Uma resposta bastante interessante dada por Capri, Garrido e Duarte (2009) foi: A busca semântica é a habilidade dos buscadores de saber intuitivamente qual a especialidade de seu site e analisar seu conteúdo sem levar em conta as palavras chave descritas em seu conteúdo.. Ramos publicou, em 2009, outra resposta que ajuda a responder ao questionamento feito anteriormente. [...] mecanismo de busca que não faz apenas uma mera pesquisa por palavras, mas que reconhece o significado das expressões inseridas em determinado contexto. O método utilizado para criar a base de conhecimento dos sistemas de busca semântica, são os mesmos utilizados pelos sites convencionais, basicamente, o que diferencia um do outro é a forma como a informação pesquisada é interpretada e, como sua pesquisa é realizada em sua base. Agora, veja alguns dos mecanismos de busca semântica que já estão disponíveis pela internet. Hakia: é um motor de busca semântica que está focado na qualidade e experiência do usuário. Exclusivo em hakia, uma única consulta traz um conjunto completo de resultados em todos os segmentos. Disponível em

55 54 Google Squared: é uma ferramenta de pesquisa experimental que coleta fatos na web e apresenta em uma coleção organizada, similar a uma planilha. Disponível em Swoogle: é um utilitário de pesquisa para a Web Semântica na Web. Swoogle rasteja o World Wide Web para uma classe especial de documentos web chamado de documentos de Web Semântica, que são escritos em RDF, atualmente, provê os serviços seguintes: busca ontologias de Web Semântica; busca dados de exemplo de Web Semântica; busca termos de Web Semântica, isto é, URIs onde estiveram definidas classes e propriedades; provêem metadados de documentos de Web Semântica; arquivo de versões diferentes de documentos de Web Semântica. Disponível em SenseBot: é um motor de busca semântica, que gera um resumo de texto de várias páginas da Web sobre o tema de sua pesquisa. Ele usa de mineração de textos e sumarização multi documentos para extrair sentido de páginas da Web e apresentá-lo ao usuário de forma coerente. A "nuvem Semântica" de conceitos é exibida acima do sumário, que permite dirigir o foco dos resultados. Disponível em Theseus: seu principal objetivo é entender a semântica de um termo de busca para que os resultados sejam exibidos em contextos específicos, e não apenas com base nas palavras digitadas. Disponível em Yebol: usa combinação de algoritmos e conhecimento humano e está em fase beta, mas já realiza buscas em mais de 10 milhões de expressões. Disponível em Powerset: mecanismo que promete compreender melhor a linguagem humana, natural, determinada pela valoração das palavras contextualizadas dentro do enunciado. Disponível em

56 55 3 METODOLOGIA 3.1 CARACTERIZAÇÃO DO TIPO DE PESQUISA Conforme as classificações das pesquisas descritas por Silva e Menezes (2005), este trabalho pode ser classificado do ponto de vista de sua natureza como uma pesquisa aplicada, com o objetivo de gerar conhecimentos para aplicação prática e voltada à solução de problemas específicos. Já, do ponto de vista da abordagem do problema, como uma pesquisa qualitativa. Considerando a relação dinâmica entre o mundo real e o sujeito. Tendo o mundo real como a fonte direta para coleta de dados. Sendo também classificada sob o ponto de vista dos procedimentos técnicos como pesquisa bibliográfica. 3.2 ETAPAS METODOLÓGICAS As etapas para que se atinja o objetivo final deste trabalho são: definição do tema, identificação do problema, definição dos objetivos e elaboração da justificativa; pesquisa bibliográfica para conceituar assuntos que fomentam o trabalho a partir dos principais autores do ramo; caracterização da pesquisa, definição de etapas e arquitetura para solução proposta ao problema encontrado e suas delimitações; definição do escopo do projeto, modelagem dos processos, levantamento de requisitos e elaboração dos casos de uso;

57 56 pesquisa, escolha e estudo de ferramentas disponíveis para o desenvolvimento do protótipo; desenvolvimento do protótipo e testes; testes e validação da aplicação; conclusão da pesquisa e apresentação do projeto. 3.3 PROPOSTA DA SOLUÇÃO Acompanhe, a seguir, a proposta da solução para o funcionamento do protótipo.

58 57 Figura 16 - Proposta da solução. Fonte: Produzida pelo autor. Acompanhe, a seguir, como acontecerá o funcionamento do sistema:

59 58 o usuário acessa ao site de busca e informar a palavra-chave que deseja pesquisar; a aplicação fará uma busca semântica em uma base de conhecimento própria sobre a palavra-chave informada pelo usuário; em paralelo o sistema ficará percorrendo os intermináveis links da internet em busca de conteúdos que se encaixem em um tesauro previamente fornecido; após a busca a aplicação, apresentará ao usuário as possibilidades para que ele selecione o link desejado. O funcionamento da busca ficará transparente ao usuário, como os sites de busca existentes também o são. A diferença será quanto ao conteúdo apresentado, pois, enquanto os mecanismos existentes apresentam resultados irrelevantes, esse pretende apresentar somente os resultados relevantes à palavra-chave pesquisada. 3.4 DELIMITAÇÕES Este trabalho tem como objetivo principal desenvolver um protótipo de uma aplicação voltada à web semântica, essa aplicação se resume a um site de busca que simulará pesquisas, tendo por base a web 3.0 como uma realidade. Aqui, foram apresentadas diversas tecnologias que serão de fundamental importância à nova geração da web, mas o intuito deste trabalho não visa ao aprofundamento no estudo em nenhuma delas e, sim o entendimento de seu funcionamento básico, para que este conhecimento seja aplicado na solução do problema proposto.

60 59 4 MODELAGEM DO SISTEMA Este capítulo tem a proposta de abordar o modelo para a solução da implementação do sistema de busca baseado na web semântica. Sendo assim, está disposto em subseções que descrevem inicialmente as técnicas utilizadas para a proposta de solução, apresentando a metodologia de projeto Iconix, a qual apoiará o desenvolvimento de modelos com a Unified Modeling Language (UML). 4.1 ICONIX Segundo Bona (2002), a metodologia Iconix é na realidade um conjunto de métodos da orientação a objeto unificados em um processo simplificado, dando cobertura ao ciclo de vida do desenvolvimento do software e utilizando a linguagem UML (Unified Modeling Language) para descrever as suas etapas. O Iconix foi a metodologia escolhida para auxiliar nas etapas de modelagem e desenvolvimento do sistema, por ser uma metodologia simples e prática. Juntamente com a metodologia escolhida também será utilizada a UML, que será descrita a seguir. O ICONIX é composto pelas seguintes principais fases como descreve Maia (2010): 1. modelo de domínio - é uma parte essencial do processo de ICONIX. Ele constrói uma porção estática inicial de um modelo que é essencial para dirigir a fase de design a partir dos casos de uso; 2. modelo de caso de uso - é usado para representar as exigências do usuário seja um sistema novo (partindo do nada) ou baseado em um sistema já existente. Ele deve detalhar de forma clara e legível, todos os cenários que os usuários executarão para realizar alguma tarefa; 3. análise robusta - tem como objetivo, conectar a parte de análise com a parte de projeto assegurando que a descrição dos casos de uso estão corretas, além de descobrir

61 60 novos objetos através do fluxo de ação. A Análise Robusta focaliza construir um modelo analisando as narrativas de texto de caso de uso, identificando um conjunto de objetos que participarão de cada caso de uso; 4. diagrama de seqüência - tem como objetivo construir um modelo dinâmico entre o usuário e o sistema. Para tal, devemos utilizar os objetos e suas interações identificadas na análise robusta, só que agora, temos por obrigação o detalhamento de cada fluxo de ação; 5. diagrama de classes - é o modelo de domínio que foi atualizado ao longo das fazes do ICONIX e representa as funcionalidades do sistema de modo estático sem a interação do usuário com o sistema. A figura a seguir exemplifica as etapas descritas acima. Figura 17 - Visão macro do Iconix. Fonte: Bona (2002). Estes, serão os modelos utilizados e apresentados para este trabalho.

62 UML UNIFIED MODELING LANGUAGE Segundo Esmin (1999), a UML foi desenvolvida por três amigos Booch, Rumbaugh e Jacobson através da junção dos métodos criados individualmente pelos autores com vistas à unificação de uma linguagem que pudesse interagir com as diversas visões que a UML apresenta. A figura a seguir mostra a evolução da UML. Figura 18- Linha do tempo da evolução da UML. Fonte: Adaptado de OMG (2007). Lima (2005) explica que a UML possui cinco visões e atende aos diferentes níveis da construção de um sistema. São elas: 1. visão de caso de uso; 2. visão lógica; 3. visão de processo; 4. visão de implementação; e 5. visão de implantação. Para Furlan (1998, p. 33), a UML é uma linguagem padrão para especificar, visualizar, documentar e construir artefatos de um sistema, e pode ser utilizada com todos os processos ao longo do ciclo de desenvolvimento e através de diferentes tecnologias de implementação. Cada visão da UML emprega diagramas específicos para atender aos seus objetivos. Em função de ser utilizada aqui a metodologia de desenvolvimento de software Iconix, este trabalho limitar-se-á ao uso de apenas alguns diagramas, que já foram descritos anteriormente.

63 MODELOS E DIAGRAMAS A seguir o leitor encontrará os modelos e diagramas produzidos durante a etapa de modelagem do sistema. Alguns dos itens abaixo não estão previstos para a metodologia escolhida, mas serão inseridos com o intuito de complementar o processo da modelagem Diagrama de atividades Utilizado para demonstrar o fluxo seguido durante a execução do sistema.

64 63 Figura 19 Diagrama de Atividade. Fonte: Produzido pelo autor Modelo de casos de uso Utilizado para representar as funcionalidades do sistema.

65 64 Figura 20 Casos de uso do sistema. Fonte: Produzido pelo autor. Acompanhe a descrição dos casos de uso: CSU01 - Pesquisa: Após acessar o endereço do site de busca, o usuário deverá inserir no campo apropriado a palavra que deseja pesquisar, e em seguida pressionar o botão para efetuar a busca. O sistema consultará em sua base de dados as ocorrências para o assunto pesquisado e logo em seguida retornará ao usuário o resultado da pesquisa (CSU02) (Atores: Usuário e Sistema). CSU02 - Apresentação do Resultado: O sistema apresentará o resultado da pesquisa do usuário após a consulta em sua base de dados (Atores: Usuário e Sistema). CSU03 - Alimentação da Base de Dados: O sistema ficará em constante busca através da internet, tentando localizar o máximo de endereços que se encaixem ao conteúdo pesquisado. Com isso a base de dados do sistema ficará cada vez maior (Atores: Sistema). CSU04 - Atualização dos Índices: Com o crescimento da base de dados do sistema, este será responsável pela a atualização dos novos índices que deverão ser criados com o crescimento da base de dados (Atores: Sistema).

66 Diagrama de Pacotes Apresenta os pacotes do sistema. Figura 21 Diagrama de Pacotes com suas respectivas classes. Fonte: Produzido pelo autor Diagramas de Robustez Apresenta a conexão entre as entidades, controles e objetos.

67 66 Figura 22 Análise robusta do processo de pesquisa. Fonte: Produzido pelo autor. Figura 23 Análise robusta do processo de varredura da internet. Fonte: Produzido pelo autor Diagramas de Seqüência O Diagrama de Seqüência tem como objetivo construir um modelo dinâmico entre o usuário e o sistema. Utilizando os objetos e suas interações identificadas na análise robusta, só que agora, é exigido o detalhamento de cada fluxo de ação, Maia (2005).

68 Figura 24 Diagrama de Seqüência do Processo de Pesquisa. Fonte: Produzido pelo autor. 67

69 68 Figura 25 Diagrama de Sequência do processo de varredura da internet. Fonte: Produzido pelo autor Diagramas de Classe Estes diagramas representam as funcionalidades do sistema de uma forma estática, sem a interação do usuário com o sistema.

70 69 Figura 26 Diagrama do pacote principal. Fonte: Produzido pelo autor. Figura 27 Digrama do pacote atualização. Fonte: Produzido pelo autor. Figura 28 Diagrama do pacote controle. Fonte: Produzido pelo autor.

71 Figura 29 Diagrama do pacote webcrawler. Fonte: Produzido pelo autor. 70

72 Figura 30 Diagrama do pacote model. Fonte: Produzido pelo autor. 71

73 72 5 DESENVOLVIMENTO DA PROPOSTA Neste capítulo, encontram-se a descrição do funcionamento do sistema de busca, as tecnologias utilizadas para o desenvolvimento da proposta, bem como a validação e apresentação do sistema. 5.1 SOLUÇÃO PROPOSTA A solução para o problema descrito anteriormente consiste no fornecimento de um serviço que permita que os usuários façam pesquisas em uma base de conhecimento de um determinado assunto. Para este projeto, foi utilizado um tesauro para montar a base de conhecimento devido à sua facilidade de manuseio e não complexidade estrutural, e não uma ontologia, como a web semântica sugere. O tema utilizado na construção da base de conhecimento foi sobre botânica, este foi escolhido por ser um tema interessante e porque todos conhecem pelo menos um nome de alguma planta. Facilitando assim o entendimento dos resultados apresentados. A classificação de um elemento dentro do tesauro encontra-se dividida em três grupos distintos, que são: nome científico, sinonímia ou sinônimo e nome popular. - Nome Científico: este conjunto é representado por um único elemento, formado por um nome simples ou composto. - Sinonímia ou Sinônimo: este conjunto contém os possíveis sinônimos existentes para o nome científico. Ele é formado por zero ou mais elementos que são representados por um nome simples ou composto. - Nome Popular: este conjunto é composto pelos nomes populares dados a cada elemento do grupo. Ele é formando por um ou mais elementos, que são representados por um nome simples ou composto. A aplicação está dividida em duas partes, a primeira é responsável por pesquisar no conteúdo de diversos sites da internet, procurando por informações que representem o tema identificado pelo tesauro. Para cada coincidência identificada, são armazenadas algumas

74 73 informações presentes em cada página pesquisada. Esse é um processo que sempre ficará ativo, para que a base de conhecimento possa se expandir com o decorrer do tempo. A segunda parte fica responsável pela pesquisa em cima das informações geradas pela primeira. Ela é composta por uma interface web onde o usuário informará o termo que deseja pesquisar e, após executar a pesquisa, os resultados serão apresentados. A apresentação dos resultados está divida em quatro partes, onde serão dispostas as informações contidas no tesauro e as ocorrências encontradas para o nome científico, a sinonímia ou sinônimo e os nomes populares. No próximo tópico, encontram-se as tecnologias utilizadas e em quais funções elas foram empregadas. 5.2 ARQUITETURA DA SOLUÇÃO Para a construção do sistema foram utilizadas diversas tecnologias e ferramentas que são apresentadas na próxima figura e em seguida serão descritas individualmente na seção específica.

75 74 Figura 31 Arquitetura da Solução. Fonte: Produzido pelo autor. Como pode ser acompanho pela figura, o sistema é composto por um servidor de aplicação, ou seja, um computador conectado à internet. Nele está instalado o servidor web Apache Tomcat, que é responsável por fornecer aos usuários um meio de acesso ao mecanismo de busca. A solução foi toda desenvolvida em Java e fez uso da API Lucene, que também foi desenvolvida na mesma linguagem utilizada para a aplicação, também foi utilizado um dicionário (tesauro) com os termos utilizados para construir a base de conhecimento.

76 FERRAMENTAS UTILIZADAS Esta seção tem o intuito de expor as ferramentas utilizadas para o desenvolvimento da solução proposta. A figura a seguir apresenta as ferramentas utilizadas para o desenvolvimento da aplicação. Figura 32 Ferramentas Utilizadas. Fonte: Produzido pelo autor. Plataforma Java: foi utilizada para o desenvolvimento da solução a linguagem de programação Java, da Sun Microsystems (JAVA TECHNOLOGY, 2007), em função dos fatores de portabilidade, da grande quantidade de Applications Programming Interfaces (API), dos pacotes que auxiliam no desenvolvimento e que estão disponíveis na comunidade de desenvolvedores e da experiência dos autores deste trabalho com a tecnologia. LUCENE: é um projeto com código aberto sob as diretrizes da Apache Foundation e foi desenvolvido por Doug Cutting, que disponibilizou sua versão 1.0 em outubro de As duas principais ações do LUCENE são, a indexação e a busca. Na primeira são extraídas do documento as palavras e o índice de relevância correspondente, informações que organizam os arquivos do índice. Já no processo de busca por meio do termo solicitado pelo usuário, o framework verifica no índice em quais arquivos existe maior grau de similaridade, retornando a lista dos documentos ordenados por ordem de relevância.

77 76 Tomcat: A escolha por este servidor foi devido ao seu tamanho e à sua facilidade de configuração, tendo em vista que a aplicação não necessitaria de algo mais robusto. O servidor Web Tomcat foi desenvolvido pelo projeto Apache Jakarta como software livre com código aberto (Open Source), sendo utilizada no trabalho a versão 6 (seis), disponível para download no site da Apache. IDE Eclipse: software livre com código aberto (Open Source), em sua versão 3.3, também conhecida como Europa. O Eclipse possibilita que o seu usuário utilize uma série de aplicativos (plugins), cuja função é adicionar recursos específicos, tais como um editor de código para JavaScript. Utilizou-se apenas um desses plugins para iniciar e finalizar o servidor Web Tomcat. Dicionário (tesauro): Foi criado um dicionário de termos sobre um determinado assunto, no caso da solução proposta, o escolhido foi a botânica, tais termos foram utilizados como referência, na pesquisa e construção da base de conhecimento gerada pelo mecanismo de busca. Todas as informações constantes nele foram agrupadas de diversos sites encontrados na internet. Os elementos do dicionário estão classificados pela família de planta a qual pertence, e cada um deles possui um nome científico, um conjunto de zero ou mais sinonímias, um conjunto de um ou mais nomes populares, família, ciclo de vida e pais de origem. Sendo que para a Solução proposta somente foram utilizados os três primeiros atributos. Mozilla Firefox: navegador web bastante conhecido entre os usuários da internet, é uma aplicação leve e veloz. Foi bastante utilizada durante todo o desenvolvimento e também para testes. Enterprise Architect: Ferramenta para modelagem de sistemas que usa a linguagem UML, de licença proprietária. A versão empregada para a modelagem dessa solução foi a 6.0, e foi utilizada a licença acadêmica para o uso da ferramenta. Google: Mecanismo de busca bastante conhecido e utilizado na internet. Esta ferramenta contribuiu bastante para todas as etapas do projeto, sendo citada em alguns exemplos e também na validação da aplicação.

78 APRESENTAÇÃO DO SISTEMA Neste tópico será feita a apresentação do sistema. Após cada figura, haverá uma breve explicação sobre os elementos que a compõem. Figura 33 Página Principal do Sistema de Busca. Fonte: Produzido pelo autor. Está é a página principal do sistema, ao acessar a URL, o usuário irá visualizá-la. O elemento número 1 (um) representa o campo de texto, onde poderá ser digitado o termo que será pesquisado. O número 2 (dois) identifica o botão para a execução da pesquisa. Os links identificados pelo número 3 (três) Sobre o autor e Tesauro possuem informações sobre o autor, primeiro, e a relação completa dos termos que poderão ser encontrados na pesquisa, segundo.

79 78 Figura 34 Pesquisa Parte 1. Fonte: Produzido pelo autor. Nesta segunda tela, foi realizada uma pesquisa por um determinado termo, após executar a pesquisa, serão apresentados os resultados encontrados. A apresentação dos resultados se encontra dividida em cinco seções. A primeira representa as informações presentes no tesauro, ou seja, todas as palavras que farão parte da pesquisa semântica. A segunda parte contém os resultados que foram encontrados com os nomes populares que o elemento do tesauro possui. O número cinco apresenta a quantidade de resultados obtidos com o termo pesquisado. A próxima figura apresentará as outras seções.

80 79 Figura 35 Pesquisa Parte 2. Fonte: Produzido pelo autor. Na segunda parte da pesquisa são apresentados os resultados obtidos com o nome científico (número 3), com as sinonímias (número 4). A próxima figura mostra a resposta do sistema quando a pesquisa não encontra nenhuma ocorrência com o termo pesquisado.

Web de hoje (2.0) Porquê WEB 2.0?

Web de hoje (2.0) Porquê WEB 2.0? WEB 2.0 Conceitos O termo Web 2.0 refere-se a mudança para uma Internet como plataforma e um entendimento das regras para obter sucesso nesta nova plataforma. Segundo Tim O'Reilly, um dos criadores do

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

Criação e publicação de um dataset de dados interligados das edições passadas do Simpósio Brasileiro de Banco de Dados

Criação e publicação de um dataset de dados interligados das edições passadas do Simpósio Brasileiro de Banco de Dados U NIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2 0 1 2. 2 Criação e publicação de um dataset de dados interligados das edições passadas do Simpósio Brasileiro

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

O padrão RDF na descrição de imagens

O padrão RDF na descrição de imagens O padrão RDF na descrição de imagens Edeilson Milhomem da Silva 1, Parcilene Fernandes de Brito 1 1 Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Cx. Postal 160 77054-970

Leia mais

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1. Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever

Leia mais

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!! TUTORIAL DO ALUNO Olá, bem vindo à plataforma de cursos a distância da Uniapae!!! O Moodle é a plataforma de ensino a distância utilizada pela Uniapae sendo a unidade de ensino para rápida capacitação

Leia mais

1969 ARPANet - Advanced Research Projects Agency Network

1969 ARPANet - Advanced Research Projects Agency Network FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO Rafael D. Ribeiro, M.Sc,PMP. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br @ribeirord 1969 ARPANet - Advanced Research Projects Agency Network O

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

DWEB. Design para Web. Fundamentos Web I. Curso Superior de Tecnologia em Design Gráfico

DWEB. Design para Web. Fundamentos Web I. Curso Superior de Tecnologia em Design Gráfico DWEB Design para Web Curso Superior de Tecnologia em Design Gráfico Fundamentos Web I E não vos conformeis com este século, mas transformai-vos pela renovação da vossa mente, para que experimenteis qual

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Informática I Aula 22 http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Critério de Correção do Trabalho 1 Organização: 2,0 O trabalho está bem organizado e tem uma coerência lógica. Termos

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

CAPÍTULO 2. Este capítulo tratará :

CAPÍTULO 2. Este capítulo tratará : 1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,

Leia mais

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR Novell Teaming - Guia de início rápido Novell Teaming 1.0 Julho de 2007 INTRODUÇÃO RÁPIDA www.novell.com Novell Teaming O termo Novell Teaming neste documento se aplica a todas as versões do Novell Teaming,

Leia mais

Wilson Moraes Góes. Novatec

Wilson Moraes Góes. Novatec Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,

Leia mais

Módulo 6 Usando a Internet. Internet. 3.1 Como tudo começou

Módulo 6 Usando a Internet. Internet. 3.1 Como tudo começou Módulo 6 Usando a Internet Internet 3.1 Como tudo começou A internet começou a se desenvolver no ano de 1969 onde era chamada de ARPANET, criada pelo departamento de defesa dos Estados Unidos com o propósito

Leia mais

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET WEBSITE MUNDO MULHER GABRIELA DE SOUZA DA SILVA LUANA MAIARA DE PAULA SILVA

Leia mais

Agregadores de Conteúdo

Agregadores de Conteúdo Agregadores de Conteúdo São programas ou sites capazes de interpretar e mostrar o conteúdo dos Feeds RSS. Essa é uma forma de facilitar a leitura de vários sites e blogs, acessando o que há de novo em

Leia mais

Manual do Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

Roteiro da Biblioteca das Faculdades Coc Como Fazer Uma Pesquisa Teórica e Elaborar um Trabalho Acadêmico

Roteiro da Biblioteca das Faculdades Coc Como Fazer Uma Pesquisa Teórica e Elaborar um Trabalho Acadêmico Roteiro da Biblioteca das Faculdades Coc Como Fazer Uma Pesquisa Teórica e Elaborar um Trabalho Acadêmico Para realizar uma pesquisa que não se torne um grande sacrifício pelas dificuldades em encontrar

Leia mais

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR Jeferson J. S. Boesing 1 ; Manassés Ribeiro 2 1.Aluno do Curso

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Glossários em Moodle (1.6.5+)

Glossários em Moodle (1.6.5+) Glossários em Moodle (1.6.5+) Athail Rangel Pulino 2 Ficha Técnica Título Glossários em Moodle Autor Athail Rangel Pulino Filho Copyright Creative Commons Edição Agosto 2007 Glossários em Moodle 3 Índice

Leia mais

Web Design Aula 01: Conceitos Básicos

Web Design Aula 01: Conceitos Básicos Web Design Aula 01: Conceitos Básicos Professora: Priscilla Suene priscilla.silverio@ifrn.edu.br Motivação Motivação Motivação Motivação Roteiro Introdução Papéis e Responsabilidades Construindo um site

Leia mais

ÍNDICE MANUAL SITE ADMINISTRÁVEL TV. 1. Introdução 2. Acessando o site administrável/webtv SITE ADMINISTRÁVEL 3. CONFIGURAÇÕES

ÍNDICE MANUAL SITE ADMINISTRÁVEL TV. 1. Introdução 2. Acessando o site administrável/webtv SITE ADMINISTRÁVEL 3. CONFIGURAÇÕES MANUAL SITE ADMINISTRÁVEL TV ÍNDICE 1. Introdução 2. Acessando o site administrável/webtv SITE ADMINISTRÁVEL 3. CONFIGURAÇÕES 3.1 - Dados Cadastrais 3.2 - Noticias 3.3 Redes Sociais 3.4 - Player 4. DESIGN

Leia mais

Fundamentos de Sistemas de Informação Sistemas de Informação

Fundamentos de Sistemas de Informação Sistemas de Informação Objetivo da Aula Tecnologia e as Organizações, importância dos sistemas de informação e níveis de atuação dos sistemas de informação Organizações & Tecnologia TECNOLOGIA A razão e a capacidade do homem

Leia mais

Desenvolvendo para WEB

Desenvolvendo para WEB Nível - Básico Desenvolvendo para WEB Por: Evandro Silva Neste nosso primeiro artigo vamos revisar alguns conceitos que envolvem a programação de aplicativos WEB. A ideia aqui é explicarmos a arquitetura

Leia mais

Web 2.0. Amanda Ponce Armelin RA 052202

Web 2.0. Amanda Ponce Armelin RA 052202 Amanda Ponce Armelin RA 052202 Americana, 2007 Tópicos Introdução Web 1.0 Definição Comparativo Web1.0 x Web2.0 Web 3.0 Definição Conclusão Definição Principais características Discórdia Termos Essenciais

Leia mais

Artur Petean Bove Júnior Tecnologia SJC

Artur Petean Bove Júnior Tecnologia SJC Artur Petean Bove Júnior Tecnologia SJC Objetivo O objetivo do projeto é especificar o desenvolvimento de um software livre com a finalidade de automatizar a criação de WEBSITES através do armazenamento

Leia mais

Um produto para jogar um conteúdo matemático e estudar um jogo social

Um produto para jogar um conteúdo matemático e estudar um jogo social Um produto para jogar um conteúdo matemático e estudar um jogo social 1 2 SUMÁRIO 1 INTRODUÇÃO... 3 2 OBJETIVOS... 4 3 DESENVOLVIMENTO... 5 4 CONCLUSÃO... 11 5 REFERÊNCIA... 11 TABELA DE FIGURAS Figura

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

REFORMULAÇÃO SITE ARCA BRASIL

REFORMULAÇÃO SITE ARCA BRASIL REFORMULAÇÃO SITE ARCA BRASIL Equipe A³ Elton Sacramento Eveline Almeida Gabriela Yu 1 1. Introdução O site escolhido foi o ARCA Brasil (http://www.arcabrasil.org.br/), uma ONG que promove o bem-estar

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

Leia mais

PRIMAVERA RISK ANALYSIS

PRIMAVERA RISK ANALYSIS PRIMAVERA RISK ANALYSIS PRINCIPAIS RECURSOS Guia de análise de risco Verificação de programação Risco rápido em modelo Assistente de registro de riscos Registro de riscos Análise de riscos PRINCIPAIS BENEFÍCIOS

Leia mais

Internet. Gabriela Trevisan Bacharel em Sistemas de Infomação

Internet. Gabriela Trevisan Bacharel em Sistemas de Infomação Internet Gabriela Trevisan Bacharel em Sistemas de Infomação Histórico da Web World Wide Web o nosso www é o meio de comunicação mais utilizado no mundo atualmente. Através da WWW qualquer usuário conectado

Leia mais

L A C Laboratory for Advanced Collaboration

L A C Laboratory for Advanced Collaboration Publicação de Dados Governamentais no Padrão Linked Data 2.3 Web Ontology Language (OWL) Karin Breitman José Viterbo Edgard Marx Percy Salas L A C Laboratory for Advanced Collaboration Objetivo deste módulo

Leia mais

PADRÕES PARA O DESENVOLVIMENTO NA WEB

PADRÕES PARA O DESENVOLVIMENTO NA WEB PADRÕES PARA O DESENVOLVIMENTO NA WEB Ederson dos Santos Cordeiro de Oliveira 1,Tiago Bonetti Piperno 1, Ricardo Germano 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR- Brasil edersonlikers@gmail.com,

Leia mais

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO AGOSTO DE 2013 SUMÁRIO STI/UFF - Sistema de Gerenciamento de Projetos do PDI SUMÁRIO... 2 1 Introdução... 3 1.1 O que é e qual a finalidade

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web Resumo. Desenvolvimento de um software de gerenciamento de projetos para utilização na Web Autor: Danilo Humberto Dias Santos Orientador: Walteno Martins Parreira Júnior Bacharelado em Engenharia da Computação

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

HTML Página 1. Índice

HTML Página 1. Índice PARTE - 1 HTML Página 1 Índice HTML A HISTÓRIA... 2 O COMEÇO E A INTEROPERABILIADE... 3 Primeira Página... 4 Entendendo seu código... 5 Abrindo o código fonte da sua página... 6 Comentários na página...

Leia mais

Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica

Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica Ernesto F. Veiga, Márcio V. Oliveira Sena, Renato de F. Bulcão Neto ernestofonseca@inf.ufg.br marciovinicius@inf.ufg.br

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Moodle - Tutorial para Professores

Moodle - Tutorial para Professores Moodle - Tutorial para Professores por Prof. Maurício Lima 1 agosto de 2010 Objetivo Este documento apresenta aos professores da Faculdade Novos Horizontes os primeiros passos na utilização do pacote Moodle.

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2 Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2 Objetivo. O objetivo da disciplina é conhecer os princípios da programação de

Leia mais

RDF e RDF Schema na representação de páginas do portal CEULP/ULBRA

RDF e RDF Schema na representação de páginas do portal CEULP/ULBRA RDF e RDF Schema na representação de páginas do portal CEULP/ULBRA Danilo de Abreu Noleto 1, Parcilene Fernandes de Brito 1 1 Curso de Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA)

Leia mais

RESUMO EXECUTIVO realmente significa estar informado? Como filtrar a informação certa do montante de informações triviais

RESUMO EXECUTIVO realmente significa estar informado? Como filtrar a informação certa do montante de informações triviais RESUMO EXECUTIVO Muito tem se falado em era da informação, informação é poder, etc. Mas o que realmente significa estar informado? Como filtrar a informação certa do montante de informações triviais que

Leia mais

TRIBUNAL DE CONTAS DO DISTRITO FEDERAL

TRIBUNAL DE CONTAS DO DISTRITO FEDERAL TRIBUNAL DE CONTAS DO DISTRITO FEDERAL TÉCNICO EM ADMINISTRAÇÃO PÚBLICA E ANALISTA (EXCETO PARA O CARGO 4 e 8) GABARITO 1. (CESPE/2013/MPU/Conhecimentos Básicos para os cargos 34 e 35) Com a cloud computing,

Leia mais

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante

Leia mais

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo Universidade Federal do Espírito Santo Inteligência Artificial Agenda Semântica Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo Vitória 2007/02 Agenda Semântica

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

APOO Análise e Projeto Orientado a Objetos. Requisitos

APOO Análise e Projeto Orientado a Objetos. Requisitos + APOO Análise e Projeto Orientado a Objetos Requisitos Requisitos 2 n Segundo Larman: n São capacidades e condições às quais o sistema e em termos mais amplos, o projeto deve atender n Não são apenas

Leia mais

Autoria Web Apresentação e Visão Geral sobre a Web

Autoria Web Apresentação e Visão Geral sobre a Web Apresentação e Visão Geral sobre a Web Apresentação Thiago Miranda Email: mirandathiago@gmail.com Site: www.thiagomiranda.net Objetivos da Disciplina Conhecer os limites de atuação profissional em Web

Leia mais

Guia Básico de Utilização da Biblioteca Virtual da FAPESP. Thais Fernandes de Morais Fabiana Andrade Pereira

Guia Básico de Utilização da Biblioteca Virtual da FAPESP. Thais Fernandes de Morais Fabiana Andrade Pereira Guia Básico de Utilização da Biblioteca Virtual da FAPESP Thais Fernandes de Morais Fabiana Andrade Pereira Centro de Documentação e Informação da FAPESP São Paulo 2015 Sumário Introdução... 2 Objetivos...

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática 3ºAno Disciplina de Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/2010 GereComSaber Sistema de

Leia mais

NOVIDADES DO JAVA PARA PROGRAMADORES C

NOVIDADES DO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB NOVIDADES DO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o Conceito de Classes e Objetos Capacitar para a criação de objetos simples

Leia mais

Avanços na transparência

Avanços na transparência Avanços na transparência A Capes está avançando não apenas na questão dos indicadores, como vimos nas semanas anteriores, mas também na transparência do sistema. Este assunto será explicado aqui, com ênfase

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica

3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica 3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica Este trabalho tem o objetivo de integrar o controle de acesso no projeto de aplicações na web semântica. Uma arquitetura de software

Leia mais

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 11 Conceitos de Orientação a Objetos Objetivos do Capítulo Introduzir os conceitos fundamentais da Programação Orientada a Objetos. Apresentar o significado dos objetos e das classes no contexto

Leia mais

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano. No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano. Essa estratégia foi deixada para trás. Atualmente, o software de rede é altamente

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS Planificação Anual da Disciplina de TIC Módulos 1,2,3-10.ºD CURSO PROFISSIONAL DE TÉCNICO DE APOIO À GESTÃO DESPORTIVA Ano Letivo 2015-2016 Manual adotado:

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

COMO ENGAJAR UM FUNCIONÁRIO NO PRIMEIRO DIA DE TRABALHO?

COMO ENGAJAR UM FUNCIONÁRIO NO PRIMEIRO DIA DE TRABALHO? COMO ENGAJAR UM FUNCIONÁRIO NO PRIMEIRO DIA DE TRABALHO? COMO ENGAJAR UM FUNCIONÁRIO NO PRIMEIRO DIA DE TRABALHO? Engajar funcionários é conseguir envolver as pessoas em um mesmo propósito que a empresa

Leia mais

Os desafios do Bradesco nas redes sociais

Os desafios do Bradesco nas redes sociais Os desafios do Bradesco nas redes sociais Atual gerente de redes sociais do Bradesco, Marcelo Salgado, de 31 anos, começou sua carreira no banco como operador de telemarketing em 2000. Ele foi um dos responsáveis

Leia mais

Mídias sociais como apoio aos negócios B2C

Mídias sociais como apoio aos negócios B2C Mídias sociais como apoio aos negócios B2C A tecnologia e a informação caminham paralelas à globalização. No mercado atual é simples interagir, aproximar pessoas, expandir e aperfeiçoar os negócios dentro

Leia mais

www.startercomunicacao.com startercomunic@gmail.com

www.startercomunicacao.com startercomunic@gmail.com 7 DICAS IMPERDÍVEIS QUE TODO COACH DEVE SABER PARA CONQUISTAR MAIS CLIENTES www.startercomunicacao.com startercomunic@gmail.com As 7 dicas imperdíveis 1 2 3 Identificando seu público Abordagem adequada

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

Manual do Google agenda. criação e compartilhamento de agendas

Manual do Google agenda. criação e compartilhamento de agendas Manual do Google agenda criação e compartilhamento de agendas 1 O que é o Google Agenda? Google Agenda é um serviço de agenda on line gratuito do Google, onde você pode anotar compromissos e tarefas, organizando

Leia mais

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

ROTEIRO PARA ELABORAÇÃO DE PROJETOS APRESENTAÇÃO ROTEIRO PARA ELABORAÇÃO DE PROJETOS Breve histórico da instituição seguido de diagnóstico e indicadores sobre a temática abrangida pelo projeto, especialmente dados que permitam análise da

Leia mais

Após a confirmação de pagamento de sua inscrição para o congresso, você estará apto a entrar no sistema de submissão de trabalho.

Após a confirmação de pagamento de sua inscrição para o congresso, você estará apto a entrar no sistema de submissão de trabalho. Para submissão de trabalhos é necessário que você esteja inscrito no evento. Você deve realizar seu cadastro acessando a opção Cadastrar, quando disponível. É imprescindível que você guarde suas informações

Leia mais