desenvolvimento de um uddi com suporte a web … · trabalho de conclus~ao de curso sob o t tulo \...

33
LEONARD CHUCRE DE MORAES TIAGO MARCON TRICHEZ DESENVOLVIMENTO DE UM UDDI COM SUPORTE A WEB SEM ˆ ANTICA Florian´ opolis 2010

Upload: dinhcong

Post on 10-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

LEONARD CHUCRE DE MORAES

TIAGO MARCON TRICHEZ

DESENVOLVIMENTO DE UM UDDI COM SUPORTE A

WEB SEMANTICA

Florianopolis

2010

LEONARD CHUCRE DE MORAES

TIAGO MARCON TRICHEZ

DESENVOLVIMENTO DE UM UDDI COM SUPORTE A

WEB SEMANTICA

Trabalho de conclusao de curso apresentadocomo parte das atividades para obtencao dotıtulo de Bacharel em Sistemas de Informa-cao da Universidade Federal de Santa Cata-rina - UFSC, departamento de Informatica eEstatıstica - INE.

Orientador:

Prof. Dr. Fernando Augusto Da Silva Cruz

Florianopolis

2010

Trabalho de conclusao de curso sob o tıtulo “ Desenvolvimento de um UDDI com

Suporte a Web Semantica ”, defendido por Leonard Chucre de Moraes e Tiago Marcon

Trichez, e aprovado 20 de maio de 2010, em Florianopolis, Estado de Santa Catarina, pela

banca examinadora constituıda pelos professores:

Prof. Dr. Fernando Augusto Da Silva CruzUniversidade Federal de Santa Catarina

[email protected]

Prof. Dr. Jose Leomar TodescoUniversidade Federal de Santa Catarina

[email protected]

Prof. Dr. Frank SiqueiraUniversidade Federal de Santa Catarina

[email protected]

Este trabalho e dedicado aos nossos familiares

e professores cuja persistencia, sabedoria e

companheirismo nos guiaram.

AGRADECIMENTOS

Ao termino deste trabalho, deixo aqui meus sinceros agradecimentos:

– a Deus por tudo;

– ao Prof. Dr. Fernando Augusto Da Silva Cruz, por toda dedicacao, paciencia e

estımulo em sua orientacao;

– a todos os professores do Departamento de Informatica e Estatıstica da Universidade

Federal de Santa Catarina;

– Aos professores Prof. Dr. Frank Siqueira e Prof. Dr. Jose Leomar Todesco pelas

valiosas sugestoes;

– a minha famılia, pelo incentivo e seguranca que me passaram durante todo esse

perıodo;

– aos amigos do curso de Sistemas de Informacao pelo agradavel convıvio;

– a todos que direta ou indiretamente contribuıram para a realizacao deste trabalho;

“ Antes sonhava. Hoje, nao durmo mais.”

Dito popular que expressa que a velocidade da evolucao tem um preco.

RESUMO

A quantidade de servicos web cresceu muito nos ultimos anos. A busca de um determinadoendereco, o cadastro para compras on-line, lista de eventos, ate informacoes de produtos eprecos. Consequentemente a busca por esses servicos tambem cresceu na mesma propor-cao, entretanto encontrar o servico desejado esta cada vez mais difıcil. Isso se torna umproblema ja que existem poucos locais que centralizam esse conjunto de servicos, ondepoderia-se acessar e efetuar a pesquisa necessaria. Existem as aplicacoes que ja fazemessa funcao, mas nao contem mecanismos de pesquisas eficientes, fazendo assim com quemuitas vezes nao se encontre o que se deseja. O trabalho seguiu em direcao a uma solucaopara esse problema, onde foi implementado um prototipo de repositorio que centralizaservicos web, tornando-se um local unico de acesso, localizacao e distribuicao dos servi-cos, contudo o repositorio tem embutido um pequeno sistema de pesquisa mais eficiente,utilizando-se de tecnicas e tecnologia atuais e disponıveis, e levando em consideracao asemantica das informacoes inseridas para essas pesquisas, dando mais significado e con-texto a pesquisa efetuada. Isso tudo com a finalidade de facilitar a publicacao e procurade um determinado servico ou conjunto de servicos.

Palavras-chave: UDDI, Web Semantica, Ontologias, implementacao, Web Services, XML,SOAP, RDF, OWL, SPARQL.

ABSTRACT

The amount of web services has grown in recent years. Since the search for a particu-lar address, the record for online shopping, list event, to request verification of productand price of products, and therefore the search for these services also increased in sameproportion, however find the desired service is increasingly difficult. This becomes a pro-blem as there are few places that centralize this set of services, which could be accessedand make the necessary research, but applications that do not contain mechanisms forefficient searches, thereby making often is not what you want. The proposal follows thework toward a solution to this problem, which will be implemented a prototype repositoryto centralize web services, becoming a single place of access, location and distribution ofservices, however the repository have built a small research system more efficient, usingthese techniques and current technology and available, and taking into account the se-mantics of the information entered for this research, giving more meaning and context ofthe research done. All this with the order to facilitate the publication and search for aspecific service or set of services.

Keywords: UDDI, Web Semantic, Ontologies, implementation, Web Services, XML, SOAP,RDF, OWL, SPARQL.

SUMARIO

Lista de siglas e reducoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 APRESENTACAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 14

1.1 MOTIVACAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 14

1.2 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15

1.2.1 OBJETIVO GERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15

1.2.2 OBJETIVOS ESPECIFICOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15

1.3 JUSTIFICATIVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15

1.4 METODOLOGIA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 16

2 CONCEITOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 18

2.1 CONCEITOS GERAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 18

2.2 UDDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 19

2.2.1 WEB SERVICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20

2.2.2 APACHE AXIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22

2.3 WEB SEMANTICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22

2.3.1 ENSAIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24

2.3.2 SOLUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25

2.3.3 COMPONENTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25

2.4 ONTOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 27

2.4.1 FERRAMENTAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 27

2.5 CODIGO ABERTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 28

