Semantic RESTful 
INterfaces 
Mestrando: 
Bruno de Azevedo Muniz 
Orientador: 
Prof. Dr. Pedro Porfírio Muniz Farias
Resumo 
Este trabalho apresenta as Semantic RESTful 
Interfaces - SERIN, especificação que propõe a 
utilização de interfa...
Agenda 
1. Introdução 
2. Semantic RESTful Interfaces 
3. Ontologias como Interfaces Semânticas 
4. Semântica das Operaçõe...
Introdução 
Para possibilitar a troca de informações na web, 
são utilizados serviços web baseados em 
tecnologias como SO...
Introdução 
Novos serviços web são disponibilizados todos os 
dias, porém, normalmente, o intercâmbio dos 
dados, não ocor...
Introdução 
Para que a troca de informações seja automática, 
é essencial uma padronização semântica explícita 
do conteúd...
Introdução 
Os serviços web tradicionais não possuem 
mecanismos para tratar desta padronização 
semântica explícita. 
Ser...
Web Semântica 
Neste contexto, a Web Semântica surge como 
uma proposta que objetiva a troca de informações 
entre agentes...
Serviços Web Semânticos 
Desta forma, para permitir uma interação dinâmica 
e automática entre sistemas, os serviços web 
...
Serviços Web Semânticos 
Existem diversas propostas para Serviços Web 
Semânticos e estas podem ser classificadas, de 
aco...
! 
Anotações na Descrição 
dos Serviços
Ontologias Descrevendo 
Serviços 
!
Anotações em Ontologias 
Especificando Interfaces 
!
Semantic RESTful 
Interfaces
Semantic RESTful 
Interfaces 
Semantic RESTful Interfaces (SERIN), de forma 
geral, são interfaces semânticas abstratas qu...
Semantic RESTful 
Interfaces 
A proposta SERIN concentra-se na especificação 
de conceitos compartilhados, representados p...
Interfaces Semânticas 
Abstratas 
A Programação Orientada a 
Objetos preconiza que interfaces 
representam contratos entre...
Interfaces Semânticas 
Abstratas 
Semântica: destaca que as interfaces definidas 
estão em conformidade com a Web Semântic...
Interfaces Semânticas 
Abstratas 
Abstrata: define que a interface não possui 
nenhuma indicação da implementação concreta...
Semantic RESTful 
Interfaces 
Interfaces Compartilhadas e 
Públicas 
Interface 1 Interface 3 Interface 2 
Host C Host B Ho...
Semantic RESTful 
Interfaces 
GET 
Interface Pública 
Agente do 
paciente 
GET 
Get 
Clínica 1 
Clínica 2 
Clinic 
Clínica...
Ontologias como 
Interfaces Semânticas
Por que utilizar Ontologias? 
Ontologias são definidas como: 
“Uma especificação explícita e formal de uma 
conceitualizaç...
Por que utilizar Ontologias? 
Uma ontologia é composta de um conjunto de 
conceitos: indivíduos, classes, propriedades, et...
Conhecimento 
Compartilhado X Particular 
A ontologia especifica um conhecimento 
compartilhado, logo presume-se também a ...
Conhecimento 
Compartilhado X Particular 
A ontologia não possui o conhecimento particular 
de cada agente, contudo, é pos...
Conhecimento 
Compartilhado X Particular 
O conhecimento compartilhado é uma ontologia 
anotada, descrita em OWL, que desc...
Compartilhado X Particular 
GET 
Specialty 
Name 
Conhecimento 
Conhecimento compatilhado 
Serviços 
RESTFul 
Recursos 
do...
Ontologias como Interfaces 
Semânticas 
Uma Semantic RESTful Interface (SERIN) é uma 
ontologia de domínio anotada, descri...
Semântica das Operações
Semântica das Operações 
A arquitetura REST, reaproveita os verbos do 
HTTP e preconiza um conjunto de operações 
padroniz...
Semântica das Operações 
SERIN estabelece quatro anotações semânticas 
que podem ser utilizadas para anotar classes de 
um...
Semântica das Operações 
String 
Class B 
Class A 
RESTful Web Services 
Resource 
A 
Semantic RESTful Interfaces - SERIN ...
Semântica das Operações 
As anotações semânticas devem ser aplicadas, 
exclusivamente, sobre as classes de uma 
ontologia;...
Operação GET 
Cliente web service 
GET http://www.activeontology.com.br/serin/www.unifor.br/clinic.owl/Clinic 
Lista com t...
Operação POST 
RDF/XML 
Cliente web service 
POST http://www.activeontology.com.br/serin/www.unifor.br/clinic.owl/Clinic 
...
Operação DELETE 
Cliente web service 
DELETE http://www.activeontology.com.br/serin/www.unifor.br/clinic.owl/Clinic/100 
P...
Operação PUT 
Atualiza as informações de uma instância do 
servidor; 
Possui similaridade com a operação POST, 
contudo, o...
Convenção de 
Endereçamento
Convenção de 
Endereçamento 
Segundo a arquitetura REST, todo recurso 
disponível em um host deve ser identificados por 
u...
Convenção de 
Endereçamento 
http://example-serin.rhcloud.com/doutor 
http://www.activeontology.com.br/medico 
Agente do 
...
Convenção de 
Endereçamento 
A convenção proposta por SERIN é baseada na 
decomposição da URL em duas partes: 
Host Recurs...
Benefícios da Convenção 
de Endereçamento 
1. Um agente pode identificar quais interfaces 
semânticas um determinado host ...
Convenção de 
Endereçamento 
Doctor 
SERIN URI ::= 
Get 
Put 
Post 
Delete 
www.unifor.br/clinic.owl 
GET 
http://semantic...
Arquitetura SERIN
Tecnologias Envolvidas
SERIN Framework 
O SERIN Framework é uma biblioteca JAVA 
desenvolvida para auxiliar na publicação de 
serviços web semânt...
Arquitetura SERIN 
<<Imports>> 
Client Side Server Side 
<<JAX-RS>> 
Web Service 
<<Framework>> 
SERIN Server 
<<API>> 
Se...
Arquitetura SERIN 
<<Imports>> 
Client Side Server Side 
<<JAX-RS>> 
Web Service 
<<Framework>> 
SERIN Server 
<<API>> 
Se...
Exemplo de Utilização 
CLINIC.owl 
<owl:Ontology rdf:about="http://www.unifor.br/clinic.owl"> 
<rdfs:comment>Clinic Ontolo...
Exemplo de Utilização 
SERIN.owl 
<owl:Ontology rdf:about="http://www.activeontology.com.br/serin.owl">... 
</owl:Ontology...
Exemplo de Utilização 
Um agente paciente deseja agendar uma consulta 
com um médico, disponível em uma clínica. Para 
iss...
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns="http://www.unifor.br/clinic.owl#" 
… 
xmlns:serin...
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
… 
xmlns:j.0="http://www.unifor.br/clinic.owl#" 
xmlns:r...
Análise Comparativa
Análise Comparativa 
A Análise realizada verifica elementos comuns 
entre SERIN e os trabalhos relacionados, com o 
objeti...
SERIN x Serviços Web 
Tradicionais 
A tabela apresenta os critérios utilizados para a 
comparação e a posição de cada tecn...
SERIN x Serviços Web 
Semânticos 
Para comparar a especificação SERIN com as 
propostas para Serviços Web Semânticos, fora...
SERIN x Anotações na 
Descrição dos Serviços (SWS) 
Especificam 
Interfaces 
Semânticas 
Objetivo da 
especificação 
Repre...
SERIN x Ontologias 
Descrevendo Serviços (SWS) 
Representação 
semântica 
Processamento adicional 
da descrição semântica ...
Análise Comparativa 
A diferença predominante entre SERIN e os trabalhos 
relacionados a serviços web semânticos é a 
impo...
Conclusão
Conclusão 
Este trabalho apresenta a especificação SERIN, que 
introduz as Interfaces Semânticas Abstratas, 
aplicadas na ...
Conclusão 
Apesar de existirem como proposta, as descrições 
de serviços web RESTful são pouco adotadas na 
prática; 
Os s...
Conclusão 
Entre as propostas para Serviços Web RESTful 
Semânticos, SERIN é a representação mais 
sucinta, visto que anot...
Conclusão 
Algumas contribuições de SERIN no cenário da 
interligação de dados e dos SWS: 
1. Apresenta um modelo que sepa...
Conclusão 
3. Especifica uma semântica precisa dos 
recursos disponibilizados por cada host; 
4. Especifica as operações d...
Trabalhos Futuros 
1. Navegação semântica, buscando mecanismos 
para orquestração e composição de serviços web 
semânticos...
Trabalhos Futuros 
3. Máquina de busca que irá aproveitar a convenção 
de endereçamento para identificar e indexar os host...
Obrigado!
Próximos SlideShares
Carregando em…5
×

