Aplicatii Web bazate pe semantica, agenti si servicii - PowerPoint PPT Presentation

About This Presentation
Title:

Aplicatii Web bazate pe semantica, agenti si servicii

Description:

Title: WEBS- Pragmatic Web Subject: Curs nr. 1 Author: AMF Last modified by: Adina Magda Florea Created Date: 5/28/1995 4:29:18 PM Document presentation format – PowerPoint PPT presentation

Number of Views:170
Avg rating:3.0/5.0
Slides: 50
Provided by: AMF75
Category:

less

Transcript and Presenter's Notes

Title: Aplicatii Web bazate pe semantica, agenti si servicii


1
  • Aplicatii Web bazate pe semantica, agenti si
    servicii

http//turing.cs.pub.ro/webs_07
Universitatea Politehnica BucurestiAnul
universitar 2007-2008, MasterAdina 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
  • 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 UDDI, WSDL, SOAP
Dinamic
WWW URI, HTML, HTTP
Semantic Web RDF, RDF(S), OWL
Static
6
Evolutie
  • 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
  • gt 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
  • Suport executie
  • Monitoring
  • Compensation
  • Replacement
  • Auditing

Activitati/utilizare
Composition
Execution
Publication
Discovery
Selection
Mediation
Nivel Business
Arhitectura
Matchmaker
Register
Decomposer
Reasoner
Invoker
Nivel fizic
Ontologia serviciului
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
  • OWL-S - USA
  • WSMO Europa
  • European Semantic Systems Initiative
  • http//www.essi-cluster.org/about-essi/essi-home/
  • 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
OWL-S Upper Ontology
  • Upper Ontology for Services
  • http//www.daml.org/services/owl-s/1.0/
  • 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 ProfileCapabilitati 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 ProfileProprietati 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
  • 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
  • ltprocessAtomicProcess rdfID"LogIn"gt
  • ltprocesshasInput rdfresource"AcctName"/gt
  • ltprocesshasInput rdfresource"Password"/gt
  • ltprocesshasOutput rdfresource"Ack"/gt
  • ltprocesshasPrecondition isMember(AccName)/gt
  • ltprocesshasResultgt
  • ltprocessResultgt
  • ltprocessinConditiongt
  • ltexprSWRL-Conditiongt
  • correctLoginInfo(AccName,Password)
  • lt/exprSWRL-Conditiongt
  • lt/processinConditiongt
  • ltprocesswithOutput rdfresourceAckgt
    ltvalueType rdrresourceLoginAcceptMsggt
    lt/processwithOutputgt ltprocesshasEffectgt
  • ltexprSWRL-Conditiongt
  • loggedIn(AccName,Password)
  • lt/exprSWRL-Conditiongt
  • lt/processhasEffectgt
  • lt/processResultgt
  • lt/processhasResultgt

Inputs / Outputs
Precondition
Condition
Result
OutputConstraints
Effect
35
Ontologia proceselor
Proces
Atomic
Simplu
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
Flight
Flights
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 BookFlight
Airline
Flight
Perform
Perform
Airline
Select Flight
Get Flights
Flights
Flight
Flights
Depart
Arrive
Arrive
Get Flights Op
Select Flight op
Depart
Flights
Flight
Flights
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.ht
    ml
  • 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
Write a Comment
User Comments (0)
About PowerShow.com