web11 semantic web: servicii web descrise semantic

103
Dr. Sabin Buraga http://www.purl.org/net/busaco Semantic Web <?xml version=“1.0” ?> <curs desc=“…” /> Web semantic Dr. SabinCorneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/

Upload: sabin-buraga

Post on 28-Nov-2014

4.123 views

Category:

Technology


3 download

DESCRIPTION

Dupa o introducere in problematica SOA si a serviciilor Web, se prezinta modalitatile de descriere semantica a serviciilor via mai multe modele ontologice.

TRANSCRIPT

Page 1: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Web semantic

Dr. Sabin­Corneliu BuragaFacultatea de Informatica

Universitatea “A.I.Cuza” – Iasi, Romania

http://www.infoiasi.ro/~busaco/

Page 2: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Servicii Webdescrise semantic

Page 3: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

“E mai bine sa stii cateva intrebaridecat toate raspunsurile.”

James Thurber

Page 4: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Nevoi ale dezvoltatorilor Web

solutii multi‐platforma, slab‐conectate

integrare la nivel de Internet/Weba aplicatiilor, serviciilor si sistemelor

preliminarii

Page 5: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Nevoi ale dezvoltatorilor Web

performanta asigurarea scalabilitatii

preliminarii

Page 6: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Nevoi ale dezvoltatorilor Web

servicii atasabile (pluggable) & versatile

Software as a Service (SaaS)

Application Service Provider (ASP)

preliminarii

Page 7: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Nevoi ale dezvoltatorilor Web

existenta unei/unor arhitecturi pentru dezvoltareade aplicatii distribuite orientate spre Web

standardizaresecuritate

disponibilitate & reutilizarementenanta facila

preliminarii

Page 8: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Divizarea aplicatiilor in servicii (independente)care se pot compune,

menite a se conecta si orchestra in mod spontanin cadrul proceselor de afaceri/tehnice

Web component­based software

solutie

Page 9: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Aplicatii oferind o functionalitate anume

Utilizate de alte aplicatii (la distanta)

Accesate standardizat via WebURI, HTTP, XML

servicii web

Page 10: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Utilizate la interactiunea intre masini

Dinamice

Lipsa unei cunoasteri a­priori a interactiuniicu alte aplicatii/servicii Web

servicii web

Page 11: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Puncte finale utilizate pentru procesarea datelor, in maniera publica – eventual, via API‐uri deschise

Abilitatea de a prelucra orice tip de date

Dezvoltate pe baza platformelor, arhitecturilorsi limbajelor curente

servicii web

Page 12: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

soa

Arhitectura orientata spre serviciiSOA – Service Oriented Architecture

stil arhitectural de dezvoltare de aplicatiiconsiderate drept servicii ce vor fi invocate de alte aplicatii

Nicolai Josuttis, SOA in Practice, O’Reilly, 2007

Page 13: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

soa

Paradigma de dezvoltare a software‐uluicare adopta utilizarea de servicii,

oferind functionalitati solicitate de utilizatori

resursele sunt disponibile via o suita de serviciiindependente ale caror implementarinu trebuie sa fie cunoscute (black box)

Page 14: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

soa

Componentele sistemului in ansamblu au un grad mare de independenta (de­coupling)

serviciile pot fi recompuse/orchestrate conform cerintelor

Page 15: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Conținut

specificarea, colectarea & organizarea cunoştințelor

soa: aspecte de interes

Page 16: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Acces

mijloacele de creare/exploatarea serviciilor ori aplicațiilor compuse

soa: aspecte de interes

Page 17: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Integrare

conținutul vehiculat de aplicații/oamenisa poata fi transformat via entități software inteligente

EAI (Enterprise Application Integration)

soa: aspecte de interes

Page 18: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Procesare

posibilitatea de a specifica reguli de managemental traficului de date – dirijare, caching, filtrare etc.

soa: aspecte de interes

Page 19: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Analizare

suport de luare a deciziilor – de dorit, in mod “inteligent”

soa: aspecte de interes

Page 20: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Colaborare