2.5.1 DEFINICAO OPEN SOURCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 28

3 CONSIDERACOES FINAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 30

Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 31

LISTA DE SIGLAS E REDUCOES

API Application Programming Interface

DFSG Debian Free Software Guidelines

DTD Document Type Definition

EAI Enterprise Application Integration

ERP Enterprise Resource Planning

FSF Free Software Foundation

GGG Giant Global Graph

HTML Hypertext Markup Language

HTTP Hypertext Transfer Protocol

IA Inteligencia Artificial

IDE Integrated Development Environment

JDBC Java Database Connectivity

ontoKEM ontology Knowledge Engineering Managment

OSI Open Source Initiative

OWL Ontology Language Overview

RDF Resource Description Framework

RDFS Resource Description Framework Schema

RIF Rule Interchange Format

UDDI Universal Description Discovery and Integration

URI Uniform Resource Identifier

URL Uniform Resource Locator

W3C Word Wide Web Consortium

WEB Semantica Stack WSS

WWW World Wide Web

XML Extensible Markup Language

XMLS Extensible Markup Language Schema

INTRODUCAO

A utilizacao da internet e evidente, seja atraves do uso de email, acessos e publicacoes

em blogs, mensagens em redes sociais e ate bate-papo em sites de relacionamento, a

comunicacao entre pessoas e o foco principal. Contudo a internet esta sendo usada para

mais funcoes, e entre ela esta a comunicacao entre pessoas e sistemas – e mais recentemente

– entre sistemas e sistemas. Visando o compartilhamento de informacoes e a necessidade

de interoperabilidade entre esses sistemas, surge os Web Services, vindo como solucao

para uma melhor comunicacao entre sistemas distribuıdos.

Atraves de um conjunto de novos conceitos de interoperabilidade como o XML, o

SOAP e o UDDI, os Web Services vieram facilitar a comunicacao entre as aplicacoes que

residem em multiplas plataformas, usando diferentes modelos de objetos e baseados em

linguagens diferentes. Web Services e uma das tecnologias mais adequadas para comuni-

cacao entre sistemas, tendo a comunicacao entre os servicos padronizada, possibilitando

a independencia de plataforma e de linguagem de programacao. Web Service e uma apli-

cacao que aceita solicitacoes de outros sistemas atraves da internet. Observa-se que Web

Services sao servicos que visam facilitar o processamento distribuıdo em sistemas distin-

tos. Estes servicos sao baseados em um conjunto de padroes da Internet definidos pelo

W3C. Possui interfaces que podem ser descobertas e definidas atraves de artefatos XML,

e que suporta interacoes diretas com outros softwares utilizando mensagens XML atraves

de protocolos padrao da internet. O principal fator para esta aceitacao, e o fato dele ser

baseado em protocolos abertos que se utilizam de tecnologias estabelecidas na internet,

como HTTP e XML. Tem-se como exemplo de Web Services a busca por enderecos, a

busca de precos de produtos de varios sites de compra, entre outros.

Toda essa disponibilidade de servicos leva a uma grande dificuldade de encontrar o

servico desejado em meio a uma gama de servicos e servidores disponıveis, todavia pode-se

utilizar um diretorio universal de registro de web services, um repositorio centralizador,

onde seriam encontradas informacoes sobre as empresas fornecedoras de servicos e infor-

macoes dos proprios servicos. Esse repositorio e conhecido como UDDI. E uma iniciativa

em desenvolvimento no ambito do consorcio industrial com objectivo de acelerar a comu-

nicacao e utilizacao dos Web Services, pela proposta de um servico de registo de nomes

de organizacoes e de descricao do servico, que providencia tres funcoes principais, a publi-

cacao que permite a uma organizacao divulgar seus servicos, a descoberta que permite ao

cliente, procure e encontre um determinado servico e a ligacao que possibilita ao cliente,

estabelecer a ligacao e interagir com o servico. Mesmo tendo um repositorio que contenha

essas funcionalidades, encontra-se outro problema ao utilizar os servicos de UDDI atuais,

mais especificamente nas buscas dos servicos, isso devido aos termos que sao inseridos

para se efetuar a pesquisa. E necessario que o cliente informe os termos corretos a fim

de encontrar o servico desejado, e nem sempre ele tem ciencia dos termos que foram as-

sociados ao servico, isso faz com que o servico nao seja encontrado, e consequentemente,

nao seja utilizado. Uma proposta para melhorar essa busca – ou dar mais significado aos

termos inseridos – e a utilizacao se semantica, no caso utilizando a Web Semantica.

A Web semantica e uma extensao da Web atual, que permite pessoas e sistemas tra-

balharem em cooperacao. A Web semantica interliga significados de palavras e tem como

finalidade atribuir um sentido aos conteudos publicados de modo que seja perceptıvel a

humanos e computadores. O objectivo inicial da Web semantica nao e desenvolver tecno-

logias e linguagens que tornem a informacao legıvel para as maquinas. A finalidade passa

pelo desenvolvimento de um modelo tecnologico que permita a partilha global de conhe-

cimento assistido por maquinas. A integracao das linguagens ou tecnologias XML, RDF,

arquiteturas de metadados, ontologias, agentes computacionais, entre outras, favorecera

o aparecimento de servicos Web que garantam a interoperabilidade e cooperacao.

Tendo em vista esse contexto e as evolucoes que ocorrem atualmente nos sistemas

informatizados que vem a nossa proposta de trabalho, onde sera apresentado a imple-

mentacao de um prototipo de UDDI, que possui elementos semanticos com a finalidade

de melhorar as buscas dos servicos disponibilizados nesse repositorio. O desafio do pro-

jeto esta exatamente em encontrar meios de interligar essas duas tecnologias, que estao

caminhando para o mesmo ponto – UDDI e Web Semantica – evoluindo e facilitando a

utilizacao de servicos disponıveis na internet. Alem disso o projeto sera feito sobre uma

licenca open-source, com o intuito de que seja disponibilizado de forma gratuita, dando

