Presentation is loading. Please wait.

Presentation is loading. Please wait.

Aplicatii Web bazate pe semantica, agenti si servicii

Similar presentations


Presentation on theme: "Aplicatii Web bazate pe semantica, agenti si servicii"— Presentation transcript:

1 Aplicatii Web bazate pe semantica, agenti si servicii
Universitatea Politehnica Bucuresti Anul universitar , Master Adina Magda Florea

2 Servicii Web Semantice
Web Semantic si Servicii Web Semantice Infrastructura SWS Ontologii pentru SWS: OWL-S – acest curs si WSMO – curs 12 Selectia serviciilor – prezentare Filis Cadar

3 Standarde pentru servicii Web
Sematic Web Services

4 1. Evolutie WWW Semantic Web Static Probleme legate de:
regasirea informatiei, extragerea informatiei, reprezentarea informatiei, interpretarea informatiei actualizarea informatiei WWW URI, HTML, HTTP Semantic Web RDF, RDF(S), OWL Static

5 Evolutie Web Services WWW Semantic Web Dinamic Static UDDI, WSDL, SOAP
URI, HTML, HTTP Semantic Web RDF, RDF(S), OWL Static

6 Evolutie Semantic Web Services Web Services WWW Semantic Web Dynamic
Intregul potential al web-ului Semantic Web Services Web Services UDDI, WSDL, SOAP Dynamic WWW URI, HTML, HTTP Semantic Web RDF, RDF(S), OWL Static

7 Limitari ale WS curente
Tehnologiile curente (WSDL, SOAP, UDDI) permit utilizarea WS dar: descrieri ale informatiei la nivel sintactic suport exclusiv sintactic pentru descoperire, compunere si executie => utilizarea si integrarea WS trebuie sa fie realizata manual nu exista marcare semantica a continutului serviciilor nu exista suport pentru Web Semantic

8 Servicii Web Semantice
Tehnologia Web Semantic + Tehnologia WS permite interpretarea semantica automata a datelor folosirea ontologiilor ca model al datelor permite descoperire, selectie, compunere si executie a WS  Servicii Web Semantice ca solutie integrata pentru realizarea noii generatii a Web

9 2. Infrastructura SWS Activitati/utilizare Arhitectura
Suport executie Monitoring Compensation Replacement Auditing Activitati/utilizare Composition Execution Publication Discovery Selection Mediation Nivel Business Arhitectura Activitatile utilizator definesc cerintele functionale pe care trebuie sa le posede un framework pentru SWS Arhitectura SWS defineste componentele necesare pentru realizarea acestor activitati Ontologia serviciului combina toate modelele conceptuale legate de descrierea unui SWS si reprezinta modelul de cunostinte al informatiei ce descrie si indica modul de folosire a serviciului. Matchmaker Register Decomposer Reasoner Invoker Nivel fizic Ontologia serviciului input output Pre-condition Cost Atomic service Composite service Post-condition Nivel conceptual

10 Infrastructura SWS Activitatile/utilizarea definesc cerintele functionale pe care trebuie sa le posede un framework pentru SWS Arhitectura SWS defineste componentele necesare pentru realizarea acestor activitati Ontologia serviciului combina modelele conceptuale legate de descrierea unui SWS si reprezinta modelul de cunostinte al informatiei ce descrie serviciul si indica modul de folosire a serviciului.

11 2.1 Activitati SWS este vazut ca un obiect dintr-un scenariu a unei aplicatii de business Publication: Permite accesul la descrierea unui serviciu Discovery: Localizeaza diferite servicii pentru un anumit task Selection: Alege cel mai potrivit serviciu dintre mai multe disponibile Composition: Combina mai multe servicii pentru satisfacerea unui scop Mediation: Rezolva nepotriviri (date, protocol, procese) intre servicii compuse Invocation / Execution: Invoca serviciile folosind conventii specifice

12 Activitati Publication SWS:
Publicarea unui SWS permite descoperirea serviciilor pe baza scopului sau a capacitatilor serviciului Ontologia serviciului este inregistrata intr-un registru semantic (semantic registry) Ontologia serviciului separa informatia utilizata pentru matching in timpul descoperirii de cea utilizata de serviciu la invocare. Ontologia serviciului trebuie legata si de o ontologie a domeniului. Discovery SWS: Matchmaking semantic intre descrierea serviciului cerut si descrierea publicata a serviciului Registrul semantic se inspecteaza ca urmare a cererilor; cererile pot contine nume, input, output, preconditii dar si alte atribute. Matching-ul poate fi facut si la nivelul task-urilor sau scopurilor care se doresc. Matching-ul poate fi bazat pe anumite criterii cum ar fi mostenirea relatiilor in taxonomia ontologica