management de interacțiuni &comunicații între utilizatori (umani sau nu)

e.g., enterprise wiki

soa: aspecte de interes

Page 21: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

soa: variatii (Tsai et al., 2006)

CCSOA (Consumer­centric SOA)publicare de workflow‐uri & specificatii de colaborare intreaplicatii pentru descoperirea, selectarea si subscrierea

la servicii de interesexemplu: service­oriented embedded systems

UCSOA (User­centric SOA)extensie a CCSOA ce permite utilizatorilor finali

sa compuna facil & rapid aplicatiiexemplu: end­user mashups – Yahoo! Pipes

Page 22: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

invocare

Necesitatea unui protocol de comunicare(transport) intre masini (aplicatii) eterogenemesaje care sa permita o interactiune complexa

intre aplicatii

informatiile vehiculate pot fi oricit de complexe

asigurarea extensibilitatii + securitate, fiabilitate, caching

Page 23: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

invocare

Scenariu:eu spun <telefon>0232-201090</telefon>

tu astepti <tel prefix="0232" numar="201090" />

protocolul va trebui sa ofere un mecanism de invocaresi de transmitere structurata a datelor

Page 24: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

invocare: solutii

XML‐RPCsimplu de utilizat, nepretentios

www.xml­rpc.com

SOAPsofisticat, mai flexibil

www.w3.org/TR/SOAP

POX (Plain Old XML)/JSON (JavaScript Object Notation)dezvoltatorul recurge la metode proprii de serializare

Page 25: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

invocare: soap

Invocarea unui serviciu Web – in stilul RPC

Page 26: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

specificare

Necesitatea unui limbaj de descrierea serviciilor Web

Cum gasim un serviciu Web?Care este sintaxa mesajelor vehiculate?Cum se desfasoara transferul de date?

Page 27: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

specificare: wsdl

WSDL (Web Services Description Language)

www.w3.org/TR/wsdl

descriere bazata pe XML a serviciilor Webtipurile de date se definesc via scheme XML

permite folosirea mai multor protocoale de transportspecifica sintaxa, nu semantica unui serviciu

Page 28: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

specificare: wsdl

Interfaţa serviciului(definiţie abstractă)

Mesaje (messages)Operații (operation)Interfață (interface)

Implementarea serviciului

(definiţie concretă)

Legare (binding)Serviciu (service)Punct terminal (endpoint)

Page 29: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

regasire: uddi

Universal Description, Discovery, and Integration

Catalog distribuit, universal, al listei de servicii Web disponibile (inregistrate)

Inregistrarea este posibila in fiecare nodInregistrarile sint replicate

UDDI este un serviciu Web: se utilizeaza SOAPCataloagele UDDI pot fi publice sau private

www.uddi.org

Page 30: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

regasire: uddi

Page 31: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specificatii & initiative aditionale (WS‐*)Adresare: WS‐AddressingDescoperire: WS‐Inspection, WS‐DiscoveryMesagerie: Reliable HTTP (HTTPR), WS Attachments, WS‐Routing,...

Securitate & autorizare: WS‐Security, WS‐Trust, WS‐Policy,...

Procesarea tranzactiilor: WS‐Coordination,WS‐Transaction

Interfata‐utilizator: WS for Remote Portlets (WSRP), WS for Interactive Applications (WSIA)

initiative

Page 32: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specificatii & initiative aditionale (WS‐*)Interoperabilitate – initiativaWS‐I: www.ws­i.org

Workflow‐uri: Business Process Execution Language (BPEL), WS‐Choreography, WS Flow Language (WSFL) etc.

…si altele

initiative

Page 33: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

REpresentational State Transferstil arhitectural de dezvoltare a aplicatiilor Web

(Roy Fielding)

viziune complementara de implementare si utilizarea serviciilor Web – fara SOAP

rest

Page 34: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Rezultatul unei procesari conduce la returnareaunei reprezentari de resursa

Orice accesare a unei reprezentari plaseaza aplicatiaintr‐o stare care va fi schimbata in urma unui transfer de

date (accesarea altei reprezentari)