assim oportunidade de possıveis manutencoes e evolucoes dadas pela comunidade.

14

1 APRESENTACAO

1.1 MOTIVACAO

Com o aumento na demanda de interoperabilidade da informacao entre usuarios e

processos no setor industrial, que se fortifica a medida que a informacao se estabelece

como um fator de producao, e juntamente com a arquitetura atual dos sistemas que nao

preve essa interoperabilidade, se faz necessaria uma tecnologia capaz de ultrapassar as

dificuldades estabelecidas por sistemas legados e fornecer a interoperabilidade necessaria

para a nova regra de negocio, suprindo a demanda na troca de informacoes.

A interoperabilidade e a capacidade que sistema tem de se comunicar com outro

sistema de forma transparente. Para um sistema ser considerado interoperavel, e muito

importante que ele trabalhe com padroes abertos. Independente do sistema, atualmente

se caminha cada vez mais para a criacao de padroes para sistemas.

Uma tenologia empregada na interoperabilidade da informacao sao os Web Services,

que trabalham com padroes abertos, onde o sistema com WS se tonar uma solucao na in-

tegracao e na comunicacao entre diferentes aplicacoes, possibilitando que novas aplicacoes

possam interagir com sistemas legados desenvolvidos em diferentes plataformas. Essas

aplicacoes podem estar em diferentes linguagens, pois suas informacoes sao traduzidas

para uma linguagem universal, o formato XML.

Para a representacao e estruturacao dos dados nas mensagens recebidas/enviadas dos

Web Services e utilizado o XML. As chamadas de operacoes sao codificadas no protocolo

SOAP. Os servicos sao descritos usando a linguagem WSDL. O processo de publica-

cao/pesquisa/descoberta de Web Services utiliza o protocolo UDDI. Mas existem poucos

servidores UDDI gratuitos e mais raros ainda servidores livres. O intuito do projeto e

desenvolver um servidor UDDI com diferencias, sendo livre (open source) e publico.

15

1.2 OBJETIVOS

1.2.1 OBJETIVO GERAL

Esse projeto tem como objetivo criar um servico facilitador para a publicacao , des-

coberta e ligacao de servicos oferecidos pelas organizacoes atraves de uma aplicacao open

source, sera desenvolvimento de um UDDI, Open Source e com Web Semantica.

1.2.2 OBJETIVOS ESPECIFICOS

Os objetivos especıficos deste trabalho sao:

1. Pesquisar o funcionamento dos protocolos dos servicos de web services.

2. Pesquisar os padroes de descoberta e publicacao de servicos de web services.

3. Pesquisar os fundamentos dos projetos open source

4. Pesquisar sobre as tecnologias empregadas

5. Pesquisar sobre o aplicacao da web semantica

6. Criar um plano basico para elaboracao do projeto

7. Avaliar a possibilidade de implementacao do projeto

8. Definir requisitos de implementacao

9. Definir as arquiteturas necessarias ao desenvolvimento da aplicacao

10. Implementar

11. Executar testes necessario

12. Implantar

13. Disponibilizar o projeto open source dentro de um domınio publico.

1.3 JUSTIFICATIVA

Com o aumento na demanda de interoperabilidade da informacao entre usuarios e

processos no setor industrial e juntamente com a arquitetura atual dos sistemas que nao

16

preve essa interoperabilidade, se faz necessaria uma tecnologia capaz de ultrapassar as

dificuldades e suprir a demanda na troca de informacoes. Uma tenologia empregada

nesse contexto, sao os Web Services que trabalham com padroes abertos, possibilitando

que novas aplicacoes possam interagir com sistemas legados desenvolvidos em diferentes

plataformas e diferentes linguagens.

Web Services necessitam de protocolos e padroes abertos para interoperar, um desses

protocolos e o UDDI responsavel pelo processo de publicacao/pesquisa/descoberta dos

servicos. Mas como existem poucos servidores UDDI gratuitos e livres, desenvolver um

servidor UDDI livre (open source) e publico se torna uma necessidade para agilizar o

processos de troca de informacao entre sistemas, processos e organizacoes.

O projeto sera desenvolvido com uma licenca open source, sera publicado e ficara dis-

ponıvel para comunidade, para futuras implementacoes e manutencao. Um UDDI utiliza

os modelos tecnicos (tModels) para identificar e categorizar servicos, no projeto serao uti-

lizados os conceitos da Web Semantica, com uma ontologia de tarefa para classificacao dos

servicos, utilizando-se de ferramentas como ontoKEM e Protege, interligando significados

de palavras e tendo como finalidade atribuir um sentido aos conteudos publicados, sendo

um facilitador na tarefa de descoberta, tarefa que permite ao cliente, procure e encontre

um determinado servico.

1.4 METODOLOGIA

O projeto sera desenvolvido com uma licenca open source, sera publicado e ficara

disponıvel para comunidade para futuras implementacoes e manutencao. Um projeto open

source possui uma vida util garantida, pois a comunidade possui recursos humanos amplo

capaz de manter ativo, atualizado e dar suporte ao sistema. Possuira uma semantica, no

lugar dos tModels utilizados atualmente por UDDIs, que interliga significados de palavras

tendo como finalidade atribuir um sentido aos conteudos publicados, sendo um facilitador

na tarefa de descoberta, tarefa que permite ao cliente, procure e encontre um determinado

servico.

Utilizando de tecnologias como WS, XML, SOAP e WSDL para a integracao de sis-

temas e na comunicacao entre diferentes aplicacoes juntamente com o UDDI que sera de-

senvolvido, serao compridas as tres funcoes principais do UDDI: a publicacao que permite

a uma organizacao divulgar seus servicos, a descoberta que permite ao cliente, procure

e encontre um determinado servico e a ligacao que possibilita ao cliente, estabelecer a

17

ligacao e interagir com o servico.

Com um prazo estimado em oito meses para cumprir todas as etapas do projeto,

divididos em dois meses para pesquisa, cinco meses para desenvolvimento e o perıodo

