Aplicatii Web bazate pe semantica, agenti si servicii

Slides:



Advertisements
Similar presentations
Aplicatii Web bazate pe semantica, agenti si servicii
Advertisements

Exemple de bune practici în domeniul SCMI Endre-Sandor ERDŐDI, Manager public, Direcţia de politici publice.
Sistemul integrat de raportare WISE WISE-Sistemul Informational pentru apa in Europa  reunirea tuturor informatiilor furnizate catre organismele europene.
PROGRAMUL CADRU 7 Cum să folosim facilitatea CORDIS: “Search for partners”
2009 Pag Pag. 2 Agenda 1.Obiectivul proiectului 2.Parteneri 3.Autentificare versus identificare 4.Schema generala 5.Probleme de rezolvat / rezolvate.
Februarie 2018 ASE Bucuresti
CUPRINS Tastatura Imprimanta Scanner Bibliografie Recapitulare.
IntraShip inovatie, flexibilitate, rapiditate.
Funcţii Excel definite de utilizator (FDU) în VBA
Placa de bază.
Instrumente CASE Curs nr. 7.
Posibilităţi de analiză în timp real a parametrilor de calitate a apei cu ajutorul sistemului informatic de management SIVECO Business Analyzer September.
Căutarea şi regăsirea informaţiei.
SOFTWARE Tipuri de software.
Dispozitive de stocare
Construirea aplicatiilor SOA
Arhitectura serviciilor web
Structura pipeline a unui procesor MIPS
Aplicatii Web bazate pe semantica, agenti si servicii
Ionuț Dobre SSA Value co-creation from the consumer perspective Steve Baron Gary Warnaby Ionuț Dobre SSA
Transport Layer Security TLS, SSL, HTTPS
Căutarea şi regăsirea informaţiei.
Paxos Made Simple Autor: Puşcaş Radu George
Tehnologii de integrare a datelor
Primirea si procesarea cererilor
Gestionarea datelor stiintifice
Structura bazei de date MS Access
Retele de calculatoare
Cursul 3 Cautare peste siruri problema cautarea naiva
Software product management
CONVERSII INTRE SISTEME DE NUMERATIE
WebSite Social Tema 2 WebSite Social.
Crearea si gazduirea serviciilor
Sisteme de operare Răzvan Zota
Dracea Alexandra Grupa:342C5
Bucuresti ZF Mobilio Principalele metode de dezvoltare a afacerilor folosind aplicatiile mobile Sebastian Vaduva -
Algoritm de crawling optimizat pe similaritate în documente HTML
Funcții C/C++ continuare
prof. mrd. Negrilescu Nicolae Colegiul National Vlaicu Voda
Ethernet.
Apache WEB Server.
Integrare prin procese de business
Crearea si gazduirea serviciilor
INTERNET SERVICII INTERNET.
SOAP Simple Object Access Protocol
Forms (Formulare).
Windows Communication Foundation (WCF)
Proiectarea Arhitecturala a Sistemelor Software
Îmbunătăţirea serviciilor publice prin intermediul Chartelor de Servicii: Elaborarea şi implementarea Planurilor de Acţiune pentru Îmbunătăţirea Serviciilor.
A great way to create a channel of communication
Cursul 9. SEO (Promovarea site-urilor web)
Functia de documentare
SOAP -Simple Object Access Protocol-
Sisteme de recomandare
Profilul absolventului
Programarea in limbajul Java 2004 Lecturer: Gavrila Cristian
Realizarea prezentarilor cu Microsoft PowerPoint
Software open source in industria software
Crearea unei aplicatii Windows Forms simple
Student:Dvornic Mihaela Grupa:342 C5
Aplicaţii specializate pentru realizarea unei prezentări – PowerPoint
CMMI- Arii de proces: Inginerie si managementului proiectelor
Sistemul de control intern managerial
Implementarea listelor simplu inlantuite
Aplicatii Web bazate pe semantica, agenti si servicii
Stiluri / tipare arhitecturale
Harti de imagini, Cadre, Stiluri
Comunicare in medii electronice
Despre lamaie.net De ce sunt lamaile acre? Realizatori: Cristina Cazan
Tabele WEB.
Presentation transcript:

Aplicatii Web bazate pe semantica, agenti si servicii http://turing.cs.pub.ro/webs_07 Universitatea Politehnica Bucuresti Anul universitar 2007-2008, Master Adina Magda Florea

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

Standarde pentru servicii Web Sematic Web Services

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

3. Ontologii pentru SWS WSMO – Europa OWL-S - USA 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.

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

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

Upper Ontology for Services 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

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

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

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)

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

Profile.owl

Profile.owl

Profile.owl

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

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

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

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

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

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

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

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

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

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

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

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

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

Process.owl

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.

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

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

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

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

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