Serviços Web Semânticos
Upcoming SlideShare
Loading in...5
×
 

Serviços Web Semânticos

on

  • 1,251 views

O grande crescimento na utilização de Serviços Web torna imprescindível o desenvolvimento de uma forma de melhoria no sistema de armazenamento e disponibilização de informações para que se ...

O grande crescimento na utilização de Serviços Web torna imprescindível o desenvolvimento de uma forma de melhoria no sistema de armazenamento e disponibilização de informações para que se torne mais eficiente a maneira de recuperar e transmitir dados. A motivação deste trabalho está em investigar e explorar como associar informação semântica utilizando as tecnologias da Web Semântica durante a disponibilização e recuperação de Serviços Web pelas entidades provedoras e requisitantes em uma entidade registradora.

Statistics

Views

Total Views
1,251
Views on SlideShare
1,251
Embed Views
0

Actions

Likes
0
Downloads
17
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Serviços Web Semânticos Serviços Web Semânticos Document Transcript

  • Serviços Web Semânticos Paulo Vitor Antonini Orlandin paulovitor_e@hotmail.comResumoO grande crescimento na utilização de Serviços Web torna imprescindível odesenvolvimento de uma forma de melhoria no sistema de armazenamento edisponibilização de informações para que se torne mais eficiente a maneira derecuperar e transmitir dados. A motivação deste trabalho está em investigar eexplorar como associar informação semântica utilizando as tecnologias da WebSemântica durante a disponibilização e recuperação de Serviços Web pelasentidades provedoras e requisitantes em uma entidade registradora.Palavras chave: Web Semântica. Serviços Web. WSMO. SWSF. OWL-S. WSDL-S.1. Introdução É inegável que a utilização de Serviços Web traz benefícios concretos ausuários e principalmente a empresas que aderem a esta tecnologia. Atualmente amaioria das empresas vem adotando Serviços Web em busca de interoperabilidadepara suas aplicações. Além disso, mais vantagens são proporcionadas por estatecnologia, como integração de sistemas legados, agilidade no desenvolvimento,diminuição de custos e integração de parceiros comerciais. Apesar de todas estas vantagens, a utilização de Serviços Web possuialgumas limitações, como falta de segurança, possíveis links quebrados e falta desemântica. A falta de semântica ocorre devido a limitação da linguagem de descriçãode serviços (WSDL) e na entidade registradora, responsável pelo registro e pesquisade serviços (UDDI) (BREITMAN, 2005). A tecnologia atual de Serviços Web opera em nível sintático da informação,exigindo assim a necessidade de intervenção humana para tomada de decisões.Com esta tecnologia apenas descrevemos superficialmente as funcionalidades deum serviço. Este modo de descrição ajuda um desenvolvedor na utilização do 1
  • serviço, mas significa muito pouco para interpretação de uma máquina (AKKIRAJUet al., 2005). Ao analisarmos a descrição WSDL de um serviço não podemos dizerinequivocamente o que o serviço faz, podemos observar seus parâmetros deentrada e saída, mas não sabemos seus significados. Pode ocorrer de dois serviçosterem definições sintáticas diferentes e executarem a mesma função. Também podeocorrer de dois serviços possuírem mesma definição sintática e desempenharemfunções completamente diferentes. Por exemplo, dois serviços recebem umparâmetro xsd:string e retornam um xsd:int. O primeiro serviço poderia ser umgetCodigo(), recebendo o nome do funcionário e retornando o código do mesmo. Jáo segundo poderia ser um serviço checarProduto(), onde passaríamos o nome doproduto e receberíamos como resposta sua quantidade (AKKIRAJU et al., 2005). A adoção de ontologias é atualmente a alternativa mais utilizada paraatribuição de semântica a descrições de serviços. A utilização de ontologiasenriquece a descrição dos serviços proporcionando uma automação maior no uso deServiços Web, melhorando assim tarefas de descoberta, seleção, composição eexecução de serviços (AKKIRAJU et al., 2005). Com o intuito de fornecer semântica a Serviços Web foram criadas algumaslinguagens para descrição de serviços como WSDL-S, WSMO, OWL-S e SWSF,como ilustrado na figura 1. Figura 1. Integração entre Serviços Web e Web Semântica. Adaptado de Breitman (2005) 2
  • 2. Web Ontology Language for Services (OWL-S) OWL-S é uma ontologia escrita na linguagem OWL-S cujo objetivo é atribuirsemântica a Serviços Web. OWL-S nada mais é do que a junção da descrição deserviços WSDL com a descrição semântica provida pelo OWL (BREITMAN, 2005). O OWL-S é composto por três módulos: perfil de serviço, modelo de serviço ebase de serviço, como mostra a Figura 2. O perfil de serviço tem como objetivoauxiliar o requisitante na tarefa de descoberta (BREITMAN, 2005). Descreve asfuncionalidades e características do serviço como entradas, resultados da execução,saídas retornadas; basicamente expressa o que o serviço faz (MARTIN et al., 2004).O modelo de serviço descreve como o serviço funciona. Indica ao requisitante qualinformação deve enviar ou receber em um determinado tempo do provedor deserviços. Neste módulo cada serviço pode ser representado de duas formas: comoum processo atômico e compostos (composição de diversos processos) (MARTIN etal., 2004). A base de serviço informa como acessar o serviço (protocolos decomunicação). Descreve como processos se transformam em formatos concretos demensagem (BREITMAN, 2005).Figura 2. Representação dos três módulos que compõem a ontologia OWL-S. Adaptado de Breitman (2005) O trecho de código a seguir demonstra um serviço sendo associado a trêsdocumentos diferentes. Cada documento é referenciado por uma propriedade: 3
  • presents, responsável por definir o perfil; describedBy, responsável por modelar aforma do serviço; e supports, responsável por definir a base do serviço.1. <service:Service2. rdf:ID="DDSOnt_SecondOpinionDiagnosis">3. <service:presents4. rdf:resource=" http://143.107.220.180/DDSOnt/DDSPerfil.owl#Profile_DDSOnt_DDS"/>5. <service:describedBy6. rdf:resource="http://143.107.220.180/DDSOnt/DDSProcesso.owl#Processo_DDSOnt_DDS"/>7. <service:supports8. rdf:resource=9. "http://143.107.220.180/DDSOnt/DDSFundamento.owl#Fundamento_DDSOnt DDS "/>10.</service:Service> Trecho de código 2.1. Utilização das propriedades presents, describedBy e supports Como dito anteriormente, as descrições funcionais devem conter os dados deentrada, saída, pré-condições e pós-condiçoes. O exemplo a seguir descreve umserviço que a partir das informações fornecidas, como pêlo, peso e altura, obteriacomo resposta uma raça de cachorro e como efeito o percentual de confiabilidadeda resposta.1. <profile:hasInput2. rdf:resource=" #pelo"/>3. <profile:hasInput4. rdf:resource=" #peso"/>5. <profile:hasInput6. rdf:resource=" #altura"/>7. <profile:hasOutput8. rdf:resource=" #raça"/>9. <profile:hasEffect10. rdf:resource=" #confiabilidade"/> Trecho de código 2.2. Descrições funcionais de um serviço Também podemos definir informações sobre provedor, serviço, descrição doserviço e contato de um administrador do serviço utilizando algumas propriedades:serviceName, textDescription e contactInformation, como exemplificado no trecho decódigo abaixo. 4
  • 1. <profile:serviceName>2. Retorna a raça de um cachorro3. </profile:serviceName>4. <profile:textDescription>5. Este serviço recebe um conjunto de valores de um cachorro e responde uma possível raça6. </profile:textDescription>7. <profile:contactInformation>8. <actor:phone>5555555 </actor:phone>9. <actor:fax>5555566</actor:fax>10. <actor:email>paulovitor_e@hotmail.com</actor:email>11. </profile:contactInformation> Trecho de código 2.3. Definição de informações sobre provedor, serviço e administrador3. Web Service Semantics (WSDL-S) WSDL-S é um mecanismo utilizado para enriquecimento de descrições deServiços Web. Sua proposta é adicionar descrições semânticas em interfaces WSDLtradicionais. Devido a extensibilidade proporcionada pelos elementos de WSDL,WSDL-S é capaz de descrever características do serviço, como porexemplo,entradas, saídas, precondições e resultados apos a execução de umserviço. A capacidade de descrever características do serviço permite aautomatização do processo de descoberta do serviço sem que haja ambigüidade(AKKIRAJU et al., 2005). WSDL-S deve obedecer alguns princípios básicos como: • A utilização de padrões existentes para Serviços Web, pois o serviço deve ser compatível a documentos WSDL comuns, facilitando assim a integração entre serviços descritos semanticamente e serviços descritos sem semântica (AKKIRAJU et al., 2005). • Independência de linguagem de representação. Deve ser de escolha do desenvolvedor qual linguagem de representação semântica utilizar (AKKIRAJU et al., 2005). • Anotações semânticas cujos tipos de dados são descritos em XML Schema. 5
  • 4. Web Services Modeling Ontology (WSMO) WSMO é uma ontologia que visa representar formalmente a descrição dosserviços objetivando a automatização (parcial ou total) das tarefas de descoberta,invocação, composição e inter-operação. Possui quatro elementos principais:ontologias, serviços, objetivos e mediadores. Os elementos de um WSMO sãodefinidos pela linguagem MOF (Meta Object Facility), utilizada para especificar meta-modelos. MOF define uma linguagem abstrata e um framework para construção eadministração de meta-modelos neutros em relação a aspectos de implementação.A arquitetura MOF é composta por quatro camadas: informação, modelo, meta-modelo e meta-meta-modelo. A WSMO em si corresponde a camada meta-modelo,a linguagem que define a WSMO corresponde a camada meta-meta-modelo, todosos elementos pertencentes ao WSMO pertencem a camada de modelo e os dadosdescritos por ontologias pertencem a camada de informação, como representado nafigura 3 (BRUIJN et al., 2005). Figura 3. Camadas da arquitetura MOF. Adaptado de Bruijn (2005) O elemento ontologia em WSMO pode possuir propriedades não funcionais,importar ontologias, mediadores, conceitos, relações, funções, instancias e axiomas.Propriedades não funcionais descrevem algumas características sobre a ontologia,como por exemplo, linguagem de descrição, autor, etc. Importando uma ontologiamodularíamos o projeto, diminuindo assim a complexidade de alguma tarefa. Casohaja algum conflito entre as partes importadas torna-se necessário o uso demediadores. Já os conceitos “constituem os elementos básicos de uma terminologiaacordada para algum domínio de problema” (BRUIJN et al., 2005). Relações sãoutilizadas para criação de um modelo que relacione os vários conceitos. Função é 6
  • uma relação com um intervalo unária e um domínio n-ário. Instancias podem serdefinidas explicitamente ou fazendo uma ligação a uma base de dados externa, ouseja, armazenando suas instancias e seus valores externamente. Axiomas sãoexpressões lógicas em conjunto com seus valores não funcionais (BRUIJN et al.,2005). O elemento serviço é composto por ontologias importadas, propriedades nãofuncionais e mediadores. Fornece também a descrição do serviço, contendoinformações sobre sua funcionalidade e interfaces (BRUIJN et al., 2005). Objetivos descrevem os resultados obtidos após a execução do serviço,auxiliando assim, na escolha de qual serviço satisfaz a necessidade do usuário(BRUIJN et al., 2005). Mediadores são utilizados para prover integração entre recursosheterogêneos. Existem quatro tipos de mediadores. Mediadores OO resolvempossíveis desequilíbrios entre ontologias importadas; mediadores GG ligamobjetivos, permitindo-se que a partir de objetivos pré existentes sejam criado umnovo objetivo; mediador WG, que liga um objetivo a um serviço, significando que oserviço cumpre (totalmente ou parcialmente) o objetivo com o qual está ligado;mediador WW estabelece ligações entre Serviços Web (BRUIJN et al., 2005). Abaixo um exemplo da descrição de um serviço utilizando WSMO. Esteserviço executa a mesma função vista anteriormente, onde se recebe trêsinformações (pêlo, peso e altura) obtendo como resposta uma raça e o percentual deconfiabilidade da resposta. 1. precondition 2. axiom #pelo 3. precondition 4. axiom #peso 5. precondition 6. axiom #altura 7. postcondition 8. axiom #raça 9. effect10. axiom #confiabilidade Trecho de código 4.1. Definição dos valores de entrada, saída e efeito Os valores de entrada, saída e efeito são representados pelas propriedadespreconditio, postcondition e effect respectivamente. Já as propriedades title, 7
  • description e creator podem fornecer informações sobre provedor, serviço e criadorcomo poder ser observado no trecho de código abaixo. 1. dc:title 2. hasValue "Retorna a raça de um cachorro" 3. dc:description 4. hasValue "Recebe um conjunto de valores de um cachorro e responde uma possível raça." 5. dc:creator 6. hasValue “Paulo Vitor” Trecho de código 4.2. Definição de informações sobre provedor, serviço e administrador5. Semantic Web Services Framework (SWSF) SWSF (Semantic Web Services Framework) é uma iniciativa recente propostapelo Semantic Web Services Language Committee com o intuito de proversemântica a Serviços Web. Seus principais componentes são: SWSO (SemanticWeb Services Ontology) e SWSL (Semantic Web Services Language) (BATTLE etal., 2005). SWSL é uma linguagem utilizada para descrever formalmente um ServiçoWeb. É uma linguagem de propósito geral, portanto não é focada para serviços,porém, suporta atribuição de semântica a descrição de Serviços Web. É compostopor duas sub-linguagens: SWSL-FOL "baseia-se em lógica de primeira ordem e éutilizada para expressar a caracterização formal (ontologia) dos conceitos deServiços Web" (BATTLE et al., 2005). SWSL-Rules baseia-se no paradigma deprogramação lógica (regras). SWSO é uma ontologia e um modelo conceitual que permite a descrição deServiços Web permitindo ainda caracterizar formalmente este modelo. O modeloconceitual SWSO é composto por dois componentes: SWSL-FOL baseada em lógicade primeira ordem, e ROWS, baseada na programação lógica. Um axioma completoé obtido utilizando-se SWS-FOL com uma semântica que especifique o significadopreciso dos conceitos, resultando assim em uma ontologia denominada FLOWS(First-Order Logic Ontology for Web Services). Com a tradução dos axiomas deFLOWS para a linguagem SWSL-Rules resultou-se em uma nova ontologia,chamada ROWS (Rules Ontology for Web Services) (BATTLE et al., 2005). 8
  • FLOWS possui três módulos: perfil de serviço, modelo de serviço e base deserviço. Perfil de serviço fornece descrições sobre um serviço. Modelo de serviçodescreve as funcionalidades, características e como opera um determinado serviço.Base de serviço é usada para ligação, informa como acessar o serviço. Com a definição destes módulos observamos a grande influencia daabordagem OWL-S. Podemos dizer que FLOWS é um aperfeiçoamento daabordagem OWL-S, enfatizando a interoperabilidade com padrões existentes.Também herdou do PSL (Process Specification Language), algumas característicasque permitem um rico modelo para descrição de aspectos comportamentais deServiços Web.6. Conclusão Um dos principais problemas em se utilizar uma entidade registradora em umServiço Web é a forma como os serviços são descritos. Uma entidade registradoracomum descreve os serviços apenas sintaticamente, resultando assim em umgrande número de resultados indesejados. Esse problema pode ser resolvido pormeio da tecnologia da Web Semântica, resultando em uma melhor eficiência noserviço de descoberta, permitindo assim, que uma entidade registradora retorne commelhor eficiência serviços desejados por uma entidade requisitante, reduzindo onúmero de resultados incorretos retornados ao cliente.Referências Bibliográficas AKKIRAJU, R. et al. Web Service Semantics – WSDL-S, Novembro 2005. Disponível em http://www.w3.org/Submission/WSDL-S/. BATTLE, S. et al. Semantic Web Services Framework (SWSF), Setembro 2005. Disponível em http://www.w3.org/Submission/SWSF/ BERNERS-LEE, T.; HENDLER, J.; LASSILA, O. The semantic web, Maio 2001. Disponível em http://www.sciam.com/article.cfm?id=the-semantic-web. BREITMAN, K. Web Semântica a Internet do futuro. RJ: LTC,2005. 9
  • BRUIJN, J. et al. Web Service Modeling Ontology (WSMO), Junho 2005.Disponível em http://www.w3.org/Submission/WSMO/BOOTH, D. et al. Web Services Architecture, Fevereiro 2004. Disponível emhttp://www.w3.org/TR/2004/NOTE-ws-arch-20040211/MARTIN, D. et al. OWL-S: Semantic Markup for Web Services, Novembro2004. Disponível em http://www.w3.org/Submission/OWL-S/SMITH, M.; WELTY, C.; MCGUINNESS, D. OWL Web Ontology LanguageGuide, Fevereiro 2004. Disponível em http://www.w3.org/TR/2004/REC-owl-guide-20040210/. 10