final para implantacao, testes e correcoes, alem da apresentacao a comunidade academica.

18

2 CONCEITOS

2.1 CONCEITOS GERAIS

O XML (eXtensible Markup Language) e atualmente a escolha mais usada quando se

quer representar dados, e o XML Schema ou XSD, quando se quer representar os tipos

de dados. A troca de informacoes vem com o protocolo SOAP (Simple Object Access

Protocol) uma vez que e um protocolo leve. Ele e divido em duas partes, a primeira trata-

se de um conjunto de regras de como utilizar o XML no ambito da representacao os dados,

e a outra e associada ao protocolo HTTP e o formato das mensagens. Essa parte e uma

convencao de como representar as chamadas de procedimentos remotos (RPCs). Uma vez

que os servicos web que serao chamados sao desconhecidos, portanto e necessario descreve-

los. Para fazer essa descricao, ou documentacao das mensagens que os Web services

aceitam e geram, e usado o WSDL, Web Service Description Languagem (BOOTH et al.,

2004). Essa forma de fazer as coisas, esse padrao, facilita o desenvolvimento de aplicativos

e integracoes feitas pelos desenvolvedores e ferramentas. Nesse ponto ja foram atendidas

quase todas as especificacoes, restando apenas duas, as quais sao: um mecanismo para

localizar os servicos e um mecanismo para descobrir os provedores de servicos. Para

localizacao dos servicos, e mostrado o protocolo Disco (Discovery Protocol), o qual define

um formato para um documento chamado Discovery, e um protocolo para devolve-lo

(W3C, 2004). Assim, possibilitando a localizacao dos servicos, em um Web site conhecido.

Para atender a especificacao de um mecanismo para descobrir os provedores de servicos,

aparece o UDDI (Univesal Description, Discovery, and Integration), sendo um mecanismo

para os fornecedores anunciarem a existencia dos seus servicos, e para que os consumidores

possam localiza-los (W3C, 2004). Muito utilizado nos dias atuais. Definindo um Web

Service como um servico de software publicado na Web atraves do SOAP, descrito com

um arquivo WSDL e registrado em UDDI. Os Web Services prometem ser capazes de

tornar as operacoes entre os servicos altamente distribuıdos e heterogeneos hospedados

na Web, mais ricas, eficientes e dinamicas (BOOTH et al., 2004). Muito esforco tem sido

feito com o intuito de atingir essas metas, alguns exemplos sao o SOAP, WSDL e UDDI. A

19

industria tambem tem se esforcado bastante para produzir ferramentas para dar suporte

a esses tipos de aplicacoes, como IBM WebSphere, Open Net Environment and JiniTM

Network technology da SUN, DOT Net da Microsoft’s, entre outros. Outras entidades

tambem tem aplicado recursos em pesquisas que usam ou acrescentam vantagens aos Web

Services. Contudo ainda exite muito trabalho a ser feito, em particular, a possibilidade

de automatizar o descobrimento, a composicao e o monitoramento de conjuntos de Web

Services.

2.2 UDDI

O UDDI e um padrao desenvolvido para fornecer um diretorio de busca para os ne-

gocios e seus servicos. E uma especificacao tecnica que tem como objetivo descrever, des-

cobrir e integrar Web Services, e um elemento central do grupo de padroes que compoe

a pilha de componentes dos servicos web (W3C, 2004). Ele funciona como um mediador

entre o servico a ser disponibilizado e o cliente, ou seja, o seu objetivo e possibilitar que

os clientes requisitantes encontrem o fornecedor do servico. Encontra-se muitos exemplos,

entretanto o que mais se aproxima e faz entender melhor o conceito, e a analogia entre o

UDDI e uma lista telefonica, isso porque ele pode ser divido em ‘paginas’ com tres cores

distintas, assim como e feito em uma lista telefonica.

Paginas Branca: contem a informacao sobre o nome, endereco e o numero detelefone dos fornecedores do servico, alem de outras possıveis informacoes.

Paginas Amarelas: contem as listagens comerciais baseadas nos tipos dessesnegocios, de maneira organizada por categoria especıfica ou regioes demo-graficas.

Paginas Verdes: sao usadas para indicar os servicos disponibilizados porcada negocio, incluindo as informacoes tecnicas envolvidas na interacao como servico.

A arquitetura dos Servicos Web segue o conceito da arquitetura SOA, que e a arqui-

tetura orientada a servicos. Este conceito define tres papeis:

• Requisitante de servicos: aquele que procura o servico, o cliente, podendo ser uma

pessoa ou um sistema.

20

• Provedor de Servico: aquele que fornece o servico, o fornecedor, podendo ser uma

pessoa ou um sistema.

• Broker de servico: aquele que interliga, conecta, as duas partes anteriores.

O UDDI faz o papel de broker de servico, que possibilita ao requisitante encontrar o

provedor de um servico. Ele providencia tres funcoes principais, conhecidas como publi-

cacao, descoberta e ligacao:

• Publicacao: permite que um fornecedor divulgue os seus servicos.

• Descoberta: permite que o cliente, busque e encontre um servico.

• Ligacao: permite que o cliente possa manter uma conexao e interagir com o servico.

Segundo Booth, pode-se descrever o funcionamento desta arquitetura nos tres passos

seguintes: O primeiro diz respeito a publicacao, onde o fornecedor de servicos entra em

contato com o UDDI, se registra, informa os servicos disponıveis e onde encontra-los. O

segundo passo e realizado pelo Consumidor, que utiliza os metodos de busca fornecidos

pelo UDDI para encontrar as informacoes desejadas sobre entidades e servicos. De posse

das informacoes necessarias, o consumidor pode prosseguir para o ultimo estagio, onde se

comunica diretamente com o fornecedor, utilizando um de seus servicos.

A interacao entre o UDDI e os demais elementos tambem e realizada atraves do

protocolo SOAP, sendo ele proprio um Servicos Web. Mas sua especificacao ja define

alguns pontos basicos deste servico, sendo o protocolo utilizado o HTTP. Sua comunicacao

