web11 semantic web: servicii web descrise semantic
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Web semantic
Dr. SabinCorneliu BuragaFacultatea de Informatica
Universitatea “A.I.Cuza” – Iasi, Romania
http://www.infoiasi.ro/~busaco/
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Servicii Webdescrise 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
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
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
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
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
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 componentbased software
solutie
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
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 apriori a interactiuniicu alte aplicatii/servicii Web
servicii web
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
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
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)
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 (decoupling)
serviciile pot fi recompuse/orchestrate conform cerintelor
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
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
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
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
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
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
soa: variatii (Tsai et al., 2006)
CCSOA (Consumercentric SOA)publicare de workflow‐uri & specificatii de colaborare intreaplicatii pentru descoperirea, selectarea si subscrierea
la servicii de interesexemplu: serviceoriented embedded systems
UCSOA (Usercentric SOA)extensie a CCSOA ce permite utilizatorilor finali
sa compuna facil & rapid aplicatiiexemplu: enduser mashups – Yahoo! Pipes
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
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
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.xmlrpc.com
SOAPsofisticat, mai flexibil
www.w3.org/TR/SOAP
POX (Plain Old XML)/JSON (JavaScript Object Notation)dezvoltatorul recurge la metode proprii de serializare
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
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?
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
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)
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
regasire: uddi
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
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.wsi.org
Workflow‐uri: Business Process Execution Language (BPEL), WS‐Choreography, WS Flow Language (WSFL) etc.
…si altele
initiative
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
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
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
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
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
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
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
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 idletime este valoarea proprietatii asociate
unei entitati, in spiritul triplelor RDF
rest: exemplu
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
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
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
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Framework‐uri Web (structura conceptuala stratificata)
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
stratificarea aplicatiilor Web (Ntier Web applications)
dezvoltare: privire de ansamblu
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
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
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)
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)
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)
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)
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
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)
OWLS (Services)
solutii
Vedere stratificata de specificare – dupa (Hobbs, 2003)
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/owls/
owl‐s
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
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
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Ontologia proceselor
owl‐s
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
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
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,
IfThenElse, Iterate, RepeatWhile, RepeatUntil
owl‐s
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
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
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
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
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
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
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
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
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
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
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 – Firstorder 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
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
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
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
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
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Web Services Modeling Ontology
wsmo
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‐datelorMetametamodel layer – descrierilor specificind structura
& semantica stratuluimetamodel layer
wsmo
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
instrumente (exemple)Intrastructura
SESA
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://swschallenge.org/
servicii web semantice
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
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
?