Date post: | 15-Mar-2016 |
Category: |
Documents |
Upload: | stephanie-ellison |
View: | 33 times |
Download: | 1 times |
Aplicatii Web bazate pe semantica, agenti si servicii
Universitatea Politehnica BucurestiAnul universitar 2007-2008, MasterCurs prezentat de Stefan Paval
http://turing.cs.pub.ro/webs_07
Servicii Web Servicii Web SemanticeSemantice OWL-S (3.1) – vezi curs 11 WSMO OWL-S si WSMO Instrumente
3.2 WSMOPlan WSMO scopuri si obiective Principii de proiectare Notiuni generale
Ontologii Servicii Web Scopuri Mediatori
WSMO este .. un model conceptual pt Servicii Web
Semantice: ontologia elementelor principale pentru pentru
Servicii Web Semantice limbaj descriptiv formal (WSML) mediu de executie (WSMX)
… derivat din si bazat pe Web Service Modeling Framework WSMF
un grup de lucru SDK-Cluster (afiliat initiativei Europene de cercetare si dezvoltare)
Grupuri de Lucru WSMOModel Conceptual
pentru SWS
Limbaj Formal pentru WSMO
Limbaj bazat pe reguli pentru SWS
Mediu de executie pentru WSMO
Conformitate Web Bazat pe ontologie Separare stricta Centralizarea medierii Separarea rolurilor ontologic Descriere vs Implementare Semantica executiei
Principii de proiectare WSMO
Notiuni generale WSMOObiective pe care clientul doreste sa le obtina prin utilizarea Serviciilor Web
Asigura terminologia formala de specificare a informatiei folosite de toate celelalte componente
Descrierea semantica a Serviciilor Web: - Capacitate (functional)- Interfete (utilizare)
Conectori intre componente cu facilitati de mediere pentru gestionarea eterogenitatilor WSMO D2, version 1.2, 13 April 2005 (W3C submission)
Proprietati non-functionalefiecare element WSMO este descris prin
proprietatile care contin aspecte relevante, non-functionale
Dublin Core Metadata Set: descrierea completa a elementelor folosit pentru gestiunea resurselor
Informatii privind versiunile evolutia suportului
Calitatea Serviciilor disponibilitate, stabilitate
Altele Cine este detinatorul serviciului, aspecte de cost
Lista proprietatilor non-functionaleDublin Core Metadata
Contributor Acoperire Creator Descriere Format Identificator Limbaj Publicare Relatie Drepturi Sursa Subiect Titlu Tip
Calitatea Serviciilor Acuratete NetworkRelatedQoSPerformanteIncredere RobusteteScalabilitate Securitate Tranzactional
Altele CostProprietar TypeOfMatch Versiune
Ontologii WSMOObiective pe care clientul doreste sa le obtina prin utilizarea Serviciilor Web
Asigura terminologia formala de specificare a informatiei folosite de toate celelalte componente
Descrierea semantica a Serviciilor Web: - Capacitate (functional)- Interfete (utilizare)
Conectori intre componente cu facilitati de mediere pentru gestionarea eterogenitatilor
Ontologiile sunt utilizate ca ‘data model’ in WSMO toate descrierile de elemente WSMO se bazeaza pe ontologii toate schimburile de datele in utilizarea Serviciilor Web sunt
ontologii procesarea informatiilor semantice si rationamentul ontologiei
WSML - limbajul ontologic al WSMO sintaxa conceptuala pentru descrierea elementelor WSMO limbaj logic pentru expresii axiomatice (WSML Layering)
WSMO proiectarea ontologiei Modularizare: import / reutilizarea ontologiilor, abordare
modulara pentru proiectarea ontologiilor Separare: eterogenitatile gestionate de OO Mediators
Utilizarea ontologiei si principii
Proprietati non functionale (prezentate anterior) Ontologii importate importarea ontologiei existente acolo
unde nu apar eterogenitati Folosirea mediatorilor OO Mediators (importul ontologiei cu
gestionarea nepotrivirilor terminologice) Elementele ontologiei:
Concepte set de concepte care apartin ontologieiAtribute set de atribute care apartin unui conceptRelatii defineste relatiile dintre diverse concepteFunctii tip special de relatie (unary range = return value) Instante set de instante care apartin ontologiei reprezentateAxiome expresii axiomatice in ontologie (logical statement)
Specificarea Ontologiei
Servicii Web WSMOObiective pe care clientul doreste sa le obtina prin utilizarea Serviciilor Web
Asigura terminologia formala de specificare a informatiei folosite de toate celelalte componente
Descrierea semantica a Serviciilor Web: - Capacitate (functional)- Interfete (utilizare)
Conectori intre componente cu facilitati de mediere pentru gestionarea eterogenitatilor
Descrierea Serviciilor Web WSMO
ImplementareaServiciilor Web
(nu intereseaza pt descrierea Serviciilor
Web)
Coregrafie --- Interfete Servicii ---
Capacitate
descriere functionala
WS
WS
- Reclama pentru servicii Web- Suport pentru WS Discovery
Interfata de interactiune client-serviciu pentru folosirea WS - Comportament extern vizibil- Structura Comunicatiei- ‘Grounding’
Realizarea functionalitatii prin agregarea altor Servicii Web - descompunere functionala - compunere WS
Proprietati non-functionale
DC + QoS + versiune + financiar
- descrierea completa a elementului- aspecte de calitate - Web Service Management
WS
Orchestrare
Specificatia Capacitatii Proprietati non functionale Ontologii importate Folosirea mediatorilor
OO Mediator: importarea ontologiilor cu rezolvarea nepotrivirilor WG Mediator: legatura la un Scop acolo unde serviciul nu este folosibil
a priori Preconditii
Ce asteapta un Serviciu Web pentru a putea sa se execute. Definesc conditiile asupra intrarilor.
Presupuneri Conditii asupra mediului care trebuie sa fie indeplinite
inainte ca Serviciul Web sa fie executat Postconditii
Descriu rezultatul Serviciului Web in functie de intrari si de preconditiile asupra intrarii
Efecte Conditii asupra mediului dupa executia Servicului Web (ex. Schimbarile din mediu)
Coregrafie si Orchestrare Exemplu VTA:
Coregrafie = cum sa interactionezi cu serviciul pentru a-i folosi functionalitatea
Orchestrare = cum se obtine functionalitatea serviciului prin agregarea cu alte Servicii Web
VTAService
Data
Ora
Zbor, Hotel
Eroare
Confirmare
Serviciu Hotel
Serviciu transport aerian
Data, Ora
Hotel
Eroare
Data, Ora
Zbor
Eroare
Cand serviciul este cerut
Cand serviciul cere
Coregrafie (aspecte)
Comportament Extern Vizibil cuprinde aspectele fluxului Serviciului Web care solicita Interactiune descris prin constructori de flux: secventa, split, ciclu, paralel
Structura comunicatiei mesaje trimise si receptionate comanda lor (comporatmentul comunicativ pentru folosirea
serviciului) Grounding
tehnologie executabila de comunicare pentru interactiune erori legate de coregrafie (ex. intrare gresita, message timeout, etc.)
Model Formal Rationament asupra interfetelor Serviciului Web (interoperabilitatea
serviciului) Permite suportul medierii interfetelor Serviciului Web
Interfata pentru folosirea Serviciului Web
Orchestrare (aspecte)
- Descompunerea functionalitatii serviciului
- Taote serviciile interactioneaza prin coregrafie
Structura de Control pentru agregarea altor Servicii Web
WS
Web S
ervice Business Logic
1
2
3
4
WS
Starea in Orchestrare Flux de Control Fluxul Datelor Interactiunea Serviciului
Interfete Serviciu Web WSMO
interfetele serviciului sunt legate de folosirea serviciului si interactiune
Coregrafia si Orchestrarea ca sub-concepte ale Interfetei Serviciului
Cerinte comune pentru descrierea interfetei serviciului:
1. reprezinta dinamica interschimbarii informatiilor in timpul folosirii serviciului si interactiunii
2. privesc ontologiile ca model de date de baza 3. tehnologia de comunicare corespunzatoare pentru schimbul
de informatii4. descrie modelul formal / semantica specificatiilor interfetei
serviciului pentru a permite operatii asupra lor.
Descrierea Interfetei Serviciului
Ontologiile ca model de date: toate elementele datelor transmise sunt instante ale ontologiei interfata serviciului = ontologie in evolutie
Abstract State Machines (ASM) - cadru formal: reprezentarea dimanicii: expresivitate ridicata si implicarea
ontologica scazuta principii de baza: bazat pe stare, definirea starii prin algebra
formala, tranzitii verificate pentru schimbarile starii rezolvarea “Frame Problem”
Alte caracteristici: nu este restrictionat la nici o tehnologie de comunicare specifica Rationament ontologic pentru determinarea interoperabilitatii
serviciului baza pentru tehnica de mediere a interfetelor serviciilor
Model Descriptiv pt Interfata Serviciu
Vocabular Ω: scheme ale ontologiei folosite in descrierea interfetei
serviciului utilizarea pentru schimbul de informatii: in, out, shared,
controlled
Stari ω(Ω): stare stabila in spatiul informatiilor definita prin valorile atributelor instantelor ontologiei
Guarded Transition GT(ω): tranzitie a starii structura generala: if (conditie) then (actiune) diferit pentru Coregrafie si Orchestrare
Exemplu Interfata Serviciu
Ωin hasValues concept A [ att1 ofType X att2 ofType Y]…
a memberOf A [ att1 hasValue x att2 hasValue y]
a memberOf A [ att1 hasValue x, att2 hasValue y]
b memberOf B [ att2 hasValue m]
IF (a memberOf A [ att1 hasValue x ])THEN (b memberOf B [ att2 hasValue m ])
State ω1 Guarded Transition GT(ω1) State ω2
Ωout hasValues concept B [ att1 ofType W att2 ofType Z]…
Vocabulary: - Concept A in Ωin - Concept B in Ωout
received ontology instance a
Comportamentul in comunicare al serviciuluiWeb
sent ontology instance b
Directii de viitor
Ontologile ca modele de date: - orice descriere de resurse se bazeaza pe ontologii - fiecare element de data transmis este instanta a ontologiei
Decsrierea formala a interfetelor serviciului: - abordare bazata pe ASM - permite rationamentul si medierea
Constructori de fluxuri ca baza pentru descrierea interfetelor serviciului: - modele de procese bazate pe fluxuri pentru descrierea comportamentuilui - pe baza constructorilor de flux generici (ex. van der Aalst)
Coreografie: - interactiunea dintre servicii si client - „interfata coreografiei“ descrie comporatmentul Serviciului Web Service in interactiunea client-serviciu pentru folosirea serviciului
Orchestrare: - cum se obtine functionalitatea Serviciului Web prin agregarea altor Servicii Web - extinde descrerile Coreografiei constructia de control si flux de date dintre orchestrarea WS si WS-uri orchestrate.
Grounding: - sa faca executabila interfata serviciului - grounding WSDL
Modele conceptuale
Limbaj utilizator - bazat pe diagrame de activitate UML2 - graphical Tool for Editing & Browsing Service Interface Description
Obiectivele WSMOObiective pe care clientul doreste sa le obtina prin utilizarea Serviciilor Web
Asigura terminologia formala de specificare a informatiei folosite de toate celelalte componente
Descrierea semantica a Serviciilor Web: - Capacitate (functional)- Interfete (utilizare)
Conectori intre componente cu facilitati de mediere pentru gestionarea eterogenitatilor
Scopuri Decuplarea ontologica a Solicitantului de Furnizor
Abordare orientata pe scopuri, derivata din abordarea unui agent inteligent
- Solicitantul formuleaza independent obiective - Mecanismele ‘Inteligente’ detecteaza serviciile potrivite pentru
solutionarea Scopului- Permite reutilizarea Serviciilor pentru alte scopuri
Utilizarea Scopurilor in Servicii Web Semantice Solicitantul (uman sau masina) defineste un Scop pentru
rezolvare Web Service Discovery detecteaza automat Serviciile Web
potrivite pentru solutionarea Scopului Goal Resolution Management este realizat in implementari
Specificarea Scopului Proprietati non functionale Ontologii importate Folosirea mediatorilor
OO Mediators: importarea ontologiilor cu rezolvarea eterogenitatilor
GG Mediator: definirea Scopului prin reutilizarea unui scop existent permite definirea Ontologilor Scopului
Capacitatea ceruta descrie functionalitatea serviciului care se asteapta sa
rezolve obiectivul definit ca descrierea capacitatii din perspectiva solicitantului
Interfata ceruta descrie comporatmentul comunicativ al solicitantului pentru
a folosi un Serviciu Web (Coreografie) restrictii / preferinte in orchestratii pentru Servicii Web
acceptabile
Mediatori WSMOObiective pe care clientul doreste sa le obtina prin utilizarea Serviciilor Web
Asigura terminologia formala de specificare a informatiei folosite de toate celelalte componente
Descrierea semantica a Serviciilor Web: - Capacitate (functional)- Interfete (utilizare)
Conectori intre componente cu facilitati de mediere pentru gestionarea eterogenitatilor
Mediere Eterogenitate …
Nepotrivire la nivel structural / semantic / conceptual Apare intre diferite componente care trebuie sa colaboreze In special in medii distribuite si deschise, cum e Internet
Conceptul Medierii (Wiederhold, 94): Mediatori - componente care rezolva nepotrivirile Abordare Declarativa:
Descrierea semantica a resurselor Mecanisme ‘inteligente’ care rezolva nepotrivirile
independent de continut Medierea nu poate fi complet automatizata (integration
decision) Nivele ale Medierii in Servicii Web Semantice (WSMF):
(1) Nivelul Datelor: mediaza Data Sources eterogene (2) Nivel Protocol: mediaza Communication Patterns
eterogene(3) Nivelul Proceselor: mediaza Business Processes eterogene
Mediatori WSMO
Structura MediatoruluiWSMO Mediator
foloseste Mediation Service via
Componenta Sursa
ComponentaSursa
ComponentaTinta 1 .. n
1
Servicii Mediere
- Scop - direct- optional incl. Medierea
OO Mediator - Exemplu
OO MediatorMediation Service
Train ConnectionOntology (s1)
Purchase Ontology (s2)
Train Ticket Purchase Ontology
Mediation Services
Goal:“merge s1, s2 and s1.ticket subclassof s2.product”
Discovery
Contopind 2 ontologii
GG Mediators Scop:
Ajuta specificatia Scopurilor prin reutilizarea Scopurilor existente
Permite definirea Ontologiei Scopului (colectie de Scopuri predefinite)
Nepotrivirile terminologice sunt gestionate de OO Mediators
Exemplu: rafinarea Scopului
GG MediatorServiciu de Mediere
Scopul Sursa“Cumpara
bilet”
Scop Tinta “Cumpara un bilet
de tren”
post-conditie: “aTicket memberof trainticket”
Mediatori WG & WW Mediatori WG:
leaga Serviciul Web la Scop si rezolva aparitia nepotrivirilor potriveste Serviciul Web cu Scopurile care nu se potrivesc a priori gestioneaza nepotrivirile terminologice dintre Servicii Web si Scopuri mareste gama Scopurilor solutionabile cu un Serviciu Web
Mediatori WW: introduce interoperabilitatea Serviciilor Web eterogene permite colaborarea automata intre Servicii Web
OO Mediators pentru importului terminologiei cu mediarea nivelului datelor
Protocol de Mediere pentru stabilirea colaborarilor multi-partite valabile
Medierea proceselor pentru interoperabilitatea Business Processes
Plan Perspective
Relatii ale Elementelor Ontologiei
Interoperabilitate si Mediere
Reprezentare Semantica
3.3 OWL-S and WSMOElemente comune si diferente
Perspectiva OWL-S OWL-S este o ontologie si un limbaj de
descriere a serviciilor Web Linii directoare pentru dezvoltarea OWL-S
Relatie puternica cu standardele Serviciilor Web decat sa propuna un nou standard WS, OWL-S prefera
sa extinda standardele existente OWL-S poate fi descris in WSDL si a fost mapat in UDDI
Bazat pe Web Semantic Ontologiile furnizeaza cadrul conceptual pentru
descrierea domeniului serviciilor Web si interfata pentru rationament asupra domeniului
Ontologiile sunt elemente esentiale pentru interoperabilitatea dintre serviciile Web
Construit pe baza cercetarilor de IA in reprezentarea cunostintelor si planificare
Perspectiva WSMO WSMO este un model conceptual pentru
elementele de baza ale Serviciilor Web Semantice elemente de baza: Ontologii, Servicii Web, Scopuri,
Mediatori ontologia pentru descrierea servicioului este precisa, fara
ambiguitati limbaj pentru descrierea elementelor semantice (WSML) implementare de referinta (WSMX)
Orientat pe rezolvarea problemei integrarii Medierea ca element cheie Ontologiile ca modele de date
orice descriere de resursa este bazata pe ontologii fiecare element de date transmis este o instanta
ontologica Bazat pe cercetari in ingineria cunostintelor si B2B
Integration
OWL-S si WSMO
Cerere OWL-S foloseste Profiles pentru a exprima
capacitati existente (advertisements) si capacitati dorite (requests)
WSMO separa punctele de vedere ale furnizorului (capabilities) si solicitantului (goals)
Conceptual, profilul cerut OWL-S si scopul WSMO nu sunt chiar la fel
Requested service profile vs requester objectives
profilul OWL-S ≈ capacitatea WSMO + scop + proprietati non-functionale
OWL-S si WSMO
Perspective: OWL-S Process Model descrie operatii efectuate de Serviciu Web
Service, inclusiv folosirea si agregarea WSMO separa Coregrafia si Orchestrarea
Model Formal: semantica formala a OWL-S a fost descrisa prin diverse formalisme:
Description Logics, Situation Calculus, Petri Nets, Pi-calculus Modelul de descriere a interfetei serviciului in WSMO se face cu o
semantica formala bazata pe ASM OWL-S Process Model este extins cu SWRL / FLOWS
ambele abordari nu au fost inca finalizate
OWL-S Process Model WSMO Service Interfaces
OWL-S asigura mapping la WSDL separare clara intre descrierea WS si interfata de
implementare Pot fi folosite si alte forme de mapping
WSMO defineste mapping la WSDL, dar cu grounding bazat pe ontologii
elimina pierderea descrierilor ontologiei pe durata utilizarii procesului
‘Triple-Spaced Computing’ – tehnologie inovativa de comunicare
OWL-S Grounding current WSMO Grounding
OWL-S si WSMO
Mediere si Interoperabilitate
Interactia serviciilor Web pot produce multe forme de nepotriviri
Data mismatch: partile care interactioneaza nu se pun de acord cu formatul datelor utilizate
Ontology mismatch: partile care interactioneaza fac referire la ontologii diferite
Protocols mismatch: partile care interactioneaza asteapta informatii la momente de timp diferite
Goals Mismatch: partile care interactioneaza incearca sa atinga scopuri diferite
Interpretations Mismatch: partile care interactioneaza interpreteaza aceasi informatie in moduri diferite
Aceste nepotriviri trebuie reconciliate pentru ca interoperabilitatea sa functioneze.
Mediatorii sunt componente care reconciliaza aceste nepotriviri
Mediere in OWL-S si WSMO OWL-S nu are notiunea explicita de mediator
Medierea este un produs al procesului de orchestratie Ex. Nepotrivirile de protocol sunt rezolvate prin construirea
unui plan care coordoneaza activitatea serviciilor Web … sau rezulta din translatarea axiomelor disponibile
serviciilor Web Nu este misiunea OWL-S sa genereze axiomele
WSMO priveste mediatorii ca elemente conceptuale cheie
Diverse tipuri de mediatori: OO Mediators pentru interoperabilitate semantica Mediatori GG, WG pentru legatura dintre Scopuri si Servicii
Web WW Mediators sa stabileasca interoperabilitatea serviciului
Mediatori reutilizabili Tehnicile de mediere sunt in curs de dezvoltare
Reprezentare Semantica OWL-S si WSMO adopta o viziune similara
privind necesitatea ontologiilor si a semanticii explicite,dar se bazeaza pe logici diferite
OWL-S se bazeaza pe OWL/SWRL OWL reprezinta taxonomii SWRL asigura reguli de interferenta FLOWS ca model formal pentru procese
WSMO se bazeaza pe WSML, familie de limbaje cu o baza comuna pentru compatibilitate si extinderi in directia Description Logics si Logic Programming
OWL vs WSML
WSML incearca sa rezolve deficientile OWL Relatia dintre WSML si OWL+SWRL trebuie finalizata
OWL Lite
OWL DL
OWL Full
WSML Flight
WSML DL
WSML Core
WSML Rule
WSML Full
Description Logics
full RDF(S) support
subset
Description Logics
Logic Programming
First Order Logic
3.4 InstrumenteOWL-S
Plug-in OWL-S pentru Protégé
http://projects.semwebcentral.org/projects/owlseditor/http://owlseditor.semwebcentral.org/
OWL-S IDE (CMU)http://www.daml.ri.cmu.edu/tools/index.html
OWL-S IDE (CMU)
InstrumenteWSMO
http://www.wsmo.org/
WSMLhttp://www.wsmo.org/wsml/
WSMX = Web Service Execution Environment
http://www.wsmx.org/
Slide-urile includ o parte din cele prezentate la Sematic Web Service Tutorial, ESWC 2005, Heraklion, Grecia