13 Activitati Categorii de "Matching semantic":
Exact = iesirile cerute sunt la fel cu cele ale SWS Plug-in = iesirile cerute sunt subsumate de cele ale SWS Ex: un serviciu care ofera toate tipurile de vehicule este un "plug-in match" pentru o cerere de tipuri de masini Subsumeaza = iesirile cerute subsumeaza cele ale SWS Ex: un serviciu care ofera informatii despre masini este un "subsuming match" pentru o cerere care se refera la tipuri de vehicule

14 Activitati Selection SWS:
Necesara daca exista mai multe servicii potrivite cererii. Se pot folosi atribute ne-functionale: cost, calitate In mediu agenti – negociere Composition SWS: Compunere (coreografie) – SWS compus definit in terenii unor servicii mai simple. Workflow – poate fi definit folosind structuri de control Aceasta descriere poate fi ancorata intr-o descriere sintactica, de ex WSBPEL Compunere dinamica la cerere

15 Activitati Invocation / Execution SWS:
Invocarea unui SWS implica un numar de pasi, odata ce s-au obtinut intrarile necesare. Ontologia serviciului si ontologia domeniului asociate serviciului sunt instantiate Intrarile sunt validate fata de tipurile din ontologie Sercviciul este invocat = workflow-ul este executat prin grounding-ul specificat

16 Suportul executiei Monitoring: Controlul procesului de executie
Compensation: Ofera suport pentru tranzactii si anularea efectelor nedorite in caz de esec Replacement: Faciliteaza substitutia serviciilor cu servicii echivalente Auditing: Verifica ca executia serviciului a avut loc conform specificatiilor

17 2.2 Arhitectura Reasoner = utilizat in timpul tuturor activitatilor; ofera suport pentru interpretarea descrierilor semantice si a cererilor semantice. Register = ofera mecanismele de publicare si localizare a serviciilor + crearea si editarea de servicii Matchmaker = mediaza intre cererea de serviciu si registrul semantic in timpul descoperirii si selectiei Decomposer = executa modelul compozitional Invoker = mediaza intre cerere si ofertanat sau cerere si decomposer Arhitectura Matchmaker Register Decomposer Reasoner Invoker

18 2.3 Ontologia serviciului
Ontologia serviciului reprezinta capacitatile serviciului si restrictiile care se aplica utilizarii acestuia. Ontologia serviciului integreaza cunostintele definite prin informatii la nivelul standardelor de servicii (WSDL, UDDI) cu cunostinte specifice domeniului: caracteristici functionale: inputs, output, pre-conditions, post-conditions; caracteristici nefunctionale: category, cost, quality of service; informatii legate de ofertantul de serviciu: company name, address informatii legate de taskul de executat sau de scopul dorit cunostinte ale domeniului, de ex tipul intrarilor

19 3. Ontologii pentru SWS WSMO – Europa OWL-S - USA
European Semantic Systems Initiative WSMX (Web Service Modelling eXecution environment) – implementarea de referinta a WSMO (Web Service Modelling Ontology) Un mediu de executie pentru integrarea aplicatiilor de business WSML (Web Service Modelling Language) – limbajul intern al WSMX Specificatiile WSMO si WSML + mediul WSMX - ESSI cluster.

20 3.1 OWL-S Upper Ontology Service Profile Process Model
Service Grounding

21 OWL-S Upper Ontology Specificarea capabilitatilor SWS
Caracteristici generale ale SWS Calitatea serviciului Clasificare in taxonomii de servicii Maparea la WSDL protocolul de comunicare (RPC, HTTP, …) serializare transformare din/in XSD in/din OWL Fluxul de control al serviciului Black/Grey/Glass Box view Specificarea protocolului Mesaje abstracte

22 Upper Ontology for Services
OWL-S Upper Ontology Upper Ontology for Services Service.owl Profile.owl Process.owl Grounding.owl

23 Service Profile Service Profile Prezentat de serviciu Reprezinta
ce ofera serviciul Doua utilizari principale: Reclama capabilitatilor serviciului Cerere de servicii cu anumite capabilitati

24 OWL-S Profile Descrie serviciul Web
Ce capabilitati ofera: Ce transformari realizeaza serviciul Tipul serviciului Caracteristici generale cum ar fi: Cine ofera serviciul Cerinte de securitate Calitatea serviciului Rolul de baza: sa asiste descoperirea Permite cautarea pe baza de capabilitati Permite selectia pe baza cerintelor utilizatorului Profilul nu specifica utilizarea/invocarea