Transferul se realizeaza prin HTTP, reprezentarea estemarcata in XML si indicata via tipuri MIME,

iar adresabilitatea se rezolva via URI

rest

Page 35: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Componentele care invoca functionalitativor consuma reprezentari de resurse (in stilul pull)

Fiecare cerere este considerata independenta,fara a se lua in consideratie contextul – stateless

Resursele sunt accesate printr‐o interfata generica(via HTTP: GET, POST, PUT, DELETE)

rest

Page 36: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Resursele sunt numite folosind URI‐uri (URL‐uri)

Reprezentarile sunt interconectate prin URL‐uri

Pot exista intermediari (proxy, cache, porti)intre clienti si resurse performanta, securitate,...

Cererile pot fi si asincrone – in stilul AJAX

rest

Page 37: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Punctul central e dat de conceptul de resursasi nu de operatiile asupra resurselor

ROC (Resource Oriented Computing)

rest

Page 38: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Scenariu:management de fisiere intr‐un sistem distribuit

Stilul SOAP – conform RPCoperatii privind fisierele: furnizeazaFisier (), creazaFisier (),

furnizeazaMetadateFisier (), cautaFisier () etc.

operatii vizind utilizatorii:furnizeazaUtiliz (), adaugaUtiliz (), eliminaUtiliz (), cautaUtiliz (),… 

rest: exemplu

Page 39: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Scenariu:management de fisiere intr‐un sistem distribuit

Stilul RESTtipuri de resurse (Fisier & Utiliz), identificate unic de URI

http://www.undeva.info/Utiliz/busaco

o resursa poate avea asociate reprezentari XMLce pot fi accesate/alterate via operatii HTTP(CRUD – Create, Retrieve, Update, Delete)

rest: exemplu

Page 40: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Modelul REST ofera premiselespecificarii meta‐resurselor

exemplu: trimitind o cerere GET, putem obtine informatii despre timpul de neutilizare (idle) a aplicatiei vim rulată

de un utilizator – (meta‐)resursa desemnata de http://www.undeva.info/Utiliz/busaco/apps/vim/idle-time,unde idle­time este valoarea proprietatii asociate

unei entitati, in spiritul triplelor RDF

rest: exemplu

Page 41: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Serviciile oferite de Flickr

acces – folosind HTTP (e.g., GET, POST) – via URI‐ulhttp://api.flickr.com/services/rest/

pentru a invoca un serviciu Flickr, se vor preciza metoda + parametrii (daca exista)

http://api.flickr.com/services/rest/?method=flickr.photos.getInfo&...

rest: exemplu

Se inlocuieste cu serviciul dorit

Page 42: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Divizarea setului de date al problemei in resurseNumirea prin URI a fiecarei resurseProiectarea reprezentarii(lor) acceptate de la client sireprezentarii(lor) intoarse spre client

Integrarea resurselor via legaturi hipertext+formulareCrearea de studii de caz, cu (re)considerarea tipurilorstandard – e.g., HTML, Atom

Considerarea conditiilor de eroare/exceptie

rest: metodologie

Page 43: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

SOAP:Actiuni arbitrare(verbe)

Structuri de date arbitrare(oricit de complexe)Specificatevia XML Schema

Descriere complexa a serviciului (WSDL)

REST:Actiuni fixe HTTP: GET, POST,…

Opereaza asuprareprezentarilor de resurse (i.e., XML)

Bazat pe URIScalabilUzual, mai usor de programat

rest vs. soap

Page 44: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Informatiile & serviciile sa fie accesibile de lafiecare dispozitiv si de oriunde – ubiquitous Web

necesitatea unei infrastructuri orientate catre serviciiESB (Enterprise Service Bus)

necesitatea unei platforme independente de dispozitivpermitind rularea serviciilor

dezvoltare

Page 45: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Framework‐uri Web (structura conceptuala stratificata)

Page 46: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

SCA (Service Component Architecture)asigura reutilizarea componentelor software,

oferind facilitati pentru definirea, asamblarea, invocarea& medierea serviciilor – punct de vedere orientat‐obiect