e realizada atraves de mensagens descritas na API do UDDI. Esta API descreve, para cada

metodo, a estrutura XML que deve estar contida dentro do elemento Body no pacote

SOAP, assim como a estrutura que sera retornada. A API e seus metodos sao descritos

e exemplificados em um capıtulo adiante. Mas antes de ver a API, e necessario saber a

estrutura em que os dados sao descritos em um UDDI.

2.2.1 WEB SERVICE

Um Web Service e um componente, ou uma unidade logica de aplicacoes, as quais sao

acessıveis atraves de protocolos de Internet. Ele define como componentes, os servicos que

possuem uma funcionalidade, a qual pode ser reutilizada sem a preocupacao de com ela

e implementada (W3C, 2004). Uma conotacao mais realıstica para ele seria a integracao

21

de sistemas e na comunicacao entre diferentes aplicacoes, que possibilitou que aplicacoes

pudessem interagir com sistemas legados em diferentes plataformas.

Existem algumas especificacoes e tecnologias definidas para a construcao e utilizacao

de Web Services, e essas especificacoes e tecnologias atendem aos seguintes requisitos:

uma forma comum de representar dados, um formato de mensagens comum e extensıvel,

uma linguagem de descricao dos servicos, um mecanismo para localizar os servicos e

um mecanismo para descobrir os provedores de servicos (CUNHA, 2002). Ela utiliza o

formato XML para permitir as aplicacoes enviar e receber dados, e essas aplicacoes podem

estar em diferentes linguagens, pois e traduzido para uma linguagem universal, o formato

XML, mesmo assim os desafios fundamentais na composicao de Web services consistem

do desenho, e da analise de desenvolver tecnicas e ferramentas necessarias para manipular

os aspectos inovadores do paradigma (HULL, 2004).

Existe uma grande motivacao sobre a tecnologia Web Service pois possibilita que

diferentes aplicacoes comuniquem entre si e utilizem recursos diferentes. Utilizando a

tecnologia Web Service, uma aplicacao pode invocar outra para efetuar tarefas simples

ou complexas mesmo que as duas aplicacoes estejam em diferentes sistemas e escritas em

linguagens diferentes.

Os Web Services disponibilizam os seus servicos tanto para outras aplicacoes como

para pessoas, uma vez que essa possa extrair os recursos oferecidos pelo Web Service.

Esses sao identificados por um URI, descritos em XML. Um dos motivos que tornam

os Web Services atrativos e o fato deste modelo ser baseado em tecnologias padrao, em

particular XML e HTTP. Tambem sao utilizados para disponibilizar servicos interativos na

web, podendo ser requisitados por outras aplicacoes usando o protocolo SOAP (CUNHA,

2002).

O objetivo dos Web Services e a comunicacao entre aplicacoes atraves da Internet.

Esta comunicacao e realizada com intuito de facilitar EAI que significa a integracao das

aplicacoes de uma empresa, ou seja, interoperabilidade entre a informacao que circula

numa organizacao nas diferentes aplicacoes como, por exemplo, o comercio eletronico com

os seus clientes e seus fornecedores. Esta interacao constitui o sistema de informacao de

uma empresa (GUNZER, 2002).

22

2.2.2 APACHE AXIS

O Apache Axis e uma ferramenta open-source, feita na linguagem Java e seguindo o

padrao XML. Sua utilizacao consiste na construcao de Servicos Web, sobre o protocolo

SOAP. E possıvel , atraves do Axis, que desenvolvedores possam criar aplicacoes distribuı-

das. O Axis nao possui apenas a versao em Java, existem varias outras implementacoes,

como por exemplo na linguagem C++. O projeto Apache Axis e suportado pela Apache

Software Foundation. O Axis disponibiliza duas maneiras de disponibilizar os metodos de

uma determinada classe atraves de servicos web, o JWS (Java servico web) e o WSDD

(Web Service Deployment Descriptor).

• JWS: O modo mais simples, utiliza os arquivos .jws para extrair as informacoes

necessarias.

• WSDD: Descreve com detalhes como serao criados os servicos web a partir de classes

existentes.

Com o Axis e possıvel criar e publicar servicos web, assim como as devidas aplicacoes

cliente, de forma muito simples e automatizada. Para isso basta utilizar as proprias

ferramentas do que o Axis disponibiliza. Para que a produtividade seja alta e eficaz, e

necessario que se utilize de tres ferramentas: Java2WSDL, WSDL2Java e AdminClient.

• Java2WSDL: Ferramenta responsavel por gerar um documento WSDL a partir de

uma classe ou interface Java. Este WSDL gerado e o documento na qual o proprio

Axis se baseia para criar as classes (stub e skeleton) do servico web.

• WSDL2Java: Gera as classes Java responsaveis tanto pela parte servidor (skeleton),

quanto a parte cliente (stub) dos servico webs.

• AdminClient: Ferramenta para registrar o servico web no servidor de aplicacoes

(APACHE WIKI, 2009).

2.3 WEB SEMANTICA

A Web semantica e uma extensao da Web atual, que permitira aos computadores e

humanos trabalharem em cooperacao. A Web semantica interliga significados de palavras

23

e, neste ambito, tem como finalidade conseguir atribuir um significado (sentido) aos con-

teudos publicados na Internet de modo que seja perceptıvel tanto pelo humano como pelo

computador.(BERNERS-LEE; HENDLER; LASSILA, 2008)

O conjunto que forma a Web Semantica compreende princıpios de design , trabalho

colaborativo, tecnologias de base e outras tecnologias que serao e estao sendo implemen-

tadas.(W3C, 2008d) Os outros elementos sao especificacoes formais tais como, (RDF)

formato de intercambio de dados, (RDFS) formato de anotacoes e (OWL) destinados a

descricao formal de conceitos.

Os seres humanos sao capazes de realizar tarefas distintas relacionadas ou nao entre si

ao mesmo tempo na Web, no entanto, o computador nao pode realizar as mesmas tarefas

