45
1 ITA - Instituto Tecnológico de ITA - Instituto Tecnológico de Aeronáutica Aeronáutica Aula # Aula # 2 2 - Introdução a - Introdução a Web Services Semânticos Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Prof. Dr. José Maria Parente Grupo: Ferrucio Grupo: Ferrucio de Franco Rosa/ de Franco Rosa/ Luiz Eduardo Guarino de Vasconcelos Luiz Eduardo Guarino de Vasconcelos /Rafael de Alencar Segura /Rafael de Alencar Segura Junho/2007 Junho/2007

1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

Embed Size (px)

Citation preview

Page 1: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

11

ITA - Instituto Tecnológico de ITA - Instituto Tecnológico de AeronáuticaAeronáutica

Aula # Aula # 22 - Introdução a - Introdução a Web Services SemânticosWeb Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica.Disciplina: CE 262 – Ontologias e Web Semântica.

Prof. Dr. José Maria ParenteProf. Dr. José Maria Parente

Grupo: FerrucioGrupo: Ferrucio de Franco Rosa/de Franco Rosa/ Luiz Eduardo Guarino de VasconcelosLuiz Eduardo Guarino de Vasconcelos /Rafael de Alencar Segura/Rafael de Alencar Segura

Junho/2007Junho/2007

Page 2: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

22

RoteiroRoteiro

Vídeo-aula e Aula prática – criando Web ServicesVídeo-aula e Aula prática – criando Web Services SWS – Introdução e Conceitos IniciaisSWS – Introdução e Conceitos Iniciais Objetivos dos SWSObjetivos dos SWS ExemplosExemplos Padrões para Serviços Web SemânticosPadrões para Serviços Web Semânticos WSDL-SWSDL-S SA-WSDLSA-WSDL WSMOWSMO OWL-SOWL-S Considerações finaisConsiderações finais

Page 3: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

33

Vídeo-aulaVídeo-aula

Vídeo-aula: “Construindo um Web Service em Java”Vídeo-aula: “Construindo um Web Service em Java” O objetivo desta aula é apresentar uma forma de O objetivo desta aula é apresentar uma forma de

construir um Web Service utilizando a IDE Eclipseconstruir um Web Service utilizando a IDE Eclipse Link para VídeoLink para Vídeo

Page 4: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

44

Aula práticaAula prática

Aula prática 1: “Construindo um Web Service em Netbeans”Aula prática 1: “Construindo um Web Service em Netbeans” O objetivo desta aula é apresentar uma forma de construir O objetivo desta aula é apresentar uma forma de construir

um Web Service utilizando a IDE NETBEANSum Web Service utilizando a IDE NETBEANS Aula prática 2: “Construindo um Web Service em .NET”Aula prática 2: “Construindo um Web Service em .NET”

O objetivo desta aula é apresentar uma forma de construir O objetivo desta aula é apresentar uma forma de construir um Web Service utilizando a IDE Visual Studio .NETum Web Service utilizando a IDE Visual Studio .NET

Page 5: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

55

IntroduçãoIntrodução A Web Semântica tem como objetivo trazer significado

aos dados armazenados nos servidores e páginas Web, tornando-os passíveis de serem processados e interpretados, por agentes de software. O que levará a uma “Web de conhecimento” (BERNERS-LEE, 2005), onde as informações estarão inter-relacionadas e poderão ser recuperadas de forma mais eficaz.

Evolução da Web atual para uma mais rica semanticamente, a pesquisa, o desenvolvimento e o uso das tecnologias da Web Semântica visam enriquecer a descrição dos serviços oferecidos pelos Web Services e trazer um conjunto de novas possibilidades para aplicações baseadas nesta tecnologia. O que levará à criação de Web Services Semânticos (SWS).

Page 6: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

66

Web Semântica + Web Services = Web Semântica + Web Services = SWS – Web Services SemânticosSWS – Web Services Semânticos

Problemas atuais: Por exemplo, a falta de informação semântica, que torna o processo de descoberta e invocação de WS um processo manual.

Vantagens do SWS: partir da integração dos WS com a Web Semântica, os provedores de serviços poderão se beneficiar dessa integração ao anotarem semanticamente seus serviços, com alguma linguagem de marcação semântica, o que possibilitará aos agentes de software: descobrir, selecionar e executar Web Services de forma automática.

Page 7: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

77

ObjetivoObjetivo

Os serviços Web semânticos deverão permitir que agentes de software

interajam na Web de forma autônoma, sem intervenção humana, ou com um

grau reduzido de intervenção humana.

Page 8: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

88

WSDL-SWSDL-S Web Services Semantics - A especificação WSDL-S é Web Services Semantics - A especificação WSDL-S é