transferul datelor (d)inspre sistemele de stocareeste facilitat de SDO (Service Data Objects)

implementari disponibile in C++, Java, PHP5 etc.

vezi siwww.osoa.org

dezvoltare

Page 47: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

stratificarea aplicatiilor Web (N­tier Web applications)

dezvoltare: privire de ansamblu

Page 48: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Interpretarea la nivel semantic a datelor vehiculateneconcordante semantice la nivel de:

continut: iti dau IP, tu vrei URIatribut: tu doresti MIME video/mpeg, 

eu iti dau tipul generic Videounitate de masura: astept la intrare dimensiunea in octeti, 

tu o trimiti in MBmesaj: iti trimit lungime × latime, tu doresti aria

problema

Page 49: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Descrierea si invocarea serviciilor Web sa apelezela ontologii specificate pe baza OWL

solutii

Page 50: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Descrieri semantice la nivel de:date – definitii formale ale intrarilor/iesirilor, utile pentrudescoperirea serviciilor si facilitarea interoperabilitatii

solutii (Meenakshi Nagarajan, 2006)

Page 51: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Descrieri semantice la nivel de:functionalitate – definirea formala a capabilitatilor

(functiilor) serviciilor Web,in vederea descoperirii si compunerii de servicii

solutii (Meenakshi Nagarajan, 2006)

Page 52: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Descrieri semantice la nivel de:cerinte – definirea formala a constringerilornon‐functionale calitative si cantitative(e.g., cost, securitate, politica de acces), 

pentru facilitarea descoperirii, compuneriisi interoperabilitatii

se are in vedere inclusiv adnotarea serviciilor Web

solutii (Meenakshi Nagarajan, 2006)

Page 53: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Descrieri semantice la nivel de:rulare – descrierea formala a executieiworkflow‐urilor de 

servicii sau a operatiilor din cadrul unui serviciu, pentru a se realiza verificarea/monitorizarea proceselor

(de afaceri) – inclusiv verificarea corectitudinii –si tratarea exceptiilor

solutii (Meenakshi Nagarajan, 2006)

Page 54: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Scop:punerea la dispozitie a unui mecanism de

interoperabilitate semantica folosind standardeale Web‐ului semantic

Avantaje:automatizarea descoperirii, selectarii, invocarii,

compunerii si monitorizarii executiei serviciilor Web

solutii

Page 55: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

???  (Rules, FOL?)

XML  (Extensible Markup Language)

RDF  (Resource Description Framework)

RDFS  (RDF Schema)

OWL (Ontology)

OWL­S  (Services)

solutii

Vedere stratificata de specificare – dupa (Hobbs, 2003)

Page 56: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Bazat pe DAML‐S, descrie ontologiipentru specificarea unor modele de serviciise au in vedere profilul, modelul de procesare

si logica unui serviciu

Serviciu Web ≡ processimplu sau compus

www.daml.org/services/owl­s/

owl‐s

Page 57: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Fiecarui proces i se asociaza un profil,avind atasate proprietati:

pre‐conditie, intrare, iesire, efect (post‐conditie)

Un proces compus are proprietati compuse

Modul de compunere este specificat,de asemenea, in OWL‐S

owl‐s

Page 58: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Elemente principale:utilizarea standardelor Web‐ului semanticfolosirea sau extinderea standardelor existentepentru serviciile Web (e.g., WSDL)

recurgerea la ontologii specificate via OWLrealizarea unei infrastructuri de suport

cataloage de servicii semantice(e.g., OWL‐SMatchmaker)

interfete de programare – OWL‐S API

owl‐s

Page 59: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

owl‐s

Partea superioara a ontologiei privitoare la servicii

Page 60: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Ontologia proceselor

owl‐s

Page 61: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Clasa proceselor (Process) include 3 tipuride procese: atomic, compus si simplu

<owl:Class rdf:ID="Process"><owl:DisjointUnionOf rdf:parseType="Collection">

<owl:Class rdf:about="#AtomicProcess" /><owl:Class rdf:about="#SimpleProcess" /><owl:Class rdf:about="#CompositeProcess" />