correlacionadas ou nao, porque as paginas da Web sao desenvolvidas para serem lidas

por pessoas e, nao por maquinas. A Web Semantica tem uma visao de transformar as

informacoes compreensıveis para os computadores, onde esses possam realizar mais do

que o trabalho envolvidos na busca, compartilhamento e combinacao de informacoes na

Web.

Tim Berners-Lee em sua citacao:

I have a dream for the Web [in which computers] become capable ofanalyzing all the data on the Web – the content, links, and transacti-ons between people and computers. A ‘Semantic Web’, which shouldmake this possible, has yet to emerge, but when it does, the day-to-daymechanisms of trade, bureaucracy and our daily lives will be handledby machines talking to machines. The ‘intelligent agents´ people havetouted for ages will finally materialize. (BERNERS-LEE; HENDLER;LASSILA, 2008)

Explora um sonho onde, a Web [em que os computadores] tornam-se capazes de ana-

lisar todos os dados na Web, consolidando a Web Semantica como sendo a chave para

que isso se torne possıvel e quando isso acontecer as transacoes e meio burocraticos dia-

rios serao manipulados por maquinas falando com maquinas, concretizando os elogiados

agentes inteligentes.

Considerada como um integrador entre diferentes conteudos, aplicacoes e sistemas de

informacao, a Web Semantica, onde se intensificam experimentos, devido ao rapido cresci-

mento do uso da Web e a inovacao e renovacao das tecnologias de conteudo da informacao.

Essa rapidez no crescimento proporciona o impulso na criacao e difusao de tecnologias

inovadoras da Web Semantica, mas onde a verdadeira e previstas Web Semantica esta

muito atrasada, causando incoerencias de informacao, tais como, as expressoes metada-

dos, ontologias e Web Semantica que sao utilizados de forma inconsistente, geralmente

24

estes termos sao usados como terminologia cotidiana de pesquisadores que abrangendo

um vasto conteudo para diferentes tecnologias, conceitos e areas de aplicacao.

Alem da confusao com relacao ao estado atual das tecnologias previstas para a rea-

lizacao da Web Semantica. Gerber, Barnard e Van der Merwe resumem o estado atual

da Web Semantica em tecnologias paradas e a um conjunto de termos. O modelo arqui-

tetonico proposto por Tim Berners-Lee e usado como base para apresentar um modelo

de estado que reflete tecnologias atuais e emergentes (GERBER; MERWE; BARNARD,

2008).

Tim Berners-Lee descreveu a web semantica como um componente da ’Web 3.0’.

People keep asking what Web 3.0 is. I think maybe when you’ve got anoverlay of scalable vector graphics - everything rippling and folding andlooking misty — on Web 2.0 and access to a semantic Web integratedacross a huge space of data, you’ll have access to an unbelievable dataresource. (BERNERS-LEE; FISCHETTI, 1999)

Onde ele realiza uma comparacao da Web 2.0 como uma olhar nebuloso sobre sobre-

posicao de graficos vetoriais escalaveis e a Web Semantica sera o acesso a um recurso de

dados inacreditavel com um espaco enorme de dados integrados.

2.3.1 ENSAIO

Arquivos de um computador podem ser divididos em documentos e dados onde os

documentos sao lidos por seres humanos diretamente e os dados sao lidos por aplicativos

que permitem que sejam vistos por seres humanos.

A World Wide Web atual e baseada principalmente em documentos (HTML), uma

convencao de marcacao que e usada para a codificacao de um corpo de texto intercalado

com objetos multimıdia, como imagens e formas interativas. Nesses documento tags de

metadados, fornecem um metodo pelo qual os computadores podem classificar o conteudo

das paginas Web.

Com o formato HTML pode-se criar e apresentar uma pagina com uma lista de itens

onde, o formato HTML pode dizer onde devem ficar posicionado tais itens como imagens e

textos em resumo informa a localizacao do conteudo na tela para o aplicativo que ler esse

documento, mas nao a uma maneira de afirmar quais desses itens estao relacionados entre

si, se a valor ou proporcao de um tem influencia nos demais itens, nao ha com afirmar

que tipo de documento esta formando os dados apresentados.

25

No ambito de se utilizar tecnologias existentes para realizar melhorias na semantica

empregada a documentos da Web surgem por exemplo a Semantic HTML que, se refere

a pratica tradicional do HTML com marcacao de intencao, deixando a especificacao dos

detalhes do layout para o navegador, em combinacao com Cascading Style Sheets, mas

esta pratica esta aquem de especificar a semantica de objetos ou ainda no mesmo contexto

os Microformats que, representam tentativas oficiais de estender a sintaxe HTML para

criar maquina de marcacao semantica legıvel sobre os objetos.

2.3.2 SOLUCAO

A solucao da Web Semantica e composta por um conjunto de especificacoes que trata

de publicar em lıngua especifica para os dados, onde o formato HTML descreve os docu-

mentos e as ligacoes entre eles e as especificacoes RDF, OWL, XML descrevem os objetos

arbitrarios. Tim Berners-Lee chama a rede resultante de dados ligados a Giant Global

Graph, em contraste ao baseado em HTML na World Wide Web.

Combinadas essas tecnologias fornecem descricoes para complementar ou substituir

o conteudo de documentos web, tornando-os uma descricao dos dados armazenados na

Web. Essas descricoes sao legıveis a maquinas que utilizam gestores para dar significado

ao conteudo, isto e, descrevem a estrutura do conhecimento que os humanos tem sobre

esse conteudo, de tal forma que uma maquina pode processar o proprio conhecimento

utilizando processos semelhantes ao raciocınio dedutivo humano e inferencia, obtendo

resultados mais significativos auxiliando na coleta de informacoes automatizadas e de

investigacao.

2.3.3 COMPONENTES

A web semantica compreende as tecnologias e especificacoes do XML, XML Schema,

RDF, RDF Schema e OWL, que sao organizados na Web Semantica Stack. A OWL Web

Ontology Language Overview descreve a funcao e a relacao de cada um desses componentes