25 OWL-S Service Profile Capabilitati serviciu
Preconditions Conditiile care trebuie indeplinite inainte de invocarea serviciului Inputs Multimea de intrari pe care utilizatorul trebuie sa le furnizeze pentru a invoca serviciul Outputs Rezultatele pe care utilizatorul se asteapta sa le obtina dupa ce se finalizeaza interactiunea cu ofertantul de serviciu Effects Multimea de asertiuni care sunt adevarate daca serviciul este invocat cu succes IOPE (Inputs, Outputs, Preconditions, Effects) – specifica functionalitatea procesului Service type Ce tip de serviciu se ofera (eg vanzare, distributie) Product Produsul asociat serviciului (eg calatorii, carti, piese auto)

26 OWL-S Service Profile Proprietati suplimentare
Security Parameters Capabilitatile de securitate ale serviciului (eg suporta X509 Encryption) Specifica cerintele de securitate ale serviciului (eg clientul trebuie sa fie capabil sa ofere X509 Encryption) Nivelul de calitate Ce nivel de calitate ofera serviciul? Descrierea cu ajutorul taxonomiilor standard de business Cum se clasifica serviciul in taxonomii standard cum ar fi: UNSPSC (The United Nations Standard Products and Services Code – classification of products and services) NAICS (North American Industry Classification System - definitions for each industry) Aceste proprietati nu sunt exhaustive; se pot adauga noi proprietati folosind ontologii existente

27 Profile.owl

28 Profile.owl

29 Profile.owl

30 Process Model Process Model Permite
Descrie modul in care lucreaza serviciul: procesele interne ale serviciului Specifica protocolul de interactiune al serviciului Specifica mesaje abstracte: tipul ontologic al informatiei transmise Permite Invocarea serviciului Compunerea serviciilor Monitorizarea interactiunilor

31 Perspective asupra Process Model
Trei perspective asupra unui WS Glass Box: Serviciul Web expune intreaga structura interna Care parti sunt executate de catre ofertant, care sunt subcontractate, etc Black Box: Modelul WS nu expune nimic despre modul intern in care functioneaza serviciul Specifica numai ce date primeste si ce date ofera Grey Box: WS expune selectiv parti ale Process Model, unele parti fiind ascunse

32 Definirea proceselor Procesul este caracterizat de urmatorii parametrii Inputs: intrarile necesare procesului Preconditions: conditiile necesare procesului pentru a functiona corect Outputs: informatia care rezulta prin (si este intoarsa de) executia procesului Results: un proces poate avea rezultate diferite in functie de diverse conditii Condition: in ce conditii se obtin anumite rezultate Constraints: asupra iesirilor Effects: schimbari asupra mediului ce rezulta ca efect al executiei procesului

33 Motivatia pentru Results
Un proces se poate termina in stari exceptionale: Compania de carti de credit nu face debitarea cardului Cartea nu mai este in stoc Expedierea bunurilor este impiedicata Rezultatele permit modelarea efectelor nedeterministe a unui serviciu Web Conditiile specifice in care se produce un anumit efect Fiecare rezultat este caracterizat de o multime de restrictii asupra iesirilor o multime de efecte

34 Exemplu de proces Inputs / Outputs Precondition Condition Result
<process:AtomicProcess rdf:ID="LogIn"> <process:hasInput rdf:resource="#AcctName"/> <process:hasInput rdf:resource="#Password"/> <process:hasOutput rdf:resource="#Ack"/> <process:hasPrecondition isMember(AccName)/> <process:hasResult> <process:Result> <process:inCondition> <expr:SWRL-Condition> correctLoginInfo(AccName,Password) </expr:SWRL-Condition> </process:inCondition> <process:withOutput rdf:resource=“#Ack“> <valueType rdr:resource=“#LoginAcceptMsg”> </process:withOutput> <process:hasEffect> loggedIn(AccName,Password) </process:hasEffect> </process:Result> </process:hasResult> </process:AtomicProcess> Inputs / Outputs Precondition Condition Result Output Constraints Effect

35 Ontologia proceselor Proces Atomic Simplu Compus Poate fi invocat
prin grounding Ofera abstractizare, incapsulare etc. Compus Defineste workflow al unui proces complex

36 Organizarea modelului de proces
Process Model este descris ca o structura arborescenta Procesele compuse sunt noduri interne Procesele simple si atomice sunt frunze Procesele simple reprezinta o abstractizare a proceselor care nu sunt specificate a proceselor care pot fi exprimate in diferite moduri Procesele atomice corespund actiunilor de baza pe care le executa serviciul Web Ascund detaliile despre cum se implementeaza procesul Corespund operatiilor WSDL