</owl:DisjointUnionOf></owl:Class>

owl‐s

Page 62: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Un proces compus poseda obligatoriu proprietateacomposedBy specificind o structura de control:

<rdf:Property rdf:ID="composedBy"><rdfs:domain rdf:resource="#CompositeProcess" /><rdfs:range rdf:resource="#ControlConstruct" />

</rdf:Property>

owl‐s

Page 63: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Fiecare structura de control cuprinde o serie decomponente indicind ordinea si executia conditionata

a sub‐proceselor sau a altor structuri de control

setul minimal al constructiilor de control:Sequence, Split, Split+Join, Choice, Unordered, Condition, 

If­Then­Else, Iterate, Repeat­While, Repeat­Until

owl‐s

Page 64: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specificarea in OWL‐S a asertiunii“o colecție de procese (servicii) vor fi divizate

(split) in vederea executiei paralele”

nu vor fi specificate informatii suplimentare privitoare sincronizarea sau asteptarea terminarii executiei 

owl‐s: exemplu

Page 65: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

<owl:Class rdf:ID="Split"><!-- specializare a unei structuri de control --><rdfs:subClassOf rdf:resource="#ControlConstruct"/><rdfs:subClassOf>

<owl:Restriction><owl:onProperty rdf:resource="#components"/><owl:toClass

rdf:resource="#ProcessComponentBag"/></owl:Restriction>

</rdfs:subClassOf></owl:Class>

owl‐s: exemplu

Page 66: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Modelarea unui serviciu (I)descrierea modelului de procesare (process model)

atomic (functional) ori compus (conversational)

determinarea proprietatilor ce vor fi expuse:doar puncte de interactiune

suplimentar, informatii pentru reasoning

owl‐s

Page 67: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Modelarea unui serviciu (II)descrierea profilului si a vizibilitatii (advertise)

specificarea intrarilor & iesirilor, preconditiilor si efectelordeterminareameta‐datelor relevante

atasarea (bind) la mecanismul de transportoferirea (+extinderea) unui document WSDL

owl‐s

Page 68: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

owl‐s

Interfaţaserviciului

Mesaje (messages)Operații (operation)Interfață (interface)

Implementarea serviciului

Legare (binding)Serviciu (service)Punct terminal (endpoint)

model de cunostinte(ontologie)

WSDL extins

Page 69: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Modelarea unui serviciu (III)interconectarea modelelor anterioare

prezentarea profilului

specificarea relatiei describedBy

specificarea suportului pentru nivelul de baza (grounding) “conectarea” la infrastructura serviciilor Web

owl‐s

Page 70: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specificarea modului de procesareserviciu ≡ flux (workflow) de procese

un proces poate fi serviciu, workflow sau proces atomic

identificarea & definirea proceselor atomicespecificarea intrarilor/iesirilor

ce pre‐conditii trebuie indeplinite? ce efecte vor fi generate? (metafore ale planificarii)

definirea fluxului ce coordoneaza executia acestor procese

owl‐s

Page 71: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Descrierea profiluluiprofil ≡ descriere functionalaa capabilitatilor serviciului

proprietati ale fluxului de date (dataflow)intrari solicitate & iesiri returnate

proprietati de stare (world state properties)preconditii de satisfacut & efecte ce vor fi produse

la executia cu succes

owl‐s

Page 72: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Descrierea profilului

de asemenea, sunt atasate meta‐date

ce date vor fi utilizatepentru cautarea si selectarea serviciilor?

se poate constitui o ierarhie de profile

owl‐s

Page 73: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Descrierea modului de atasare la baza (grounding)oferirea unei specificatii WSDL de descriere

a serviciului

identificarea si asocierea:proceselor atomice din modelul de procesare cu operatiile

corespunzatoare specificate in documentul WSDL

intrarilor/iesirilor cu mesajele WSDL

owl‐s

Page 74: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Semantic Web Services Framework(Gruninger, Hull & McIlraith, 2005)