da Web Semantica:

• XML fornece uma sintaxe elementar para a estrutura de conteudo dentro de docu-

mentos, mas nao associa semantica com o significado do conteudo das mesmas.

• XML Schema e uma linguagem utilizada para fornecer e restringir a estrutura e ao

conteudo dos elementos contidos nos documentos XML.

26

• RDF e uma linguagem simples para expressar modelos de dados, que se referem a

objetos e seus relacionamentos. Um modelo baseado em RDF pode ser representado

na sintaxe XML.

• RDF Schema e um vocabulario para descrever propriedades e classes de recursos

baseados em RDF, com semantica para generalizada hierarquias de tais propriedades

e classes.

• OWL adiciona vocabulario para descrever propriedades e classes: entre outros, as

relacoes entre as classes, a igualdade, a tipagem de propriedades, caracterısticas das

propriedades, e enumerou as classes.

• SPARQL e um protocolo e linguagem de consulta para as fontes de dados da web

semantica.

Figura 1: Camadas Web Semantica (W3C, 2007)

Algumas padronizacoes, camadas e melhorias para criacao e utilizacao da semantica

mesmo que nao plenamente implementadas e funcionais integramente incluem:

• Rule Interchange Format (RIF) como a camada de Regra da Web Semantica Stack

Unificando Logica e camadas de prova sao submetidos a investigacao activa.

• Servidores que expoem os sistemas existentes de dados usando o RDF e normas

SPARQL.

27

• Meta tags em documentos HTML fornecem informacoes para os motores de busca

da Web, que podem considerar a informacao como a compreensao do conteudo

humano sobre o documento ou pode simplesmente como metadados que representam

o documento.

• Uniform Resource Identifier (URI) identifica tudo que possa ser ser descrito, de

forma a web semantica, o que muitas vezes gerada semantica automaticamente, em

vez de manualmente.

• E, com o vocabularios de metadados (ontologias) e mapas entre os vocabulos, da

possibilidade aos criadores de documento de marcar seus documentos para que os

agentes possam utilizar as informacoes fornecidas nos metadados. Agentes auto-

matizados para executar tarefas para os usuarios da web semantica utilizam esses

dados em forma de servicos.

2.4 ONTOLOGIA

Na filosofia se refere a questao da existencia. No contexto do compartilhamento de

conhecimento, tem um sentido diferente, o termo significa a especificacao de uma concei-

tuacao, isto e, descreve conceitos e relacoes que podem existir para um agente ou uma

comunidade de agentes.

Projetar uma ontologias tem a finalidade de permitir o compartilhamento de conheci-

mentos e reutilizacao. Existe algumas maneiras de se escrever uma ontologia, uma delas e

como um conjunto de definicoes do vocabulario formal, se tornando um acordo para utili-

zar um vocabulario de uma maneira que seja consistente em relacao a teoria especificada

pela ontologia.

2.4.1 FERRAMENTAS

Protege e um editor livre, de ontologias de codigo aberto e tambem um framework de

base de conhecimento. A plataforma suporta as duas principais formas de modelagem de

ontologias que podem ser exportadas para uma variedade de formatos incluindo RDFS,

OWL e XML Schema. E baseado em Java, extensıvel, e fornece um ambiente plug-

and-play que faz dele uma base flexıvel para prototipagem rapida e desenvolvimento de

aplicacoes.

ontoKEM e uma ferramenta permite a construcao de ontologias de forma intuitiva

28

e adota praticas de varias metodologias (RAUTENBERG et al., 2008) se diferenciando

de outras ferramentas pelo valioso processo de documentacao (relatorios e graficos), que

facilita a comunicacao com os especialistas de domınio. A ferramenta possui sua limitacoes

levando em consideracao que e voltada para a pesquisa e desenvolvimento de ontologia no

meio academica. Mas essas limitacoes estao sendo sanadas, algumas ja em curso, para a

distribuicao de uma versao academica.

2.5 CODIGO ABERTO

O termo codigo aberto, do ingles open source, foi criado pela OSI (Open Source

Initiative) se refere ao mesmo que software livre, into e, respeita as quatro liberdades

definidas pela Free Software Foundation. Uma licenca de software livre e tambem uma

licenca de codigo aberto, com diferencas em discussao. A FSF usa o termo ‘Software

Livre’ para trazer um discurso baseado em questoes eticas, direitos e liberdade, a OSI usa

o termo ‘Codigo Aberto’ para discursar sobre um ponto de vista puramente tecnico, sem

conflitar questoes eticas.

2.5.1 DEFINICAO OPEN SOURCE

A definicao do Open Source foi criada pela Open Source Iniciative(OSI) a partir do

texto original da Debian Free Software Guidelines (DFSG) e determina que um programa

de codigo aberto deve garantir:

1. Distribuicao livre: A licenca nao deve restringir de nenhuma maneira a venda ou

distribuicao do programa gratuitamente, como componente de outro programa ou

nao.

2. Codigo fonte: O programa deve incluir seu codigo fonte e deve permitir a sua dis-

tribuicao tambem na forma compilada. Se o programa nao for distribuıdo com seu

codigo fonte, deve haver algum meio de se obter o mesmo seja via rede ou com

custo apenas de reproducao. O codigo deve ser legıvel e inteligıvel para qualquer

programador.

3. Trabalhos Derivados: A licenca deve permitir modificacoes e trabalhos derivados, e

deve permitir que eles sejam distribuıdos sobre os mesmos termos da licenca original.

4. Integridade do autor do codigo fonte: A licenca pode restringir o codigo fonte de ser

distribuıdo em uma forma modificada apenas se a licenca permitir a distribuicao de

29

arquivos patch(de atualizacao) com o codigo fonte para o proposito de modificar o

programa no momento de sua construcao. A licenca deve explicitamente permitir a

distribuicao do programa construıdo a partir do codigo fonte modificado. Contudo,

a licenca pode ainda requerer que programas derivados tenham um nome ou numero

de versao diferentes do programa original.