37 Procese compuse Procesele compuse specifica modul in care mai multe procese lucreaza impreuna pentru realizarea unei functii complexe Procesele compuse definesc Fluxul de control Specifica relatiile temporale intre executia diverselor sub-procese Fluxul de date Specifica modul in care datele produse de un proces sunt transferate unui alt proces

38 Exemplu de proces compus
Legaturi flux de control Specifica ordinea executiei Sequence BookFlight Airline Flight Legaturi flux de date Specifica transferul de date Perform Perform Airline Select Flight Get Flights Flights Flights Flight Depart Arrive Perform Specifica executia unui proces

39 Perform Perform ofera un mecanism de invocare
specifica contextul executiei procesului fluxul de date de intrare fluxul de date de iesire Separarea intre definirea si invocarea unui proces Definitia specifica procesul I/P/R Perform specifica cand se invoca procesul si cu ce parametrii

40 Fluxul de control Procesele pot fi inlantuite pentru a forma un workflow OWL-S ofera urmatoarele structuri de control Sequence/Any-Order: reprezinta o lista de procese care sunt executate in secventa sau in ordine arbitrara Conditionals: instructiuni if-then-else Loops: instructiuni while si repeat-until Multithreading and synchronization: divizeaza (split) procesul in mai multe fire de executie si creaza puncte de rendezvous (joint) Non-deterministic choices: selecteaza arbitrar un proces dintr-o multime de procese

41 Fluxul de date Fluxul de date permite transferul informatiei de la un proces la altul. OutputInput: Informatia produsa de un proces este transferata altui proces in aceeasi structura de control Input Input: Informata primita de un proces compus este transferata sub-proceselor OutputOutput: Informatia produsa de un sub-proces este transferata unui super-proces

42 Process Model: rezumat
Modelul serviciului descrie Multimea de procese care definesc operatiile executate de un serviciu Fluxul de control care descrie inlantuirea temporala a proceselor Fluxul de date care descrie transferul informatiei intre sub-procese

43 Process.owl

44 Service Grounding Service Grounding
Ofera o specificare a informatiei de acces la un serviciu Service Model + Grounding ofera tot ceea ce este necesar pentru utilizarea serviciului Utilizeaza WSDL pentru a defini structura mesajelor si nivelul de legare fizica Specifica: protocoalele de comunicare, mecanismele de transport, limbajele de comunicare, etc.

45 Motivatia pentru Service Grounding
Ofera o specificare a informatiei prin care se poate accesa serviciul Service Model + Grounding ofera tot ceea ce este necesar pentru a utiliza un serviciu Descrierea serviciului este destinat in special pentru a efectua rationamente asupra serviciului Decide ce informatii sa se trimita si ce informatii se vor primi Service Grounding este destinat in specail schimbului de mesaje Genereaza mesaje de iesire si primeste mesaje de intrare Mapeaza XML Schema la concepte OWL Utilizeaza WSDL pentru definirea structurii mesajelor si a nivelului de legare fizica

46 Mapare OWL-S / WSDL 1.1 Operatiile corespund la Atomic Processes
Mesajele de Input/Output corespund la Inputs/Outputs a proceselor

47 Exemplu de Grounding Sequence Perform Perform Select Flight
BookFlight Airline Flight Perform Perform Airline Select Flight Get Flights Flights Flights Flight Depart Arrive Arrive Get Flights Op Select Flight op Depart Flights Flights Flight Airline WSDL

48 Rezultatul utilizarii Grounding
Mecanismul de invocare pentru OWL-S Invocare bazata pe WSDL Diversele tipuri invocare din WSDL pot fi folosite in OWL-S Separare clara intre descrierea serviciului si invocare / implementare Descrierea serviciului este necesara pentru a rationa despre serviciu a decide cum este utilizat decide ce informatie si cum se transmite si se primeste Implementarea serviciului poate fi bazata pe SOAP si tipuri XML Schema Definition (XSD) Esential: informatia care se schima si informatia din ontologii este aceeasi Permite reprezentarea oricarui serviciu web in OWL-S

49 Exemple http://www.daml.org/services/owl-s/1.0/examples.html
Profile Hierarchy A Profile-based class hierarchy of service categories: ProfileHierarchy.owl Profile-based Class Hierarchies (HTML) - explanatory remarks for ProfileHierarchy.owl. Congo.com (fictitious B2C site) CongoService.owl - Service instance CongoProfile.owl –Profile CongoProcess.owl - Process model (main file) CongoProcessDataFlow.owl - Process model data flow (argument bindings) CongoGrounding.owl - Grounding instances CongoGrounding.wsdl - WSDL definitions for grounding


Download ppt "Aplicatii Web bazate pe semantica, agenti si servicii"

Similar presentations


Ads by Google