SWSO – ontologieFLOWS – First­order Logic Ontology for Web ServicesROWS – Rules Ontology for Web Services 

SWSL – limbaj de specificare bazat pe XMLSWSL‐Rules – specifica reguliSWSL‐FOL – exprima constructii FOL

Studii de caz

www.daml.org/services/swsf

swsf

Page 75: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

complementar OWL‐Sexprima servicii (service descriptors)modeleaza procese (process model)

modelul proceselor FLOWS e subset al ontologiei PSL (Process Specification Language) – ISO 18629,

cu extinderi vizind serviciile

serviciu Web ≡ obiect identificat prin nume,fara proprietati functionale,

avind asociata o activitate exprimata via PSL

swsf

Page 76: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Web Services Modeling Ontology serie de specificatii ontologice privind elementele de baza

ale serviciilor Web semantice (Fensel et al., 2007)

diferențierea clara intre descriere si implementare efectiva

modelarea semantica a modului de executie 

www.wsmo.org

wsmo

Page 77: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Web Services Modeling Ontology actiunile executate de servicii vor fi specificate sintactic

via documente WSDL

wsmo

Page 78: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Web Services Modeling Ontology scopurile (goals) descriu in termeni ontologiciaspectele privitoare la asteptarile utilizatorilor

privind functionalitatile cerute

scopurile modeleaza punctul de vedere al utilizatorului(programatorului) referitor la invocarea (utilizarea)

procesului specificat de serviciu 

wsmo

Page 79: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Web Services Modeling Ontology mediatorii (mediators) definesc elementele

facilitind interoperabilitatea(e.g., a serviciilor sau ontologiilor folosite) 

rezolva incompatibilitatilela nivel de date, de procese, de protocoale etc.

wsmo

Page 80: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Web Services Modeling Ontology 

wsmo

Page 81: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Meta‐model stratificat:Information layer – datele dorite a fi descrise

Model layer – meta‐datele asociateMetamodel layer – descrieri privind structura &

semantica meta‐datelorMeta­metamodel layer – descrierilor specificind structura

& semantica stratuluimetamodel layer

wsmo

Page 82: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Un serviciu este descris in mod general in termeni decapacitati (capabilities) expuse via interfete (interfaces)

vor fi precizate diverse proprietati nefunctionale:acuratetea, QoS, proprietarul, performanta, reliability,robustetea, securitatea, suportul pentru tranzactii,

controlul versiunilor etc.

wsmo

Page 83: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Un serviciu poate utiliza un set de mediatori

e.g., cind apar terminologii eterogene cauzind conflicte

wsmo

Page 84: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Ca si la OWL‐S, capabilitatile cuprind descrieri ale pre‐conditiilor, contextului de execuție (assumptions),

post‐conditiilor si efectelor

Interfata priveste: coregrafia – interacțiunea unui serviciu cu alte entitatiorchestrarea – modul cum poate coopera cu altele

coregrafia & orchestrarea se descriu via ASM – Abstract State Machine (Gurevich, 1995)

wsmo

Page 85: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specificarea descrierilor de ontologii, declaratii functionalede scopuri & descrieri ale dinamicii serviciilor

se realizeaza prin intermediulWSML (Web Service Modeling Language)

bazat pe logicile descrierii

wsmo

Page 86: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specii WSML – conform (Dieter Fensel et al., 2008)

wsmo

Page 87: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Definim serviciul oferind acces la meta‐dateleatasate unei resurse (unui fisier)

specificam operatii de baza privindsistemul de stocare a fisierelor

wsmo – exemplu

Page 88: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Definim o ontologie simpla:

concepte (clase): fisier (file), proprietar (owner),director de fisiere (directory)

proprietati: relatia de detinere a unui fisier (ownership)

axioma ce restrictioneaza ca un proprietar de fisiersa apartina clasei owner

instante: fisiere obisnuite

wsmo – exemplu

Page 89: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontology _"http://www.undeva.info/fileOntology"nonFunctionalPropertiesdc#title hasValue "Ontologie privitoare la fisiere"dc#description hasValue "Modeleaza fisiere si utilizatori"