uma submissão da W3C que define como adicionar uma submissão da W3C que define como adicionar semântica nos documentos WSDL.semântica nos documentos WSDL.

As anotações semânticas definem os significados: As anotações semânticas definem os significados: inputs, outputs, preconditions effects das operações inputs, outputs, preconditions effects das operações descritas na interface do serviço.descritas na interface do serviço.

As anotações referenciam conceitos na ontologia.As anotações referenciam conceitos na ontologia.

Fonte: (http://www.w3.org/Submission/WSDL-S/)

Page 9: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

99

……………………<xs:element name= "processPurchaseOrderResponse" type="xs:string<xs:element name= "processPurchaseOrderResponse" type="xs:stringwssem:modelReferencewssem:modelReference=="POOntology#OrderConfirmation""POOntology#OrderConfirmation"/>/></xs:schema></xs:schema></types></types><interface name="PurchaseOrder"><interface name="PurchaseOrder"><<wssem:categorywssem:category name= “Electronics” taxonomyURI=http://www.naics.com/ name= “Electronics” taxonomyURI=http://www.naics.com/

taxonomyCode=”443112” />taxonomyCode=”443112” />

<operation name="processPurchaseOrder” pattern=wsdl:in-out<operation name="processPurchaseOrder” pattern=wsdl:in-outmodelReferencemodelReference = = ""rosetta:#RequestQuoterosetta:#RequestQuote" " >>

<input messageLabel = ”processPurchaseOrderRequest"<input messageLabel = ”processPurchaseOrderRequest"element="tns:processPurchaseOrderRequest"/>element="tns:processPurchaseOrderRequest"/><output messageLabel ="processPurchaseOrderResponse"<output messageLabel ="processPurchaseOrderResponse"element="processPurchaseOrderResponse"/>element="processPurchaseOrderResponse"/>

<!—Precondition and effect are added as extensible elements on an operation><!—Precondition and effect are added as extensible elements on an operation><<wssem:preconditionwssem:precondition name="ExistingAcctPrecond"name="ExistingAcctPrecond"wssem:modelReferencewssem:modelReference="POOntology#AccountExists"="POOntology#AccountExists">><<wssem:effectwssem:effect name="ItemReservedEffect"name="ItemReservedEffect"wssem:modelReferencewssem:modelReference="POOntology#ItemReserved"="POOntology#ItemReserved"/>/></operation></operation></interface></interface>

PurchaseOrder.wsdlsPurchaseOrder.wsdls

Page 10: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

1010

Operações de AnotaçãoOperações de Anotação extension element :extension element : PreconditionPrecondition

Um conjunto de condições que devem ser satisfeitas antes da operação Um conjunto de condições que devem ser satisfeitas antes da operação de invocar o Web service. de invocar o Web service.

• ““deve ser cadastrado na empresa” deve ser cadastrado na empresa” • ““somente clientes do brasil podem realizar uma determinada compra”somente clientes do brasil podem realizar uma determinada compra”

extension element : Effectextension element : Effect Define o estado da informação após a operação de invocação. Define o estado da informação após a operação de invocação.

• ““o item foi enviado para o endereço cadastrado”o item foi enviado para o endereço cadastrado”• ““será debitado no cartão de crédito”será debitado no cartão de crédito”

extension element : schemaMappingextension element : schemaMapping• É utilizado para manipular as diferenças entre os elementos do esquema do É utilizado para manipular as diferenças entre os elementos do esquema do

web service e o modelo semântico. web service e o modelo semântico. extension attribute : Categoryextension attribute : Category

Modela uma categoria de serviço no WSDL interface element.Modela uma categoria de serviço no WSDL interface element.• category = “Electronics” Code = “naics:443112” category = “Electronics” Code = “naics:443112”

Page 11: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

1111

Anotações Semânticas: para elementos Anotações Semânticas: para elementos simplessimples

<wsdl:types> (...)

<xs:element name= "processPurchaseOrderResponse" type="xs:string (...)</wsdl:types>

Billing

AccountOrderConfirmation

xsd:string

OWL ontology

has_account

has_accountID

WSDL message element

1:1 Correspondences1:1 Correspondences<xs:element name= "processPurchaseOrderResponse" type="xs:string <xs:element name= "processPurchaseOrderResponse" type="xs:string

wssem:modelReferencewssem:modelReference="POOntology#OrderConfirmation"/>="POOntology#OrderConfirmation"/>

results_in

semantic match

Page 12: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

1212

Foi proposto pelo W3C duas alternativas de Foi proposto pelo W3C duas alternativas de anotações para os tipos compostos: (bottom e anotações para os tipos compostos: (bottom e top annotation)top annotation)

1.1. Bottom Level Annotation:Bottom Level Annotation: Anotação é feita em Anotação é feita em nível de folha do elemento. nível de folha do elemento.

Anotações Semânticas para elementos Anotações Semânticas para elementos complexos [1/2]complexos [1/2]

<complexType name="POItem"> <all> <element name="dueDate" type="dateTime“ wssem:modelReference="POOntology#DueDate"/> wssem:modelReference="POOntology#DueDate"/> <element name="quantity" type="float" wssem:modelReference="POOntology#Quantity"/>wssem:modelReference="POOntology#Quantity"/> <element name="EANCode" type="string" wssem:modelReference="POOntology#ItemCode"/>wssem:modelReference="POOntology#ItemCode"/> <element name="itemDesc" type="string" wssem:modelReference="POOntology#ItemDesc"/>wssem:modelReference="POOntology#ItemDesc"/> </all> </complexType>

Page 13: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

1313

modelReference at the leaf levelsmodelReference at the leaf levels assumes a 1:1 correspondence between leaf elements and domain model assumes a 1:1 correspondence between leaf elements and domain model

conceptsconcepts

<complexType name="POItem" >

<all>

<element name="dueDate" nillable="true" type="dateTime" wssem:modelReference=”POOntology#dueDate”/> <element name="qty" type="float" wssem:modelReference=”#POOntology#Quantity”/> <element name="EANCode" nillable="true" type="string" wssem:modelReference=”POOntology#Item”/> <element name="itemDesc" nillable="true" type="string" wssem:modelReference=”POOntology#ItemDesc” />

</all>

</complexType>

Item

dueDate

ItemDesc

Quantity

OWL ontology

hasIemDesc

hasDueDate

hasQuantity

WSDL complex type element

Using modelReference and Using modelReference and schemaMappingschemaMapping

Page 14: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

1414

2. Top Level Annotation: Anotando um tipo complexo

Um tipo complexo pode ter uma anotação semântica através de: Um tipo complexo pode ter uma anotação semântica através de: wssem:modelReferencewssem:modelReference. Este atributo “aponta” para um alto nível . Este atributo “aponta” para um alto nível do conceito na ontologia em questão. do conceito na ontologia em questão.

Não especifica anotações semânticas para seus elementos;Não especifica anotações semânticas para seus elementos; Neste caso é necessário a utilização de Neste caso é necessário a utilização de schemaMappingschemaMapping

Anotações Semânticas para elementos Anotações Semânticas para elementos complexos [1/2]complexos [1/2]

Appendix A

Page 15: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

1515

<wsdl:types> (...) <complexType name=“Address"> <sequence> <element name=“StreetAd1“ type="xsd:string"/> <element name=“StreetAd2" type="xsd:string"/> ........... </sequence> </complexType> (...)</wsdl:types>

Address

StreetAddress

xsd:string

xsd:string

OWL ontology

hasCity

hasStreetAddress

hasZip

WSDL complex type element

1.1. modelReferencemodelReference estabelece a associação estabelece a associação semântica.semântica.

2.2. schemaMappingschemaMapping : resolve as diferenças de : resolve as diferenças de estruturas na comparação semântica.estruturas na comparação semântica.

semantic match

Anotações Semânticas: para elementos Anotações Semânticas: para elementos complexos[2/2]complexos[2/2]

Page 16: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

1616

Representando o MapeamentoRepresentando o Mapeamento

<complexType name="POAddress"

wssem:schemaMapping=”http://www.ibm.com/schemaMapping/POAddress.xsl

#input-doc=doc(“POAddress.xml”)”>

<all><element name="streetAddr1" type="string" /> <element name="streetAdd2" type="string" /> <element name="poBox" type="string" /><element name="city" type="string" /> <element name="zipCode" type="string" /><element name="state" type="string" /><element name="country" type="string" /><element name="recipientInstName" type="string" /> </all></complexType>

Address

xsd:string

xsd:string

xsd:string

OWL ontology

has_City

has_StreetAddress

has_Zip

WSDL complex type element

.... <xsl:template match="/">

<POOntology:Address rdf:ID="Address1">

<POOntology:has_StreetAddress rdf:datatype="xs:string">

<xsl:value-of select="concat(POAddress/streetAddr1,POAddress/streetAddr2)"/>

</POOntology:has_StreetAddress >

<POOntology:has_City rdf:datatype="xs:string">

<xsl:value-of select="POAddress/city"/>

</POOntology:has_City>

<POOntology:has_State rdf:datatype="xs:string">

<xsl:value-of select="POAddress/state"/>

</POOntology:has_State>....

Mapping using XSLT

Page 17: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

1717

Web SemânticaWeb Semântica

Semantic AnnotationSemantic Annotation

Uma anotação semântica é uma informação adicional Uma anotação semântica é uma informação adicional em um documento que identifica ou define um conceito em um documento que identifica ou define um conceito em um modelo semântico. em um modelo semântico.

Em SA-WSDL, as anotações semânticas são atributos Em SA-WSDL, as anotações semânticas são atributos XML adicionados a documentos WSDL no elemento XML adicionados a documentos WSDL no elemento XML que elas descrevem. XML que elas descrevem.

Podem ser de dois tipos:Podem ser de dois tipos: Identificadores explícitos de conceitosIdentificadores explícitos de conceitos Identificadores de mapeamentos de WSDL para Identificadores de mapeamentos de WSDL para

conceitos ou vice-versaconceitos ou vice-versa

Page 18: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

1818

Web SemânticaWeb Semântica

SA-WSDLSA-WSDL

SA-WSDL é uma extensão de WSDLSA-WSDL é uma extensão de WSDL Padrão usado para associar interfaces, Padrão usado para associar interfaces,

operações, parâmetros de E/S a conceitos operações, parâmetros de E/S a conceitos SemânticosSemânticos

Link entre uma Ontologia (OWL - que descreve o Link entre uma Ontologia (OWL - que descreve o domínio) e o serviço disponível (WSDL)domínio) e o serviço disponível (WSDL)

http://www.w3.org/TR/sawsdl/http://www.w3.org/TR/sawsdl/ Seu namespace:Seu namespace:

xmlns:sawsdl="http://www.w3.org/ns/sawsdl"xmlns:sawsdl="http://www.w3.org/ns/sawsdl" W3C Working Draft 10 April 2007W3C Working Draft 10 April 2007

Page 19: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

1919

Web SemânticaWeb Semântica

SA-WSDLSA-WSDL

NÃO especifica uma linguagem para representação de NÃO especifica uma linguagem para representação de modelos semânticos (ex.: ontologias)modelos semânticos (ex.: ontologias)

Provê mecanismos pelos quais conceitos de modelos Provê mecanismos pelos quais conceitos de modelos semânticos que são definidos dentro de documentos semânticos que são definidos dentro de documentos WSDL podem ser referenciados como anotações.WSDL podem ser referenciados como anotações.

Esta semântica, quando expressada em linguagens Esta semântica, quando expressada em linguagens formais, pode auxiliar na descoberta e composição de formais, pode auxiliar na descoberta e composição de serviços web. serviços web.

NÃO descreve como um cliente pode obter o NÃO descreve como um cliente pode obter o documento, mas onde o modelo semântico é definido. documento, mas onde o modelo semântico é definido.

Page 20: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

2020

Web SemânticaWeb Semântica

SA-WSDLSA-WSDL

Baseado em WSDL-S, os princípios de projeto chave Baseado em WSDL-S, os princípios de projeto chave são:são:

A especificação disponibiliza anotações para Serviços Web A especificação disponibiliza anotações para Serviços Web usando e construindo no existente extensível framework de usando e construindo no existente extensível framework de WSDL.WSDL.

Ser indiferente para linguagens de representação semântica.Ser indiferente para linguagens de representação semântica. Disponibilizar anotações semânticas não somente para Disponibilizar anotações semânticas não somente para

descoberta, mas também para chamada de Serviços Web.descoberta, mas também para chamada de Serviços Web.

Page 21: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

2121

Web SemânticaWeb Semântica

SA-WSDLSA-WSDL

Baseado nos princípios de projeto, SA-WSDL define os seguintes Baseado nos princípios de projeto, SA-WSDL define os seguintes novos atributos para WSDL 2.0 para disponibilizar anotações novos atributos para WSDL 2.0 para disponibilizar anotações semânticas de seus componentes:semânticas de seus componentes:

Uma extensão atributo, chamada Uma extensão atributo, chamada modelReferencemodelReference, para especificar a , para especificar a associação entre um componente WSDL e um conceito em algum associação entre um componente WSDL e um conceito em algum modelo semântico. Este atributo é usado para anotar XML Schema modelo semântico. Este atributo é usado para anotar XML Schema complex type definitions, simple type definitions, element declarations, complex type definitions, simple type definitions, element declarations, and attribute declarations bem como WSDL interfaces, operations, and and attribute declarations bem como WSDL interfaces, operations, and faults. faults.

Duas extensões atributos (Duas extensões atributos (SchemaMappingsSchemaMappings), chamadas ), chamadas liftingSchemaMappingliftingSchemaMapping and and loweringSchemaMappingloweringSchemaMapping, que são , que são adicionados a declarações de elementos XML Schema, definições de adicionados a declarações de elementos XML Schema, definições de tipos complexos e simples para especificar mapeamentos entre dados tipos complexos e simples para especificar mapeamentos entre dados semânticos e XML. Estes mapeamentos podem ser usados durante a semânticos e XML. Estes mapeamentos podem ser usados durante a invocação dos serviços. invocação dos serviços.

Page 22: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

2222

Web SemânticaWeb Semântica

SA-WSDLSA-WSDL

SA-WSDL permite multiplas associações com SA-WSDL permite multiplas associações com elementos WSDL.elementos WSDL.

Schema mappings and model references podem conter Schema mappings and model references podem conter multiplos ponteiros.multiplos ponteiros.

SA-WSDL não especifica qualquer relacionamento SA-WSDL não especifica qualquer relacionamento entre eles (models)entre eles (models). Relações entre conceitos são . Relações entre conceitos são feitos em Ontologias.feitos em Ontologias.

Page 23: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

2323

Web SemânticaWeb Semântica

SA-WSDL – Model ReferenceSA-WSDL – Model Reference

Um Model Reference pode ser usado com qualquer elemento dentro de Um Model Reference pode ser usado com qualquer elemento dentro de WSDL. Todavia, SA-WSDL define o significado somente para WSDL. Todavia, SA-WSDL define o significado somente para wsdl:interface, wsdl:operation, wsdl:faultwsdl:interface, wsdl:operation, wsdl:fault..

O valor do atributo O valor do atributo modelReference modelReference pode ir de zero a N URIs, pode ir de zero a N URIs, separados por espaços, que identificam conceitos em um modelo separados por espaços, que identificam conceitos em um modelo semântico. semântico.

Cada URI é um ponteiro para um conceito em um modelo semântico Cada URI é um ponteiro para um conceito em um modelo semântico cuja intenção é prover informação semântica sobre o WSDL ou o cuja intenção é prover informação semântica sobre o WSDL ou o componente XML Schema que está sendo anotado.componente XML Schema que está sendo anotado.

O atributo O atributo modelReference modelReference permite multiplas anotações serem permite multiplas anotações serem associadas com um dado WSDL via URIs. Estas URIs devem associadas com um dado WSDL via URIs. Estas URIs devem identificar conceitos expressos em diferentes linguagens de identificar conceitos expressos em diferentes linguagens de representação semântica. representação semântica.

Quando um componente é anotado com um Quando um componente é anotado com um modelReference modelReference que inclui que inclui múltiplas URIs, cada uma delas se aplica ao componente, mas nenhum múltiplas URIs, cada uma delas se aplica ao componente, mas nenhum relacionamento lógico entre eles é definido por esta especificação.relacionamento lógico entre eles é definido por esta especificação.

Page 24: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

2424

Web SemânticaWeb Semântica

SA-WSDL

Page 25: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

2525

Web SemânticaWeb Semântica

SA-WSDL – ExemplosSA-WSDL – Exemplos

Anotando “WSDL Operation”Anotando “WSDL Operation”

Anotando “WSDL Fault”Anotando “WSDL Fault”

Page 26: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

2626

WSMOWSMO

WSMO – Web Service Modeling Ontology Os objetivos de WSMO Studio são:

Prover uma ferramenta gráfica que auxilia usuários com tarefas relacionadas a anotações semânticas em Web Services.

Prover uma ferramenta extensível e arquitetura que irá permitir integração das funcionalidades extendidas.

Características: Ambiente de modelagem integrado Standalone Aplicação baseada em Eclipse

Funcionalidades: Exportação e importação de descrições (suporta WSML, WSML-XML

e OWL-DL) Front-end to service, goal, mediator and ontology repositories Criação de choreography descriptions SAWSDL editor para adicionar anotações semânticas a Documentos

WSDL

Page 27: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

2727

WSMOWSMO

Page 28: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

2828

WSMOWSMO

Vídeo-aula SA-WSDL com WSMO Anotações semânticas em Serviços Web usando OWL e SA-WSDL Link para Vídeo-aula

Page 29: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

2929

Ontology Web Language for Services

OWL-S é a evolução da DAML-S É uma ontologia escrita em OWL, uma linguagem voltada para construção de ontologias que vem se tornando um padrão na Web

Desenvolvimento de novas linguagens de marcação como DAML+OIL e OWL

Permitem criação de ontologias e instanciação delas em web sites.

Objetivo das linguagens: estabelecer uma estrutura para que as descrições sejam feitas e compartilhadas. Web sites devem empregar ontologia padrão, consistindo num conjunto de classes e propriedades básicas para declarar e descrever os serviços na estrutura OWL.

Logo, será possível pesquisar por índices e não mais por palavras-chave

OWL-SOWL-S

Page 30: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

3030

Coelho [2005], acrescenta, que a OWL-S “foi criada com base nos conceitos da Web semântica, tendo como objetivo principal permitir a descoberta, a invocação, a composição e a monitoração automática de serviços da web”.

Então, OWL-S deve permitir três tarefas básicas: - descoberta automática do serviço web- invocar de forma automática o serviço web- composição e interoperação automáticos do serviço web

É usada para descrever serviços Web através de classes extensíveis que cobrem atributos funcionais e não funcionais dos serviços. Entretanto, OWL-S foi construída com o foco em extensão e é muito genérica a fim de permitir um amplo escopo de possibilidades.  Embora uma abordagem genérica seja altamente desejável para estimular o reuso, ela abre o caminho para incompatibilidades se não se fornece nenhuma orientação sobre como se devem estender os descritores.  

OWL-SOWL-S

Page 31: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

3131

Descoberta automática de Web Services: é o processo automatizado de localizar serviços, que são oferecidos por provedores de serviço, com base nas capacidades que estes oferecem e nas restrições impostas pelo cliente. Estes serviços podem ser localizados através de engenhos de busca baseados em ontologias, ou ainda, serem localizados com base nos anúncios dos serviços através de Registros de serviços, como UDDI, para que estes possam ser consultados e retornem o serviço solicitado;

Invocação automática de Web Services: É a execução de um serviço de forma automatizada, por parte de um agente de software ou programa de computador, com base nas entradas, saídas, pré-condições e efeitos (IOPES).

Composição e Interoperação automática de Web Services: Esta tarefa envolve a seleção automática, composição e interoperação de Web Services para realizar tarefas complexas, com base nas entradas, saídas, pré-condições e efeitos (IOPES). Este processo mostra-se importante, principalmente quando uma requisição de um usuário não pode ser atendida por apenas um serviço. Sendo assim, para solucionar esse problema OWL-S oferece formas de construir composições de serviços que possam atender a requisição do usuário.

OWL-SOWL-S

Page 32: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

3232

Segundo a W3C [2004], grandes esforços estão sendo aplicados visando o desenvolvimento da web semântica, onde significantes linguagens para sua aplicação estão sendo desenvolvidas, como a OWL e, recentemente, a OWL-S. Tais linguagens proporcionam a criação de ontologias para qualquer domínio, proporcionando, deste modo, a semântica num contexto de interesse.Ex.: e-business - relacionamento entre clientes e fornecedores. [Análise de Técnicas para e-Business a partir de Conceitos da Web Semântica]

Segundo Chahoud [2005] e Coalition [2004], muitas propostas são apresentadas para o uso da web Semântica nos serviços web, como WSLA [http://www.research.ibm.com/wsla], WSIL [http://www-128.ibm.com/developerworks/library/specification/ws-wsilspec] e WSML [http://www.wsmo.org/wsml].

Nos serviços web, a OWL-S trata as composições dos serviços como processos, logo existe uma divisão caracterizada de suas propriedades, de sua estrutura e da implementação.

OWL-SOWL-S

Page 33: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

3333

Apesar de ser uma ontologia de alto nível para a descrição de

serviços na web, é geralmente confundida como uma

linguagem, isso por fornecer um vocabulário que pode ser

utilizado juntamente com a linguagem OWL [COELHO, 2005].

OWL-S, por basear-se em tecnologias derivadas do popular

padrão XML, possui como principal deficiência a falta de

suporte para representação de regras, recurso necessário

para a definição das precondições e pós-condições de um

serviço. Essa deficiência é superada no futuro com a

incorporação de regras através da iniciativa RuleML

(RULEML, 2004).

OWL-SOWL-S

Page 34: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

3434

As ontologias são desenvolvidas de acordo com o nível de

abrangência que os especialistas desejam aplicar, do mais

específico ao mais abrangente. Quanto mais específica uma

ontologia, menor é a sua capacidade de reusabilidade e

integração com outras ontologias, isso devido sua

conceitualização ser fechada para uma determinada

especificidade [GUARINO, 1998]. Deste modo, Guarino

[1998] aconselha analisar atentamente a finalidade para a

qual uma ontologia está sendo construída e o nível de

abrangência que ela deve possuir. Diante esse contexto, as

ontologias são classificadas em quatro tipos:

Classificação das ontologiasClassificação das ontologias

Page 35: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

3535

• Ontologias Genéricas: ou de “alto-nível”, abrangem uma conceituação

mais generalizada, como objeto, espaço e tempo, que não dependem de

um domínio específico. Deste modo, as ontologias genéricas são

facilmente compartilhadas entre as comunidades de desenvolvedores.

• Ontologias de Domínio: ou “verticais”, abrangem a conceituação de um

domínio em genérico, como de uma biblioteca ou supermercado.

• Ontologias de Tarefa: ou “horizontais”, abrangem uma conceituação de

uma tarefa ou atividade de uma ontologia genérica, por exemplo,

empréstimo de livros ou venda de produtos.

• Ontologias de Aplicação: abrangem uma conceituação específica de

ontologias de domínio e de tarefa. Por exemplo, uma ontologia de

aplicação de produtos de limpeza, onde essa ontologia especializará

conceito da ontologia de supermercado, que é uma ontologia de domínio.

Classificação das ontologiasClassificação das ontologias

Page 36: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

3636

A linguagem OWL permite a definição explícita dos

significados dos termos e seus relacionamentos, sendo assim

mais expressiva na definição de ontologias. É uma linguagem

baseada em XML e compatível com RDF e RDF Schema,

deste modo, além de oferecer os recursos das linguagens

citadas, ainda oferece mecanismos para que as máquinas

realizem a inferência da semântica dos dados [SILVA, 2004].

OWLOWL

Page 37: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

3737

A OWL-S fundamenta alguns serviços web, como pode ser visto na figura.

• ServiceProfile: descreve as funcionalidades do serviço web, “o que o serviço requer do cliente e o que o serviço fornece ao cliente”;

• ServiceGrounding: descreve como o serviço web vai ser acessado (formato das mensagens, transporte, endereçamento, entre outros).

• ServiceModel: descreve como é a execução do serviço web, “como o serviço funciona e quais as conseqüências de sua execução”;

OWL-SOWL-S

Fonte: http://www.w3.org/Submission/OWL-S/

Page 38: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

3838

Algumas Classes em OWL-S

OWL-SOWL-S

Page 39: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

3939

Algumas propriedades em OWL-S

OWL-SOWL-S

Page 40: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

4040

A OWL-S [DAML Program, 2004], originalmente denominada DAML-S, é uma ontologia para descrever Web Services dentro de um framework baseado em OWL [W3C, 2004c] da Web Semântica.

Entre seu principais objetivos estão automatizar o descobrimento e a utilização de serviços na Web, tanto para pessoas quanto para agentes de software [The OWL Services Coalition, 2003].

A ontologia está estruturada nas classes Perfil de Serviço, Modelo de Serviço e Bases do Serviço (respectivamente do inglês Service Profile, Service Model e Service Grounding), que fornecem informações essenciais sobre o serviço descrito, pois representam, respectivamente “o que o serviço faz", “como o serviço trabalha" e “como o serviço pode ser acessado".

Na versão 1.1 da linguagem OWL-S, um processo abstrato pode ter parâmetros e recursos, mas não existe ainda uma forma de especificar o mapeamento de parâmetros e de recursos entre um processo abstrato e os seus processos concretos relacionados. A versão 1.2 está em desenvolvimento.

OWL-SOWL-S - Resumo - Resumo

Page 41: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

4141

Produtos disponíveis

Microsoft .NET: ASP.NET, .NET Framework, Visual Studio.NET

J2EE: BEA -- WebLogic Studio Cape Clear – CapeConnect, CapeStudio IBM – Alpha works toolkits, DB2 XML Extender, WORF, WebSphere Studio, WebSphere UDDI IONA -- XMLBus, WSIP, ASP Oracle – Oracle9iAS Serviços Web & UDDI Sun – Sun ONE (iPlanet, etc) Systinet – WASP Developer, Server, UDDI, Security

Open Source: Axis (Apache)

Muitos outros vendedores: ERP, CRM, IDE

Page 42: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

4242

Links para PadrõesLinks para Padrões Atividade em relação a Serviços web

http://www.w3.org/2002/ws/ SOAP W3C Working Drafts - 17 December 2001

http://www.w3.org/2002/ws/#drafts • SOAP 1.2

WSDL W3C Note Released March 2001 http://www.w3.org/TR/wsdl

WSDL Schema - Especificações Base Definition: http://schemas.xmlsoap.org/wsdl/ SOAP Extension: http://schemas.xmlsoap.org/wsdl/soap/

Serviços Web - Grupo de Trabalho sobre Descrição http://www.w3.org/2002/ws/desc/

UDDI http://www.uddi.org

Diretórios de Serviços Web http://www.xmethods.net

Page 43: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

4343

Considerações finaisConsiderações finais O framework de Serviços Web está sendo definido, padronizado e suportado

pela indústria. Aceitação ampla da indústria e conformidade com padrões irão fazê-lo ubiqüo. Irá trazer um nível sem precedentes de interoperabilidade para as aplicações

Web, pois não interessa a linguagem ou a plataforma de desenvolvimento. Os benefícios dos Serviços Web, não são limitados à Web. Qualquer alternativa

tecnológica desenvolvida poderá ser usada no âmbito das redes locais. A tecnologia de Serviços Web agrega valor real ao negócio.

As iniciativas de inserir semântica nas descrições de serviço ainda estão em uma fase inicial. Desta forma, poucas iniciativas apresentaram resultados que levam os desenvolvedores a investir em mais uma fase (ou camada) na criação dos serviços.

Necessidade de aplicações práticas que façam combinações entre a tecnologia madura e a tecnologia em testes (drafts) para maior adequabilidade e viabilidade das propostas. “Não adianta propor uma aplicação semântica se a mesma resulta em um tempo de 40 seg. para obter resposta de uma base com 30 registros.”

Anotações semânticas em serviços (SA-WSDL) poderão ser usadas para aumentar a precisão no processo de busca de serviços em uma base UDDI.

Page 44: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

4444

Lista de ExercíciosLista de Exercícios

Link para a lista de exercícios

Page 45: 1 ITA - Instituto Tecnológico de Aeronáutica Aula # 2 - Introdução a Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr

4545

Referências BibliográficasReferências Bibliográficas

[1] Breitman, Karin Koogan. [1] Breitman, Karin Koogan. Web semântica: a Web semântica: a IInternet do futuro.nternet do futuro. Rio de Janeiro:LTC,2005.Rio de Janeiro:LTC,2005. [[22] ] http://www.javapassion.com/webservices [3] http://www.w3.org [4] Ontologias como e porque criá-las. Material dos professores Julio Cesar Sampaio do Prado Leite e[4] Ontologias como e porque criá-las. Material dos professores Julio Cesar Sampaio do Prado Leite e

Karin Koogan Breitman. Karin Koogan Breitman. Departamento de Informática PUC- Rio. [5] http://www.w3schools.com/. THE LARGEST WEB DEVELOPER'S SITE ON THE NET. [6] [6] http://www.w3.org/TR/2006/CR-wsdl20-primer-20060327/http://www.w3.org/TR/2006/CR-wsdl20-primer-20060327/##IntroductionIntroduction [7] [7] http://www.uddi.org/http://www.uddi.org/ [8] Introdução às tecnologias Web Services: SOA, SOAP, WSDL e UDDI - Parte1- Autor: Thomas Erl[8] Introdução às tecnologias Web Services: SOA, SOAP, WSDL e UDDI - Parte1- Autor: Thomas Erl [9] Revista TI Inside, abril, 2007.[9] Revista TI Inside, abril, 2007. [10] http://www.xmethods.net [11] http://www.ontotext.com [12] http://uddi.microsoft.com [13] Site da IBM sobre SOA: [13] Site da IBM sobre SOA: http://www-306.ibm.com/software/br/info/topic/openenvironment/soa/http://www-306.ibm.com/software/br/info/topic/openenvironment/soa/ [14] Soa World Magazine: [14] Soa World Magazine: http://soa.sys-con.comhttp://soa.sys-con.com// [15] Material Oracle. [15] Material Oracle.

http://www.oracle.com/global/br/openworld/attendees/program-overview/tracks/tracks_technology.htmlhttp://www.oracle.com/global/br/openworld/attendees/program-overview/tracks/tracks_technology.html .. [16] [16] SOAP Routing and Processing Concepts. SOAP Routing and Processing Concepts. http://www.grid2004.org/spring2004http://www.grid2004.org/spring2004; Marlon Pierce, Bryan ; Marlon Pierce, Bryan

Carpenter, Geoffrey Fox Community Grids Lab Indiana University.Carpenter, Geoffrey Fox Community Grids Lab Indiana University. [17] Apresentação: Serviços Web – Tecnologias Básicas, [17] Apresentação: Serviços Web – Tecnologias Básicas,

http://www.ic.unicamp.br/~beatriz/cursos/mo809/2007/padroesBasicos.pdfhttp://www.ic.unicamp.br/~beatriz/cursos/mo809/2007/padroesBasicos.pdf [18] Material de WSDL-S Autores: R. Akkiraju[18] Material de WSDL-S Autores: R. Akkiraju**, J. Farrell, J. Farrell**, J.Miller, M. Nagarajan, M. Schmidt, J.Miller, M. Nagarajan, M. Schmidt**, A. Sheth, K. , A. Sheth, K.

VermaVerma"Web Service Semantics - WSDL-S“ "Web Service Semantics - WSDL-S“ http://www.alphaworks.ibm.com/g/g.nsf/img/semanticsdocs/$file/wssemantic_annotation.pdf http://www.alphaworks.ibm.com/g/g.nsf/img/semanticsdocs/$file/wssemantic_annotation.pdf

[19]owl-s http://www.w3.org/Submission/OWL-S/[19]owl-s http://www.w3.org/Submission/OWL-S/