Defesa da Dissertação de Mestrado em Informática Aplicada pela Universidade de Fortaleza

378 visualizações

Publicada em

Os serviços web RESTful se tornaram um padrão de larga utilização que permitem manipular dados, denominados recursos, disponibilizados em servidores distribuídos na web, denominados hosts. Neste contexto, várias propostas têm sido feitas para tentar formalizar a semântica de recursos e dos serviços web que os manipulam e, desta forma, tentar integrar os serviços web RESTful ao cenário da Web Semântica. Entretanto, estas propostas se aplicam a serviços web concretos e não a uma interface abstrata que possa ser reutilizada por várias implementações concretas. Este trabalho apresenta as Semantic RESTful INterfaces - SERIN, especificação que propõe a utilização de interfaces semânticas abstratas na descrição de recursos e serviços web RESTful. Interfaces semânticas são ontologias anotadas, escritas em OWL, cujas classes descrevem, formalmente, a semântica de recursos REST, e cujas anotações indicam quais serviços web estarão disponíveis, para manipular os recursos de um host. O SERIN, analogamente as interfaces da Programação Orientada a Objetos, especifica interfaces abstratas, isto é, desconectadas de qualquer implementação concreta, logo, representam um contrato que determina recursos e serviços web que devem estar disponíveis por todo host que implementa.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
378
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
6
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Defesa da Dissertação de Mestrado em Informática Aplicada pela Universidade de Fortaleza

  1. 1. Semantic RESTful INterfaces Mestrando: Bruno de Azevedo Muniz Orientador: Prof. Dr. Pedro Porfírio Muniz Farias
  2. 2. Resumo Este trabalho apresenta as Semantic RESTful Interfaces - SERIN, especificação que propõe a utilização de interfaces semânticas abstratas para descrição de recursos e serviços web RESTful; Interfaces semânticas são ontologias anotadas, escritas em OWL, cujas classes descrevem, formalmente, a semântica de recursos REST, e cujas anotações indicam os serviços web RESTful que estarão presentes para manipular os recursos.
  3. 3. Agenda 1. Introdução 2. Semantic RESTful Interfaces 3. Ontologias como Interfaces Semânticas 4. Semântica das Operações 5. Convenção de Endereçamento 6. Arquitetura SERIN 7. Análise Comparativa 8. Conclusão
  4. 4. Introdução Para possibilitar a troca de informações na web, são utilizados serviços web baseados em tecnologias como SOAP e REST; Dentre estas propostas, os serviços web RESTful vêm ganhando notoriedade em todo o meio computacional, visto que seus conceitos são simples e funcionais.
  5. 5. Introdução Novos serviços web são disponibilizados todos os dias, porém, normalmente, o intercâmbio dos dados, não ocorre de forma automática, isto é: O desenvolvedor de um agente que pretende interagir com um serviço web precisa, antes, comunicar-se com o autor do conteúdo publicado, para entender a semântica implícita ao serviço.
  6. 6. Introdução Para que a troca de informações seja automática, é essencial uma padronização semântica explícita do conteúdo publicado; Esta padronização deve ser construída em um formato capaz de ser interpretado por máquinas, sem a intervenção humana.
  7. 7. Introdução Os serviços web tradicionais não possuem mecanismos para tratar desta padronização semântica explícita. Serviços Web
  8. 8. Web Semântica Neste contexto, a Web Semântica surge como uma proposta que objetiva a troca de informações entre agentes de software, de forma automática, a partir da atribuição de uma semântica formal para o conteúdo publicado na web.
  9. 9. Serviços Web Semânticos Desta forma, para permitir uma interação dinâmica e automática entre sistemas, os serviços web semânticos surgem, dotando os serviços web de uma descrição formal, nos moldes prescritos pela Web Semântica.
  10. 10. Serviços Web Semânticos Existem diversas propostas para Serviços Web Semânticos e estas podem ser classificadas, de acordo com a estratégia para atribuir semântica formal aos serviços web.
  11. 11. ! Anotações na Descrição dos Serviços
  12. 12. Ontologias Descrevendo Serviços !
  13. 13. Anotações em Ontologias Especificando Interfaces !
  14. 14. Semantic RESTful Interfaces
  15. 15. Semantic RESTful Interfaces Semantic RESTful Interfaces (SERIN), de forma geral, são interfaces semânticas abstratas que possibilitam a construção de serviços web semânticos, unindo os preceitos da arquitetura REST e da Web Semântica.
  16. 16. Semantic RESTful Interfaces A proposta SERIN concentra-se na especificação de conceitos compartilhados, representados por ontologias que, posteriormente, irão guiar a construção de recursos REST e das operações; O conceito representado tem um papel maior do que uma descrição semântica para serviços web. Esta ontologia irá representar uma Interface Semântica Abstrata.
  17. 17. Interfaces Semânticas Abstratas A Programação Orientada a Objetos preconiza que interfaces representam contratos entre um agente e o mundo externo. <<interface>> A + GET() + PUT() + POST() + DELETE() B + GET() + PUT() + POST() + DELETE() C + GET() + PUT() + POST() + DELETE()
  18. 18. Interfaces Semânticas Abstratas Semântica: destaca que as interfaces definidas estão em conformidade com a Web Semântica, consequentemente, devem ser, explicitamente, representadas por ontologias.
  19. 19. Interfaces Semânticas Abstratas Abstrata: define que a interface não possui nenhuma indicação da implementação concreta, muito menos está vinculada a qualquer host que concretize a interface.
  20. 20. Semantic RESTful Interfaces Interfaces Compartilhadas e Públicas Interface 1 Interface 3 Interface 2 Host C Host B Host A
  21. 21. Semantic RESTful Interfaces GET Interface Pública Agente do paciente GET Get Clínica 1 Clínica 2 Clinic Clínica 3 GET
  22. 22. Ontologias como Interfaces Semânticas
  23. 23. Por que utilizar Ontologias? Ontologias são definidas como: “Uma especificação explícita e formal de uma conceitualização compartilhada” (GRUBER, 1993)
  24. 24. Por que utilizar Ontologias? Uma ontologia é composta de um conjunto de conceitos: indivíduos, classes, propriedades, etc, cujo significado é, previamente, conhecido por todos que desejam compartilhar informações.
  25. 25. Conhecimento Compartilhado X Particular A ontologia especifica um conhecimento compartilhado, logo presume-se também a e x i s t ê n c i a d e u m conhecimento não compartilhado; e.g.: Quando um interlocutor A pergunta a um interlocutor B sua idade, ambos devem conhecer o conceito de “idade”. O conceito “idade” deve pertencer à ontologia, entretanto, o valor da idade do interlocutor B, não pertence.
  26. 26. Conhecimento Compartilhado X Particular A ontologia não possui o conhecimento particular de cada agente, contudo, é possível analisar como este conhecimento será representado; No contexto dos serviços web RESTful, o conhecimento particular de cada agente servidor é composto pelos recursos disponíveis em um host, representados por triplas RDF.
  27. 27. Conhecimento Compartilhado X Particular O conhecimento compartilhado é uma ontologia anotada, descrita em OWL, que descreve classes e propriedades, representando recursos e seus atributos, e anotações semânticas, indicando serviços web RESTful disponíveis.
  28. 28. Compartilhado X Particular GET Specialty Name Conhecimento Conhecimento compatilhado Serviços RESTFul Recursos do Host A Doctor Doctor: 1; Name: Pedro Doctor: 2; Name: Laura Serviços RESTFul Doctor: 100; Name: Renato Doctor: 101; Name: Hermano Recursos do Host B MedicalSpecialty String Conhecimento especifico Nephroogy Cardiology …. Interface Clinic.owl
  29. 29. Ontologias como Interfaces Semânticas Uma Semantic RESTful Interface (SERIN) é uma ontologia de domínio anotada, descrita em OWL, que representa uma interface semântica abstrata, pública e compartilhada com todos aqueles que tenham interesse na sua descrição. .
  30. 30. Semântica das Operações
  31. 31. Semântica das Operações A arquitetura REST, reaproveita os verbos do HTTP e preconiza um conjunto de operações padronizadas, para manipular os recursos existente em um host; Essa padronização é particularmente interessante pois minimiza a complexidade da descrição de uma semântica formal das operações disponíveis nos hosts.
  32. 32. Semântica das Operações SERIN estabelece quatro anotações semânticas que podem ser utilizadas para anotar classes de uma ontologia; Cada anotação representa um serviço web RESTful que deverá estar disponível no host para manipular o recurso.
  33. 33. Semântica das Operações String Class B Class A RESTful Web Services Resource A Semantic RESTful Interfaces - SERIN GET PUT POST DELETE Ontology Host
  34. 34. Semântica das Operações As anotações semânticas devem ser aplicadas, exclusivamente, sobre as classes de uma ontologia; As quatro operações estão mapeadas nos quatro métodos do HTTP para manter conformidade com a especificação REST.
  35. 35. Operação GET Cliente web service GET http://www.activeontology.com.br/serin/www.unifor.br/clinic.owl/Clinic Lista com todos os individuos "Clinic" Parâmetro: identificador de uma instância (opcional) Retorno: Lista de instâncias ou uma única instância, caso o identificador seja informado como parâmetro.
  36. 36. Operação POST RDF/XML Cliente web service POST http://www.activeontology.com.br/serin/www.unifor.br/clinic.owl/Clinic HTTP 201 + Novo Individuo Parâmetro: RDF com as informações da nova instância Retorno: Código 201 + Representação do Novo Recurso
  37. 37. Operação DELETE Cliente web service DELETE http://www.activeontology.com.br/serin/www.unifor.br/clinic.owl/Clinic/100 Parâmetro: identificador da instância que será removida Retorno: Código 200 HTTP 200
  38. 38. Operação PUT Atualiza as informações de uma instância do servidor; Possui similaridade com a operação POST, contudo, o identificador da instância deve ser informado na requisição para atualizar as informações.
  39. 39. Convenção de Endereçamento
  40. 40. Convenção de Endereçamento Segundo a arquitetura REST, todo recurso disponível em um host deve ser identificados por uma URL; Entretanto, não existe uma padronização da URL quando recursos possuem semântica similar.
  41. 41. Convenção de Endereçamento http://example-serin.rhcloud.com/doutor http://www.activeontology.com.br/medico Agente do paciente GET GET
  42. 42. Convenção de Endereçamento A convenção proposta por SERIN é baseada na decomposição da URL em duas partes: Host Recurso http://www.activeontology.com.br/serin/www.unifor.br/clinic.owl/Clinic/{resourceID} Ontologia Classe Identificador
  43. 43. Benefícios da Convenção de Endereçamento 1. Um agente pode identificar quais interfaces semânticas um determinado host implementa; 2. Um agente pode identificar hosts que se utilizam de uma mesma interface semântica; 3. É possível a construção de um crawler para indexar os hosts que utilizam interfaces semânticas abstratas.
  44. 44. Convenção de Endereçamento Doctor SERIN URI ::= Get Put Post Delete www.unifor.br/clinic.owl GET http://semantic-interfaces.rhcloud.com /serin/www.unifor.br/clinic.owl/doctor http://example-serin.rhcloud.com/ serin/www.unifor.br/clinic.owl/doctor http://www.activeontology.com.br/ serin/www.unifor.br/clinic.owl/doctor get get get Patient Agent GET GET Medical Speciality Clinic Get
  45. 45. Arquitetura SERIN
  46. 46. Tecnologias Envolvidas
  47. 47. SERIN Framework O SERIN Framework é uma biblioteca JAVA desenvolvida para auxiliar na publicação de serviços web semântico RESTful, empregando as interfaces semânticas SERIN; Não existe obrigatoriedade quanto ao seu uso. É possível publicar aplicações que sigam os mesmos preceitos descritos pelas interfaces SERIN, sem a utilização do arcabouço.
  48. 48. Arquitetura SERIN <<Imports>> Client Side Server Side <<JAX-RS>> Web Service <<Framework>> SERIN Server <<API>> SerinClient RRDDFF GGrraapphh SSttoorree <<Agent>> Client <<RDF Parser>> Jena <<Provider>> Graph Store <<Provider>> Relational Database RRDDBBSS Semantic Restful Web Service Layer Persistence Layer Internet Serin Ontology ClInic Ontology <<Knows>> <<Knows>> RDF Messages
  49. 49. Arquitetura SERIN <<Imports>> Client Side Server Side <<JAX-RS>> Web Service <<Framework>> SERIN Server <<API>> SerinClient RRDDFF GGrraapphh SSttoorree <<Agent>> Client <<RDF Parser>> Jena <<Provider>> Graph Store <<Provider>> Relational Database RRDDBBSS Semantic Restful Web Service Layer Persistence Layer Internet Serin Ontology ClInic Ontology <<Knows>> <<Knows>> RDF Messages 1 3 2 1. Construção da Ontologia; 2. Construção do SWS SERIN; 3. Construção do Agente Cliente.
  50. 50. Exemplo de Utilização CLINIC.owl <owl:Ontology rdf:about="http://www.unifor.br/clinic.owl"> <rdfs:comment>Clinic Ontology</rdfs:comment> <owl:imports rdf:resource="http://www.activeontology.com.br/serin.owl"/> </owl:Ontology> <owl:Class rdf:about="http://www.unifor.br/clinic.owl#Clinic"> <serin:get></serin:get> </owl:Class> <owl:Class rdf:about="http://www.unifor.br/clinic.owl#Doctor"> <serin:get></serin:get> <serin:post></serin:post> <serin:delete></serin:delete> <serin:put></serin:put> </owl:Class> <owl:Class rdf:about=“http://www.unifor.br/clinic.owl#Specialty"> </owl:Class>
  51. 51. Exemplo de Utilização SERIN.owl <owl:Ontology rdf:about="http://www.activeontology.com.br/serin.owl">... </owl:Ontology> <owl:AnnotationProperty rdf:about="&serin;get"> <rdfs:range rdf:resource="&xsd;string"/> </owl:AnnotationProperty> <owl:AnnotationProperty rdf:about="&serin;delete"> <rdfs:range rdf:resource="&xsd;string"/> </owl:AnnotationProperty> <owl:AnnotationProperty rdf:about="&serin;put"> <rdfs:range rdf:resource="&xsd;string"/> </owl:AnnotationProperty> <owl:AnnotationProperty rdf:about="&serin;post"> <rdfs:range rdf:resource="&xsd;string"/> </owl:AnnotationProperty>
  52. 52. Exemplo de Utilização Um agente paciente deseja agendar uma consulta com um médico, disponível em uma clínica. Para isso, os seguintes passos são realizados: 1. Agente consulta os agendamentos (Appointment) previamente existentes em um servidor (operação GET); 2. Agente agenda a consulta, adicionando uma nova instância no servidor (operação POST).
  53. 53. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.unifor.br/clinic.owl#" … xmlns:serin="http://www.activeontology.com.br/serin.owl#"> <rdfs:Resource rdf:about="http://www.unifor.br/clinic.owl#"> <attendedBy rdf:resource= "www.activeontology.com.br/serin/www.unifor.br/clinic.owl/Doctor/100"/> <patientScheduled rdf:resource= "www.activeontology.com.br/serin/www.unifor.br/clinic.owl/Patient/112"/> <clinicLocation rdf:resource= "www.activeontology.com.br/serin/www.unifor.br/clinic.owl/Clinic/101"/> <appointmentDate rdf:datatype="xsd:dateTime">12-28-2014 17:00:00 </appointmentDate> <rdf:type rdf:resource="http://www.unifor.br/clinic.owl#Appointment"/> … Exemplo de Utilização Documento RDF enviado na requisição POST
  54. 54. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" … xmlns:j.0="http://www.unifor.br/clinic.owl#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <Appointment rdf:about= "www.activeontology.com.br/serin/www.unifor.br/clinic.owl/Appointment/113"> <appointmentDate rdf:datatype="xsd:dateTime">12-28-2014 17:00:00 </appointmentDate> <clinicLocation rdf:resource= “www.activeontology.com.br/serin/www.unifor.br/clinic.owl/Clinic/101"/> <patientScheduled rdf:resource= “www.activeontology.com.br/serin/www.unifor.br/clinic.owl/Patient/112"/> <attendedBy rdf:resource= "www.activeontology.com.br/serin/www.unifor.br/clinic.owl/Doctor/100"/> … Exemplo de Utilização Documento RDF retornado pela requisição POST
  55. 55. Análise Comparativa
  56. 56. Análise Comparativa A Análise realizada verifica elementos comuns entre SERIN e os trabalhos relacionados, com o objetivo de apresentar vantagens e desvantagens entre as propostas; Esta Análise foi segmentada em duas etapas: 1. SERIN x Serviços Web Tradicionais 2. SERIN x Serviços Web Semânticos
  57. 57. SERIN x Serviços Web Tradicionais A tabela apresenta os critérios utilizados para a comparação e a posição de cada tecnologia, de acordo com o parâmetro apresentado.
  58. 58. SERIN x Serviços Web Semânticos Para comparar a especificação SERIN com as propostas para Serviços Web Semânticos, foram realizadas duas avaliações distintas, de acordo com a estratégia para atribuir semântica aos serviços web: 1. SERIN x Anotações na descrição de serviços; e 2. SERIN x Ontologias descrevendo serviços;
  59. 59. SERIN x Anotações na Descrição dos Serviços (SWS) Especificam Interfaces Semânticas Objetivo da especificação Representação Semântica Matching Semântico SA-REST Não Adicionar meta-dados semânticos para descrição de serviços Anotações semântica sobre HTML/XHTML Aproximado, "Humans first and machines second" SBWS Não Integração de dados entre endpoints SPARQL Anotações semântica sobre WADL Aproximado, baseado na definição das entradas e saídas SERIN Sim Definir Interfaces Abstradas Ontologia de domínio anotada Exato, baseado nas interfaces
  60. 60. SERIN x Ontologias Descrevendo Serviços (SWS) Representação semântica Processamento adicional da descrição semântica Padrão de URL para acessar o recurso Micro WSMO HTML apontando para Ontologias WSMO-lite Sim, para extrair as ontologias Não EXPRESS Ontologia OWL Sim, para gerar os serviços web URL gerada pelo motor EXPRESS SERIN Ontologia OWL Não Convenção de Endereçamento
  61. 61. Análise Comparativa A diferença predominante entre SERIN e os trabalhos relacionados a serviços web semânticos é a importância atribuída à interface que descreve o serviço; Para a maioria das propostas, a descrição semântica deriva-se de um serviço web concreto, sem a devida preocupação com outros serviços com semântica similar ou com os futuros serviços que poderão surgir;
  62. 62. Conclusão
  63. 63. Conclusão Este trabalho apresenta a especificação SERIN, que introduz as Interfaces Semânticas Abstratas, aplicadas na descrição semântica e sintática de recursos e serviços web RESTful.
  64. 64. Conclusão Apesar de existirem como proposta, as descrições de serviços web RESTful são pouco adotadas na prática; Os serviços web RESTful não exigem, de forma alguma, qualquer descrição, seja sintática ou semântica; Este é um forte motivo adicional para se preferir anotar as ontologias.
  65. 65. Conclusão Entre as propostas para Serviços Web RESTful Semânticos, SERIN é a representação mais sucinta, visto que anota o único elemento indispensável para representar a semântica - as ontologias de domínio.
  66. 66. Conclusão Algumas contribuições de SERIN no cenário da interligação de dados e dos SWS: 1. Apresenta um modelo que separa interfaces semânticas abstratas de implementações concretas de serviços web RESTful; 2. Estabelece uma descrição semântica e sintática para serviços web RESTful;
  67. 67. Conclusão 3. Especifica uma semântica precisa dos recursos disponibilizados por cada host; 4. Especifica as operações disponíveis para operar os recursos de um host; 5. Especifica um convenção de endereçamento que permite identificar quais servidores atendem a uma interface.
  68. 68. Trabalhos Futuros 1. Navegação semântica, buscando mecanismos para orquestração e composição de serviços web semânticos SERIN, utilizando BPMN; 2. Novas anotações semânticas, a fim de facilitar o acesso e manipulação de dados, por agentes de software associados a modelos relacionais;
  69. 69. Trabalhos Futuros 3. Máquina de busca que irá aproveitar a convenção de endereçamento para identificar e indexar os hosts seguem uma determinada interface semântica e identificar quais interfaces estão disponíveis em um único host.
  70. 70. Obrigado!

×