5. Nao discriminacao contra pessoas ou grupos: A licenca nao pode ser discriminatoria

contra qualquer pessoa ou grupo de pessoas.

6. Nao discriminacao contra areas de atuacao: A licenca nao deve restringir qualquer

pessoa de usar o programa em um ramo especıfico de atuacao. Por exemplo, ela

nao deve proibir que o programa seja usado em um empresa, ou de ser usado para

pesquisa genetica.

7. Distribuicao da Licenca: Os direitos associados ao programa devem ser aplicaveis

para todos aqueles cujo o programa e redistribuıdo, sem a necessidade da execucao

de uma licenca adicional para estas partes.

8. Licenca nao especıfica a um produto: Os direitos associados ao programa nao devem

depender que o programa seja parte de uma distribuicao especıfica de programas. Se

o programa e extraıdo desta distribuicao e usado ou distribuıdo dentro dos termos

da licenca do programa, todas as partes para quem o programa e redistribuıdo

devem ter os mesmos direitos que aqueles que sao garantidos em conjuncao com a

distribuicao de programas original.

9. Licenca nao restrinja outros programas: A licenca nao pode colocar restricoes em

outros programas que sao distribuıdos juntos com o programa licenciado. Isto e, a

licenca nao pode especificar que todos os programas distribuıdos na mesma mıdia

de armazenamento sejam programas de codigo aberto.

10. Licenca neutra em relacao a tecnologia: Nenhuma clausula da licenca pode estabele-

cer uma tecnologia individual, estilo ou interface a ser aplicada no programa(OPEN

SOURCE INITIATIVE, 2009).

30

3 CONSIDERACOES FINAIS

Digitar as conclusoes do trabalho.

31

REFERENCIAS

APACHE WIKI. Axis General. 2009. Disponıvel em:<http://wiki.apache.org/ws/FrontPage/Axis/AxisGeneral/>. Acesso em: 20 nov.2009.

BERNERS-LEE, T.; FISCHETTI, M. Weaving the Web. San Francisco: HarperSan-Francisco, 1999.

BERNERS-LEE, T.; HENDLER, J.; LASSILA, O. The semantic web. ScientificAmerican Magazin, mar. 2008.

BOOTH, D. et al. Web services architecture. W3C Working Group, 2004.

CHEBOTKO, A.; LU, S. Querying the semantic web: An efficient approach usingrelational databases. LAP Lambert Academic Publishing, 2009.

CIENCIA DA INFORMAcaO.

CUNHA, D. Web Services, SOAP e Aplicacoes Web. 2002. Disponıvel em:<http://devedge-temp.mozilla.org/viewsource/2002/soap-overview/index pt br.html>.Acesso em: 20 nov. 2009.

GERBER, A.; BARNARD, A.; MERWE, A. V. der. A semantic web status model.Integrated Design and Process Technology, 2006.

GERBER, A.; MERWE, A. V. der; BARNARD, A. A functional semantic webarchitecture. European Semantic Web Conference 2008, 2008.

GUNZER, H. WIntroduction to Web Services. 2002. Disponıvel em:<http://bdn.borland.com/java/webtech/0,1418,10018,00.html>. Acesso em: 20nov. 2009.

HULL, R. Tools for composite web services: A short overview. Lucent Technologies,2004.

JAVAFREE.ORG. Web Services. Construindo, disponibilizando e acessando Web Servicesvia J2SE e J2ME. 1997. Disponıvel em: <http://www.javafree.org/artigo/871485/>.Acesso em: 01 set. 2009.

JORDAN, L. F. Desenvolvendo um prototipo do uddi. Universidade Federal de SantaCatarina, 2004.

NETSCAPE DEVEDGE. Web Services, SOAP e Aplicacoes Web. 2008. Disponıvel em:<http://devedge-temp.mozilla.org/viewsource/2002/soap-overview/index pt br.html>.Acesso em: 01 set. 2009.

32

OPEN SOURCE INITIATIVE. The Open Source Definition. 2009. Disponıvel em:<http://www.opensource.net/docs/osd>. Acesso em: 01 set. 2009.

PROTeGe. Welcome to Protege. 2009. Disponıvel em: <http://protege.stanford.edu/>.Acesso em: 24 nov. 2009.

RAUTENBERG, S. et al. ontokem: uma ferramenta para construcao e documentacao deontologias. Seminario de Pesquisa em Ontologia no Brasil UFF - IACS, 2008.

RECKZIEGEL, M. Descrevendo, descobrindo e integrando Web Services - UDDI. 2006.Disponıvel em: <http://imasters.uol.com.br/artigo/4474/ webservices/ descrevendodescobrindo e integrando web services uddi/>. Acesso em: 20 nov. 2009.

ROSA, J. H. da. Web services. Universidade do Vale dos Sinos, 2008.

SAML. Organizatuion for the advancement of structured information standards. SAMLSpecification, 2001.

SHANNON, V. A more revolutionary web. International Herald Tribune, 2006.

W3C. Web Services Architecture. 2004. Disponıvel em: <http://www.w3.org/TR/ws-arch/>. Acesso em: 20 nov. 2009.

W3C. Semantic Web, and Other Technologies to Watch. 2007. Disponıvel em:<http://www.w3.org/2007/Talks/0130-sb-W3CTechSemWeb/#(24)>. Acesso em: 25nov. 2009.

W3C. Design Issues. 2008. Disponıvel em: <http://www.w3.org/DesignIssues/>. Acessoem: 20 nov. 2009.

W3C. Semantic Web Activity. 2008. Disponıvel em: <http://www.w3.org/2001/sw/>.Acesso em: 20 nov. 2009.

W3C. Semantic Web Activity Statement. 2008. Disponıvel em:<http://www.w3.org/2001/sw/Activity.html>. Acesso em: 20 nov. 2009.

W3C. Semantic Web Frequently Asked Questions. 2008. Disponıvel em:<http://www.w3.org/2001/sw/SW-FAQ>. Acesso em: 20 nov. 2009.