endNonFunctionalPropertiesconcept filename ofType _stringhasOwner ofType owner

concept owner subConceptOf userownerOf inverseOf (hasOwner) ofType file

wsmo – exemplu

Page 90: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

concept directorynonFunctionalProperties

dc#description hasValue "Un director este identificat unic prin i-nod si include 0 sau mai multe fisiere."

endNonFunctionalPropertiesinode ofType _stringitems ofType file

instance linuxKernelFile memberOf filename hasValue "linux-2.6.30"hasOwner hasValue root

wsmo – exemplu

Page 91: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

relation ownership (impliesType owner, impliesType file)nonFunctionalProperties

dc#relation hasValue ownershipFromOwnerendNonFunctionalProperties

axiom ownershipFromOwnerdefinedBy

ownership (?x,?y) :− ?x [ownerOf hasValue ?y] memberOf owner .

wsmo – exemplu

Page 92: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Descriem – la nivel ontologic – capabilitatile oferite de serviciu

specificam actiunea de inserare a unui fisierintr‐un director 

privita, echivalent, ca stabilire a unei categoriipentru o anumita resursa

wsmo – exemplu

Page 93: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

webService "http://www.undeva.info/FileWebService"nonFunctionalProperties

dc#title hasValue "Adăugarea unui fişier într-un director"endNonFunctionalPropertiesimportsOntology _"http://www.undeva.info/fileOntology"

capabilitysharedVariables {?inode , ?filename}

wsmo – exemplu

Page 94: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

preconditiondefinedBy

?inode memberOf string and?filename memberOf file .

postconditiondefinedBy

forall ?dir ( ?dir [ inode hasValue ?inode ] memberOf directory implies

?dir [ items hasValue ?filename] ) .

wsmo – exemplu

Page 95: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Medierea (mediation) serviciilor via mediatorii WSMOeterogenitatea poate surveni la nivel de:

terminologie (a conceptelor, numelor de entitati etc.)

reprezentare a formatului – e.g., HTML versus RSS – si protocolului de transfer – HTTP versus RPC

functionalitate: un ofertant nu pune la dispozitieintotdeauna serviciul a carui funcționalitate se potriveste

fidel cu cerintele clientului

proces de afaceri (business process)

wsmo – mediere

Page 96: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Medierea la nivel de date poate avea loc prin asocieri de ontologii (ontology mapping), alinieri ontologice (alignment ontology) si fuzionari de ontologii (ontology merging)

wsmo – mediere

vezi unul dintrecursurileanterioare

Page 97: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

La nivel de procese, trebuie specificati mediatoride tip proces (process mediators) – servicii aditionale (private/interne) sau alte aplicatii

Medierea la nivel functional este facilitatade pre‐ si post‐conditii via mediatorii WSMO

wsmo – mediere

Page 98: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

IBM Semantic Tools for Web Services

METEOR‐S Web Service Discovery Infrastructure

OWL‐S Matcher

SESA – Semantically EnabledService‐oriented Architectures

WSMT – Web Services Modeling Toolkit

initiative & instrumente

Page 99: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

instrumente (exemple)Intrastructura

SESA

Page 100: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Alte detalii in volumulDieter Fensel, Mick Kerrigan &Michal Zaremba (Editors),Implementing Semantic Web Services. The SESA Framework,

Springer, 2008

a se avea in vedere si competitia SWS Challenge:http://sws­challenge.org/

servicii web semantice

Page 101: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Comunicarea in cadrul SOAtriple space computing

Coordonarea, medierea, adaptarea serviciilor WebSecuritatea serviciilor Web

WS‐Security, WS‐Trust, WS‐Privacy,…Asigurarea interoperabilitatii

initiativaWS‐IServiciile Web in contextul proceselor de afaceri

modelareaworkflow‐urilor: BPEL‐WSServicii Web pentru grid

provocari

Page 102: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Rezumat

Descrieri semantice ale serviciilor Webde la SOA la OWL‐S si WSMO

Page 103: Web11 Semantic Web: Servicii Web descrise semantic

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

?