SlideShare uma empresa Scribd logo
1 de 103
Baixar para ler offline
<?xml version=“1.0” ?>
Semantic Web                                          <curs desc=“…” />




                         Web semantic

                   Dr. Sabin­Corneliu Buraga
                     Facultatea de Informatica
               Universitatea “A.I.Cuza” – Iasi, Romania


              http://www.infoiasi.ro/~busaco/

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                          Servicii Web
                        descrise semantic
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




               “E mai bine sa stii cateva intrebari
                   decat toate raspunsurile.”

                               James Thurber




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                                   <curs desc=“…” />




                                  preliminarii

                    Nevoi ale dezvoltatorilor Web

           solutii multi‐platforma, slab‐conectate

                    integrare la nivel de Internet/Web
                   a aplicatiilor, serviciilor si sistemelor




Dr. Sabin Buraga    http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                               <curs desc=“…” />




                                 preliminarii

                   Nevoi ale dezvoltatorilor Web

           performanta               asigurarea scalabilitatii




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                            <curs desc=“…” />




                                 preliminarii

                   Nevoi ale dezvoltatorilor Web

          servicii atasabile (pluggable) & versatile

                        Software as a Service (SaaS)

                   Application Service Provider (ASP)



Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                            <curs desc=“…” />




                                 preliminarii

                   Nevoi ale dezvoltatorilor Web

existenta unei/unor arhitecturi pentru dezvoltarea
     de aplicatii distribuite orientate spre Web

                              standardizare
                                securitate
                        disponibilitate & reutilizare
                            mentenanta facila
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                      solutie

   Divizarea aplicatiilor in servicii (independente)
                care se pot compune,
   menite a se conecta si orchestra in mod spontan
       in cadrul proceselor de afaceri/tehnice

                     Web component­based software




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                servicii web

          Aplicatii oferind o functionalitate anume

             Utilizate de alte aplicatii (la distanta)

                   Accesate standardizat via Web
                                 URI, HTTP, XML




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                servicii web

            Utilizate la interactiunea intre masini

                                    Dinamice

      Lipsa unei cunoasteri a­priori a interactiunii
             cu alte aplicatii/servicii Web



Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                servicii web

  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, arhitecturilor
                si limbajelor curente


Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                           <curs desc=“…” />




                                         soa


              Arhitectura orientata spre servicii
              SOA – Service Oriented Architecture

        stil arhitectural de dezvoltare de aplicatii
considerate 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
<?xml version=“1.0” ?>
Semantic Web                                          <curs desc=“…” />




                                         soa


       Paradigma de dezvoltare a software‐ului
           care adopta utilizarea de servicii,
     oferind functionalitati solicitate de utilizatori

         resursele sunt disponibile via o suita de servicii
              independente ale caror implementari
             nu trebuie sa fie cunoscute (black box)

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                         soa



       Componentele sistemului in ansamblu au 
      un grad mare de independenta (de­coupling)

serviciile pot fi recompuse/orchestrate conform cerintelor




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                     soa: aspecte de interes

                                     Conținut
     specificarea, colectarea & organizarea cunoştințelor




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                                <curs desc=“…” />




                     soa: aspecte de interes

                                        Acces

                     mijloacele de creare/exploatare
                   a serviciilor ori aplicațiilor compuse




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                          <curs desc=“…” />




                     soa: aspecte de interes

                                     Integrare

          conținutul vehiculat de aplicații/oameni
   sa poata fi transformat via entități software inteligente

               EAI (Enterprise Application Integration)




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                            <curs desc=“…” />




                     soa: aspecte de interes

                                    Procesare

       posibilitatea de a specifica reguli de management
       al traficului de date – dirijare, caching, filtrare etc.




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                     soa: aspecte de interes

                                    Analizare

 suport de luare a deciziilor – de dorit, in mod “inteligent”




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                           <curs desc=“…” />




                     soa: aspecte de interes

                                   Colaborare

                 management de interacțiuni &
            comunicații între utilizatori (umani sau nu)

                               e.g., enterprise wiki




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                         <curs desc=“…” />




              soa: variatii (Tsai et al., 2006)

               CCSOA (Consumer­centric SOA)
publicare de workflow‐uri & specificatii de colaborare intre
  aplicatii pentru descoperirea, selectarea si subscrierea
                    la servicii de interes
       exemplu: service­oriented embedded systems

                    UCSOA (User­centric SOA)
         extensie a CCSOA ce permite utilizatorilor finali
                sa compuna facil & rapid aplicatii
           exemplu: end­user mashups – Yahoo! Pipes
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                         <curs desc=“…” />




                                    invocare


        Necesitatea unui protocol de comunicare
      (transport) intre masini (aplicatii) eterogene
        mesaje 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
<?xml version=“1.0” ?>
Semantic Web                                           <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 invocare
          si de transmitere structurata a datelor



Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                            <curs desc=“…” />




                            invocare: solutii

                               XML‐RPC
                     simplu de utilizat, nepretentios
                          www.xml­rpc.com

                                    SOAP
                           sofisticat, 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
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                              invocare: soap

       Invocarea unui serviciu Web – in stilul RPC




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                         <curs desc=“…” />




                                 specificare


             Necesitatea unui limbaj de descriere
                      a 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
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                           specificare: wsdl


       WSDL (Web Services Description Language)

                           www.w3.org/TR/wsdl

         descriere bazata pe XML a serviciilor Web
        tipurile de date se definesc via scheme XML
    permite folosirea mai multor protocoale de transport
        specifica sintaxa, nu semantica unui serviciu

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                                        <curs desc=“…” />




                           specificare: wsdl


                                                    Mesaje (messages)
           Interfaţa serviciului
                                                    Operații (operation)
           (definiţie abstractă)
                                                    Interfață (interface)
                                                    Legare (binding)
             Implementarea 
                                                    Serviciu (service)
               serviciului
                                                    Punct terminal 
           (definiţie concretă)
                                                    (endpoint)

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                          <curs desc=“…” />




                              regasire: uddi

   Universal Description, Discovery, and Integration

     Catalog distribuit, universal, al listei de servicii Web 
                    disponibile (inregistrate)
           Inregistrarea este posibila in fiecare nod
                  Inregistrarile sint replicate
       UDDI este un serviciu Web: se utilizeaza SOAP
         Cataloagele UDDI pot fi publice sau private

                                 www.uddi.org
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                              regasire: uddi




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                   initiative

    Specificatii & initiative aditionale (WS‐*)
        Adresare: WS‐Addressing
        Descoperire: WS‐Inspection, WS‐Discovery
        Mesagerie: 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)

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                   initiative


    Specificatii & initiative aditionale (WS‐*)
        Interoperabilitate – initiativa WS‐I: 
          www.ws­i.org
        Workflow‐uri: Business Process Execution Language 
          (BPEL), WS‐Choreography, 
          WS Flow Language (WSFL) etc.

        …si altele

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                         <curs desc=“…” />




                                         rest

                   REpresentational State Transfer
        stil arhitectural de dezvoltare a aplicatiilor Web
                           (Roy Fielding)

     viziune complementara de implementare si utilizare
                a serviciilor Web – fara SOAP




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                         rest

        Rezultatul unei procesari conduce la returnarea
                 unei reprezentari de resursa

   Orice accesare a unei reprezentari plaseaza aplicatia
 intr‐o stare care va fi schimbata in urma unui transfer de
             date (accesarea altei reprezentari)

   Transferul se realizeaza prin HTTP, reprezentarea este
        marcata in XML si indicata via tipuri MIME,
           iar adresabilitatea se rezolva via URI
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                          <curs desc=“…” />




                                         rest

           Componentele care invoca functionalitati
      vor 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)


Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                            <curs desc=“…” />




                                         rest


       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

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                         rest



  Punctul central e dat de conceptul de resursa
     si nu de operatiile asupra resurselor

              ROC (Resource Oriented Computing)




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                                   <curs desc=“…” />




                              rest: exemplu

                                     Scenariu:
         management de fisiere intr‐un sistem distribuit

                      Stilul SOAP – conform RPC
   operatii privind fisierele: furnizeazaFisier (), creazaFisier (),
            furnizeazaMetadateFisier (), cautaFisier () etc.

                    operatii vizind utilizatorii:
  furnizeazaUtiliz (), adaugaUtiliz (), eliminaUtiliz (), cautaUtiliz (),… 
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                           <curs desc=“…” />




                              rest: exemplu

                                     Scenariu:
         management de fisiere intr‐un sistem distribuit

                                   Stilul REST
   tipuri de resurse (Fisier & Utiliz), identificate unic de URI
                 http://www.undeva.info/Utiliz/busaco

         o resursa poate avea asociate reprezentari XML
           ce pot fi accesate/alterate via operatii HTTP
             (CRUD – Create, Retrieve, Update, Delete)
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                              rest: exemplu

                   Modelul REST ofera premisele
                    specificarii 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 idle­time este valoarea proprietatii asociate
            unei entitati, in spiritul triplelor RDF

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                                    <curs desc=“…” />




                              rest: exemplu

                       Serviciile oferite de Flickr
      acces – folosind HTTP (e.g., GET, POST) – via URI‐ul
                  http://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&...

                                          Se inlocuieste cu 
                                           serviciul dorit

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                          rest: metodologie


   Divizarea setului de date al problemei in resurse
   Numirea prin URI a fiecarei resurse
   Proiectarea reprezentarii(lor) acceptate de la client si
     reprezentarii(lor) intoarse spre client
   Integrarea resurselor via legaturi hipertext+formulare
   Crearea de studii de caz, cu (re)considerarea tipurilor
     standard – e.g., HTML, Atom
   Considerarea conditiilor de eroare/exceptie

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                                        <curs desc=“…” />




                                rest vs. soap

  SOAP:                                       REST:
       Actiuni arbitrare                            Actiuni fixe 
         (verbe)                                      HTTP: GET, POST,…
                                                    Opereaza asupra
       Structuri de date 
                                                      reprezentarilor de 
         arbitrare
                                                      resurse (i.e., XML)
         (oricit de complexe)
                                                    Bazat pe URI
            Specificate
                                                    Scalabil
            via XML Schema
       Descriere complexa a                         Uzual, mai usor de 
        serviciului (WSDL)                            programat
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                  dezvoltare



     Informatiile & serviciile sa fie accesibile de la
   fiecare dispozitiv si de oriunde – ubiquitous Web

    necesitatea unei infrastructuri orientate catre servicii
                 ESB (Enterprise Service Bus)

   necesitatea unei platforme independente de dispozitiv
                 permitind rularea serviciilor
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




  Framework‐uri Web (structura conceptuala stratificata)

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                  dezvoltare

            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 stocare
           este facilitat de SDO (Service Data Objects)
        implementari disponibile in C++, Java, PHP5 etc.
                            vezi si www.osoa.org
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




           dezvoltare: privire de ansamblu

   stratificarea aplicatiilor Web (N­tier Web applications)




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                  problema

Interpretarea la nivel semantic a datelor vehiculate
       neconcordante semantice la nivel de:
               continut: iti dau IP, tu vrei URI
            atribut: tu doresti MIME video/mpeg, 
                   eu iti dau tipul generic Video
 unitate de masura: astept la intrare dimensiunea in octeti, 
                          tu o trimiti in MB
      mesaj: iti trimit lungime × latime, tu doresti aria


Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                      solutii

 Descrierea si invocarea serviciilor Web sa apeleze
       la ontologii specificate pe baza OWL




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                          <curs desc=“…” />




      solutii (Meenakshi Nagarajan, 2006)

                   Descrieri semantice la nivel de:
date – definitii formale ale intrarilor/iesirilor, utile pentru
  descoperirea serviciilor si facilitarea interoperabilitatii




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                          <curs desc=“…” />




      solutii (Meenakshi Nagarajan, 2006)

                   Descrieri semantice la nivel de:
     functionalitate – definirea formala a capabilitatilor
                  (functiilor) serviciilor Web,
       in vederea descoperirii si compunerii de servicii




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                           <curs desc=“…” />




      solutii (Meenakshi Nagarajan, 2006)

                   Descrieri semantice la nivel de:
           cerinte – definirea formala a constringerilor
             non‐functionale calitative si cantitative
             (e.g., cost, securitate, politica de acces), 
            pentru facilitarea descoperirii, compunerii
                        si interoperabilitatii

      se are in vedere inclusiv adnotarea serviciilor Web


Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                          <curs desc=“…” />




      solutii (Meenakshi Nagarajan, 2006)

                   Descrieri semantice la nivel de:
rulare – descrierea formala a executiei workflow‐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




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                      solutii

                             Scop:
           punerea la dispozitie a unui mecanism de
        interoperabilitate semantica folosind standarde
                    ale Web‐ului semantic

                        Avantaje:
      automatizarea descoperirii, selectarii, invocarii,
    compunerii si monitorizarii executiei serviciilor Web


Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                                            <curs desc=“…” />




                                      solutii
 Vedere stratificata de specificare – dupa (Hobbs, 2003)
                                                    OWL­S  (Services)

                                               ???  (Rules, FOL?)

                                                      OWL (Ontology)

                                         RDFS  (RDF Schema)

                         RDF  (Resource Description Framework)

                       XML  (Extensible Markup Language)
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                       owl‐s

           Bazat pe DAML‐S, descrie ontologii
       pentru specificarea unor modele de servicii
          se au in vedere profilul, modelul de procesare
                      si logica unui serviciu

                          Serviciu Web ≡ proces
                              simplu sau compus

                   www.daml.org/services/owl­s/

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                       owl‐s

        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

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                       owl‐s

Elemente principale:
    utilizarea standardelor Web‐ului semantic
    folosirea sau extinderea standardelor existente
      pentru serviciile Web (e.g., WSDL)
    recurgerea la ontologii specificate via OWL
    realizarea unei infrastructuri de suport
         cataloage de servicii semantice
           (e.g., OWL‐S Matchmaker)
         interfete de programare – OWL‐S API

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                       owl‐s




      Partea superioara a ontologiei privitoare la servicii
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                       owl‐s
                           Ontologia proceselor




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                       owl‐s

        Clasa proceselor (Process) include 3 tipuri
          de 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>
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                       owl‐s

Un proces compus poseda obligatoriu proprietatea
   composedBy specificind o structura de control:

   <rdf:Property rdf:ID=composedBy>
       <rdfs:domain rdf:resource=#CompositeProcess />
       <rdfs:range rdf:resource=#ControlConstruct />
   </rdf:Property>




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                       owl‐s

      Fiecare structura de control cuprinde o serie de
    componente 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, 
      If­Then­Else, Iterate, Repeat­While, Repeat­Until




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                             owl‐s: exemplu


           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 



Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                             owl‐s: exemplu
<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>
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                         <curs desc=“…” />




                                       owl‐s

                   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

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                         <curs desc=“…” />




                                       owl‐s

                   Modelarea unui serviciu (II)
    descrierea profilului si a vizibilitatii (advertise)
specificarea intrarilor & iesirilor, preconditiilor si efectelor
           determinarea meta‐datelor relevante

       atasarea (bind) la mecanismul de transport
           oferirea (+extinderea) unui document WSDL



Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                                    <curs desc=“…” />




                                       owl‐s
                                                    model de cunostinte
                                                       (ontologie)


 WSDL extins
                        Mesaje (messages)
     Interfaţa
                        Operații (operation)
    serviciului
                        Interfață (interface)
                Legare (binding)
 Implementare Serviciu (service)
  a serviciului Punct terminal 
                (endpoint)
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                             <curs desc=“…” />




                                       owl‐s

                   Modelarea unui serviciu (III)
            interconectarea modelelor anterioare
                            prezentarea profilului

                     specificarea relatiei describedBy

specificarea suportului pentru nivelul de baza (grounding) 
       “conectarea” la infrastructura serviciilor Web


Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                         <curs desc=“…” />




                                       owl‐s

               Specificarea modului de procesare
           serviciu ≡ flux (workflow) de procese
   un proces poate fi serviciu, workflow sau proces atomic

          identificarea & definirea proceselor atomice
                 specificarea intrarilor/iesirilor
               ce pre‐conditii trebuie indeplinite? 
      ce efecte vor fi generate? (metafore ale planificarii)

definirea fluxului ce coordoneaza executia acestor procese
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                               <curs desc=“…” />




                                       owl‐s

                        Descrierea profilului
                    profil ≡ descriere functionala
                     a 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
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                                  <curs desc=“…” />




                                        owl‐s

                            Descrierea profilului

             de asemenea, sunt atasate meta‐date

                       ce date vor fi utilizate
              pentru cautarea si selectarea serviciilor?

                   se poate constitui o ierarhie de profile



Dr. Sabin Buraga    http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                               <curs desc=“…” />




                                        owl‐s

 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

Dr. Sabin Buraga    http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                        swsf

               Semantic Web Services Framework
             (Gruninger, Hull & McIlraith, 2005)
    SWSO – ontologie
       FLOWS – First­order Logic Ontology for Web Services
       ROWS – Rules Ontology for Web Services 
    SWSL – limbaj de specificare bazat pe XML
       SWSL‐Rules – specifica reguli
       SWSL‐FOL – exprima constructii FOL
    Studii de caz

                     www.daml.org/services/swsf
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                         <curs desc=“…” />




                                        swsf
                  complementar OWL‐S
           exprima 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

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                         <curs desc=“…” />




                                      wsmo

                   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

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                         <curs desc=“…” />




                                      wsmo

                   Web Services Modeling Ontology 
  actiunile executate de servicii vor fi specificate sintactic
                   via documente WSDL




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                          <curs desc=“…” />




                                      wsmo

                   Web Services Modeling Ontology 
         scopurile (goals) descriu in termeni ontologici
         aspectele privitoare la asteptarile utilizatorilor
                 privind functionalitatile cerute


   scopurile modeleaza punctul de vedere al utilizatorului
    (programatorului) referitor la invocarea (utilizarea)
              procesului specificat de serviciu 


Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                             <curs desc=“…” />




                                      wsmo

                   Web Services Modeling Ontology 
            mediatorii (mediators) definesc elementele
                     facilitind interoperabilitatea
            (e.g., a serviciilor sau ontologiilor folosite) 

                    rezolva incompatibilitatile
          la nivel de date, de procese, de protocoale etc.




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                         <curs desc=“…” />




                                      wsmo

                   Web Services Modeling Ontology 




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                      wsmo
                Meta‐model stratificat:
      Information layer – datele dorite a fi descrise
           Model layer – meta‐datele asociate
     Metamodel layer – descrieri privind structura &
                semantica meta‐datelor
 Meta­metamodel layer – descrierilor specificind structura
         & semantica stratului metamodel layer




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                      wsmo

   Un serviciu este descris in mod general in termeni de
  capacitati (capabilities) expuse via interfete (interfaces)

      vor fi precizate diverse proprietati nefunctionale:
    acuratetea, QoS, proprietarul, performanta, reliability,
     robustetea, securitatea, suportul pentru tranzactii,
                   controlul versiunilor etc.




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                         <curs desc=“…” />




                                      wsmo

           Un serviciu poate utiliza un set de mediatori

   e.g., cind apar terminologii eterogene cauzind conflicte




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                      wsmo

      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 entitati
     orchestrarea – modul cum poate coopera cu altele

            coregrafia & orchestrarea se descriu via 
         ASM – Abstract State Machine (Gurevich, 1995)

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                            <curs desc=“…” />




                                      wsmo

Specificarea descrierilor de ontologii, declaratii functionale
       de scopuri & descrieri ale dinamicii serviciilor
               se realizeaza prin intermediul
          WSML (Web Service Modeling Language)

                         bazat pe logicile descrierii




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                      wsmo
      Specii WSML – conform (Dieter Fensel et al., 2008)




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                             <curs desc=“…” />




                           wsmo – exemplu

          Definim serviciul oferind acces la meta‐datele
                atasate unei resurse (unui fisier)

                   specificam operatii de baza privind
                     sistemul de stocare a fisierelor




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                            <curs desc=“…” />




                           wsmo – exemplu

                        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 fisier
                   sa apartina clasei owner

                          instante: fisiere obisnuite
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                             <curs desc=“…” />




                           wsmo – exemplu
ontology _http://www.undeva.info/fileOntology
   nonFunctionalProperties
    dc#title hasValue Ontologie privitoare la fisiere
    dc#description hasValue Modeleaza fisiere si utilizatori
   endNonFunctionalProperties
   concept file
    name ofType _string
    hasOwner ofType owner
   concept owner subConceptOf user
    ownerOf inverseOf (hasOwner) ofType file

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                                  <curs desc=“…” />




                           wsmo – exemplu
concept directory
  nonFunctionalProperties
     dc#description hasValue Un director este
        identificat unic prin i-nod si include 0 sau mai multe fisiere.
  endNonFunctionalProperties
  inode ofType _string
  items ofType file

instance linuxKernelFile memberOf file
   name hasValue linux-2.6.30
   hasOwner hasValue root
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                          <curs desc=“…” />




                           wsmo – exemplu
relation ownership (impliesType owner, impliesType file)
   nonFunctionalProperties
    dc#relation hasValue ownershipFromOwner
   endNonFunctionalProperties

axiom ownershipFromOwner
  definedBy
   ownership (?x,?y) :−
    ?x [ownerOf hasValue ?y] memberOf owner .


Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                            <curs desc=“…” />




                           wsmo – exemplu

Descriem – la nivel ontologic – capabilitatile oferite 
                     de serviciu

       specificam actiunea de inserare a unui fisier
                     intr‐un director 
          privita, echivalent, ca stabilire a unei categorii
                     pentru o anumita resursa




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                             <curs desc=“…” />




                           wsmo – exemplu
webService http://www.undeva.info/FileWebService
  nonFunctionalProperties
    dc#title hasValue Adăugarea unui fişier într-un director
  endNonFunctionalProperties
  importsOntology _http://www.undeva.info/fileOntology

   capability
     sharedVariables {?inode , ?filename}




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                                  <curs desc=“…” />




                           wsmo – exemplu
precondition
  definedBy
      ?inode memberOf string and
      ?filename memberOf file .
postcondition
  definedBy
      forall ?dir ( ?dir [ inode hasValue ?inode ]
                     memberOf directory implies
                       ?dir [ items hasValue ?filename] ) .



Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                              <curs desc=“…” />




                           wsmo – mediere
   Medierea (mediation) serviciilor via mediatorii WSMO
         eterogenitatea 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 dispozitie
 intotdeauna serviciul a carui funcționalitate se potriveste
                fidel cu cerintele clientului
                   proces de afaceri (business process)
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                                           <curs desc=“…” />




                           wsmo – mediere

      Medierea la nivel de date poate avea loc prin 
       asocieri de ontologii (ontology mapping), 
       alinieri ontologice (alignment ontology) si 
       fuzionari de ontologii (ontology merging)


                                                    vezi unul dintre
                                                       cursurile
                                                      anterioare


Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                           wsmo – mediere

  La nivel de procese, trebuie specificati mediatori
     de tip proces (process mediators) – servicii 
     aditionale (private/interne) sau alte aplicatii

       Medierea la nivel functional este facilitata
      de pre‐ si post‐conditii via mediatorii WSMO




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                             <curs desc=“…” />




                     initiative & instrumente

                   IBM Semantic Tools for Web Services

       METEOR‐S Web Service Discovery Infrastructure

                                  OWL‐S Matcher

                        SESA – Semantically Enabled
                       Service‐oriented Architectures

               WSMT – Web Services Modeling Toolkit

Dr. Sabin Buraga    http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                                                     Intrastructura SESA
                     instrumente (exemple)




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                     servicii web semantice

                   Alte detalii in volumul
 Dieter 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://sws­challenge.org/


Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                             <curs desc=“…” />




                                    provocari
                      Comunicarea in cadrul SOA
                             triple space computing
 Coordonarea, medierea, adaptarea serviciilor Web
           Securitatea serviciilor Web
                   WS‐Security, WS‐Trust, WS‐Privacy,…
                     Asigurarea interoperabilitatii
                                   initiativa WS‐I
   Serviciile Web in contextul proceselor de afaceri
                   modelarea workflow‐urilor: BPEL‐WS
                         Servicii Web pentru grid
Dr. Sabin Buraga    http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                   Rezumat




        Descrieri semantice ale serviciilor Web
              de la SOA la OWL‐S si WSMO
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                         ?

Dr. Sabin Buraga   http://www.purl.org/net/busaco

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Web - XML processing (SAX)
Web - XML processing (SAX)Web - XML processing (SAX)
Web - XML processing (SAX)
 
Web - JavaScript
Web - JavaScriptWeb - JavaScript
Web - JavaScript
 
Web - Perl
Web - PerlWeb - Perl
Web - Perl
 
Web - Web search
Web -  Web searchWeb -  Web search
Web - Web search
 
Web - General overview
Web -  General overviewWeb -  General overview
Web - General overview
 
Web - Web programming
Web - Web programmingWeb - Web programming
Web - Web programming
 
Web - Web services
Web - Web servicesWeb - Web services
Web - Web services
 
Web - PHP
Web - PHPWeb - PHP
Web - PHP
 
Web - XML
Web - XMLWeb - XML
Web - XML
 
Web - XML databases
Web - XML databasesWeb - XML databases
Web - XML databases
 
Web - XML Validation
Web -  XML ValidationWeb -  XML Validation
Web - XML Validation
 
Web - CGI
Web - CGIWeb - CGI
Web - CGI
 
Web - Arhitectura Web
Web - Arhitectura WebWeb - Arhitectura Web
Web - Arhitectura Web
 
Web - XSLT
Web - XSLTWeb - XSLT
Web - XSLT
 
Web - XHTML (Lab)
Web - XHTML (Lab)Web - XHTML (Lab)
Web - XHTML (Lab)
 
Web - JSP
Web - JSPWeb - JSP
Web - JSP
 
Web - Flex
Web - FlexWeb - Flex
Web - Flex
 
Web - XML design patterns
Web - XML design patternsWeb - XML design patterns
Web - XML design patterns
 
Web - ASP.NET
Web - ASP.NETWeb - ASP.NET
Web - ASP.NET
 
Web06 Semantic Web: Ontologii OWL
Web06 Semantic Web: Ontologii OWLWeb06 Semantic Web: Ontologii OWL
Web06 Semantic Web: Ontologii OWL
 

Mais de Sabin Buraga

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleSabin Buraga
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebSabin Buraga
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebSabin Buraga
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Sabin Buraga
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Sabin Buraga
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelSabin Buraga
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Sabin Buraga
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Sabin Buraga
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTSabin Buraga
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Sabin Buraga
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Sabin Buraga
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeSabin Buraga
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSabin Buraga
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSabin Buraga
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.Sabin Buraga
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSabin Buraga
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSabin Buraga
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSabin Buraga
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSabin Buraga
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5Sabin Buraga
 

Mais de Sabin Buraga (20)

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturale
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma REST
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor Web
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.js
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului Web
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5
 

Web11 Semantic Web: Servicii Web descrise semantic

  • 1. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Web semantic Dr. Sabin­Corneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/ Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 2. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Servicii Web descrise semantic Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 3. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> “E mai bine sa stii cateva intrebari decat toate raspunsurile.” James Thurber Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 4. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> preliminarii Nevoi ale dezvoltatorilor Web solutii multi‐platforma, slab‐conectate integrare la nivel de Internet/Web a aplicatiilor, serviciilor si sistemelor Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 5. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> preliminarii Nevoi ale dezvoltatorilor Web performanta asigurarea scalabilitatii Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 6. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> preliminarii Nevoi ale dezvoltatorilor Web servicii atasabile (pluggable) & versatile Software as a Service (SaaS) Application Service Provider (ASP) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 7. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> preliminarii Nevoi ale dezvoltatorilor Web existenta unei/unor arhitecturi pentru dezvoltarea de aplicatii distribuite orientate spre Web standardizare securitate disponibilitate & reutilizare mentenanta facila Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 8. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> solutie Divizarea aplicatiilor in servicii (independente) care se pot compune, menite a se conecta si orchestra in mod spontan in cadrul proceselor de afaceri/tehnice Web component­based software Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 9. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> servicii web Aplicatii oferind o functionalitate anume Utilizate de alte aplicatii (la distanta) Accesate standardizat via Web URI, HTTP, XML Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 10. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> servicii web Utilizate la interactiunea intre masini Dinamice Lipsa unei cunoasteri a­priori a interactiunii cu alte aplicatii/servicii Web Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 11. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> servicii web 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, arhitecturilor si limbajelor curente Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 12. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> soa Arhitectura orientata spre servicii SOA – Service Oriented Architecture stil arhitectural de dezvoltare de aplicatii considerate 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
  • 13. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> soa Paradigma de dezvoltare a software‐ului care adopta utilizarea de servicii, oferind functionalitati solicitate de utilizatori resursele sunt disponibile via o suita de servicii independente ale caror implementari nu trebuie sa fie cunoscute (black box) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 14. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> soa Componentele sistemului in ansamblu au  un grad mare de independenta (de­coupling) serviciile pot fi recompuse/orchestrate conform cerintelor Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 15. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> soa: aspecte de interes Conținut specificarea, colectarea & organizarea cunoştințelor Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 16. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> soa: aspecte de interes Acces mijloacele de creare/exploatare a serviciilor ori aplicațiilor compuse Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 17. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> soa: aspecte de interes Integrare conținutul vehiculat de aplicații/oameni sa poata fi transformat via entități software inteligente EAI (Enterprise Application Integration) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 18. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> soa: aspecte de interes Procesare posibilitatea de a specifica reguli de management al traficului de date – dirijare, caching, filtrare etc. Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 19. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> soa: aspecte de interes Analizare suport de luare a deciziilor – de dorit, in mod “inteligent” Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 20. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> soa: aspecte de interes Colaborare management de interacțiuni & comunicații între utilizatori (umani sau nu) e.g., enterprise wiki Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 21. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> soa: variatii (Tsai et al., 2006) CCSOA (Consumer­centric SOA) publicare de workflow‐uri & specificatii de colaborare intre aplicatii pentru descoperirea, selectarea si subscrierea la servicii de interes exemplu: service­oriented embedded systems UCSOA (User­centric SOA) extensie a CCSOA ce permite utilizatorilor finali sa compuna facil & rapid aplicatii exemplu: end­user mashups – Yahoo! Pipes Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 22. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> invocare Necesitatea unui protocol de comunicare (transport) intre masini (aplicatii) eterogene mesaje 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
  • 23. <?xml version=“1.0” ?> Semantic Web <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 invocare si de transmitere structurata a datelor Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 24. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> invocare: solutii XML‐RPC simplu de utilizat, nepretentios www.xml­rpc.com SOAP sofisticat, 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
  • 25. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> invocare: soap Invocarea unui serviciu Web – in stilul RPC Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 26. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> specificare Necesitatea unui limbaj de descriere a 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
  • 27. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> specificare: wsdl WSDL (Web Services Description Language) www.w3.org/TR/wsdl descriere bazata pe XML a serviciilor Web tipurile de date se definesc via scheme XML permite folosirea mai multor protocoale de transport specifica sintaxa, nu semantica unui serviciu Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 28. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> specificare: wsdl Mesaje (messages) Interfaţa serviciului Operații (operation) (definiţie abstractă) Interfață (interface) Legare (binding) Implementarea  Serviciu (service) serviciului Punct terminal  (definiţie concretă) (endpoint) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 29. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> regasire: uddi Universal Description, Discovery, and Integration Catalog distribuit, universal, al listei de servicii Web  disponibile (inregistrate) Inregistrarea este posibila in fiecare nod Inregistrarile sint replicate UDDI este un serviciu Web: se utilizeaza SOAP Cataloagele UDDI pot fi publice sau private www.uddi.org Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 30. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> regasire: uddi Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 31. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> initiative Specificatii & initiative aditionale (WS‐*) Adresare: WS‐Addressing Descoperire: WS‐Inspection, WS‐Discovery Mesagerie: 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) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 32. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> initiative Specificatii & initiative aditionale (WS‐*) Interoperabilitate – initiativa WS‐I:  www.ws­i.org Workflow‐uri: Business Process Execution Language  (BPEL), WS‐Choreography,  WS Flow Language (WSFL) etc. …si altele Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 33. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> rest REpresentational State Transfer stil arhitectural de dezvoltare a aplicatiilor Web (Roy Fielding) viziune complementara de implementare si utilizare a serviciilor Web – fara SOAP Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 34. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> rest Rezultatul unei procesari conduce la returnarea unei reprezentari de resursa Orice accesare a unei reprezentari plaseaza aplicatia intr‐o stare care va fi schimbata in urma unui transfer de date (accesarea altei reprezentari) Transferul se realizeaza prin HTTP, reprezentarea este marcata in XML si indicata via tipuri MIME, iar adresabilitatea se rezolva via URI Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 35. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> rest Componentele care invoca functionalitati vor 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) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 36. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> rest 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 Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 37. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> rest Punctul central e dat de conceptul de resursa si nu de operatiile asupra resurselor ROC (Resource Oriented Computing) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 38. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> rest: exemplu Scenariu: management de fisiere intr‐un sistem distribuit Stilul SOAP – conform RPC operatii privind fisierele: furnizeazaFisier (), creazaFisier (), furnizeazaMetadateFisier (), cautaFisier () etc. operatii vizind utilizatorii: furnizeazaUtiliz (), adaugaUtiliz (), eliminaUtiliz (), cautaUtiliz (),…  Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 39. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> rest: exemplu Scenariu: management de fisiere intr‐un sistem distribuit Stilul REST tipuri de resurse (Fisier & Utiliz), identificate unic de URI http://www.undeva.info/Utiliz/busaco o resursa poate avea asociate reprezentari XML ce pot fi accesate/alterate via operatii HTTP (CRUD – Create, Retrieve, Update, Delete) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 40. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> rest: exemplu Modelul REST ofera premisele specificarii 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 idle­time este valoarea proprietatii asociate unei entitati, in spiritul triplelor RDF Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 41. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> rest: exemplu Serviciile oferite de Flickr acces – folosind HTTP (e.g., GET, POST) – via URI‐ul http://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&... Se inlocuieste cu  serviciul dorit Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 42. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> rest: metodologie Divizarea setului de date al problemei in resurse Numirea prin URI a fiecarei resurse Proiectarea reprezentarii(lor) acceptate de la client si reprezentarii(lor) intoarse spre client Integrarea resurselor via legaturi hipertext+formulare Crearea de studii de caz, cu (re)considerarea tipurilor standard – e.g., HTML, Atom Considerarea conditiilor de eroare/exceptie Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 43. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> rest vs. soap SOAP: REST: Actiuni arbitrare Actiuni fixe  (verbe) HTTP: GET, POST,… Opereaza asupra Structuri de date  reprezentarilor de  arbitrare resurse (i.e., XML) (oricit de complexe) Bazat pe URI Specificate Scalabil via XML Schema Descriere complexa a  Uzual, mai usor de  serviciului (WSDL) programat Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 44. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> dezvoltare Informatiile & serviciile sa fie accesibile de la fiecare dispozitiv si de oriunde – ubiquitous Web necesitatea unei infrastructuri orientate catre servicii ESB (Enterprise Service Bus) necesitatea unei platforme independente de dispozitiv permitind rularea serviciilor Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 45. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Framework‐uri Web (structura conceptuala stratificata) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 46. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> dezvoltare 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 stocare este facilitat de SDO (Service Data Objects) implementari disponibile in C++, Java, PHP5 etc. vezi si www.osoa.org Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 47. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> dezvoltare: privire de ansamblu stratificarea aplicatiilor Web (N­tier Web applications) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 48. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> problema Interpretarea la nivel semantic a datelor vehiculate neconcordante semantice la nivel de: continut: iti dau IP, tu vrei URI atribut: tu doresti MIME video/mpeg,  eu iti dau tipul generic Video unitate de masura: astept la intrare dimensiunea in octeti,  tu o trimiti in MB mesaj: iti trimit lungime × latime, tu doresti aria Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 49. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> solutii Descrierea si invocarea serviciilor Web sa apeleze la ontologii specificate pe baza OWL Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 50. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> solutii (Meenakshi Nagarajan, 2006) Descrieri semantice la nivel de: date – definitii formale ale intrarilor/iesirilor, utile pentru descoperirea serviciilor si facilitarea interoperabilitatii Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 51. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> solutii (Meenakshi Nagarajan, 2006) Descrieri semantice la nivel de: functionalitate – definirea formala a capabilitatilor (functiilor) serviciilor Web, in vederea descoperirii si compunerii de servicii Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 52. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> solutii (Meenakshi Nagarajan, 2006) Descrieri semantice la nivel de: cerinte – definirea formala a constringerilor non‐functionale calitative si cantitative (e.g., cost, securitate, politica de acces),  pentru facilitarea descoperirii, compunerii si interoperabilitatii se are in vedere inclusiv adnotarea serviciilor Web Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 53. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> solutii (Meenakshi Nagarajan, 2006) Descrieri semantice la nivel de: rulare – descrierea formala a executiei workflow‐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 Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 54. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> solutii Scop: punerea la dispozitie a unui mecanism de interoperabilitate semantica folosind standarde ale Web‐ului semantic Avantaje: automatizarea descoperirii, selectarii, invocarii, compunerii si monitorizarii executiei serviciilor Web Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 55. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> solutii Vedere stratificata de specificare – dupa (Hobbs, 2003) OWL­S  (Services) ???  (Rules, FOL?) OWL (Ontology) RDFS  (RDF Schema) RDF  (Resource Description Framework) XML  (Extensible Markup Language) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 56. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s Bazat pe DAML‐S, descrie ontologii pentru specificarea unor modele de servicii se au in vedere profilul, modelul de procesare si logica unui serviciu Serviciu Web ≡ proces simplu sau compus www.daml.org/services/owl­s/ Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 57. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s 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 Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 58. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s Elemente principale: utilizarea standardelor Web‐ului semantic folosirea sau extinderea standardelor existente pentru serviciile Web (e.g., WSDL) recurgerea la ontologii specificate via OWL realizarea unei infrastructuri de suport cataloage de servicii semantice (e.g., OWL‐S Matchmaker) interfete de programare – OWL‐S API Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 59. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s Partea superioara a ontologiei privitoare la servicii Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 60. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s Ontologia proceselor Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 61. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s Clasa proceselor (Process) include 3 tipuri de 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> Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 62. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s Un proces compus poseda obligatoriu proprietatea composedBy specificind o structura de control: <rdf:Property rdf:ID=composedBy> <rdfs:domain rdf:resource=#CompositeProcess /> <rdfs:range rdf:resource=#ControlConstruct /> </rdf:Property> Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 63. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s Fiecare structura de control cuprinde o serie de componente 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,  If­Then­Else, Iterate, Repeat­While, Repeat­Until Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 64. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s: exemplu 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  Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 65. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s: exemplu <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> Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 66. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s 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 Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 67. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s Modelarea unui serviciu (II) descrierea profilului si a vizibilitatii (advertise) specificarea intrarilor & iesirilor, preconditiilor si efectelor determinarea meta‐datelor relevante atasarea (bind) la mecanismul de transport oferirea (+extinderea) unui document WSDL Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 68. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s model de cunostinte (ontologie) WSDL extins Mesaje (messages) Interfaţa Operații (operation) serviciului Interfață (interface) Legare (binding) Implementare Serviciu (service) a serviciului Punct terminal  (endpoint) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 69. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s Modelarea unui serviciu (III) interconectarea modelelor anterioare prezentarea profilului specificarea relatiei describedBy specificarea suportului pentru nivelul de baza (grounding)  “conectarea” la infrastructura serviciilor Web Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 70. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s Specificarea modului de procesare serviciu ≡ flux (workflow) de procese un proces poate fi serviciu, workflow sau proces atomic identificarea & definirea proceselor atomice specificarea intrarilor/iesirilor ce pre‐conditii trebuie indeplinite?  ce efecte vor fi generate? (metafore ale planificarii) definirea fluxului ce coordoneaza executia acestor procese Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 71. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s Descrierea profilului profil ≡ descriere functionala a 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 Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 72. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s Descrierea profilului de asemenea, sunt atasate meta‐date ce date vor fi utilizate pentru cautarea si selectarea serviciilor? se poate constitui o ierarhie de profile Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 73. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> owl‐s 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 Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 74. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> swsf Semantic Web Services Framework (Gruninger, Hull & McIlraith, 2005) SWSO – ontologie FLOWS – First­order Logic Ontology for Web Services ROWS – Rules Ontology for Web Services  SWSL – limbaj de specificare bazat pe XML SWSL‐Rules – specifica reguli SWSL‐FOL – exprima constructii FOL Studii de caz www.daml.org/services/swsf Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 75. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> swsf complementar OWL‐S exprima 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 Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 76. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo 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 Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 77. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo Web Services Modeling Ontology  actiunile executate de servicii vor fi specificate sintactic via documente WSDL Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 78. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo Web Services Modeling Ontology  scopurile (goals) descriu in termeni ontologici aspectele privitoare la asteptarile utilizatorilor privind functionalitatile cerute scopurile modeleaza punctul de vedere al utilizatorului (programatorului) referitor la invocarea (utilizarea) procesului specificat de serviciu  Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 79. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo Web Services Modeling Ontology  mediatorii (mediators) definesc elementele facilitind interoperabilitatea (e.g., a serviciilor sau ontologiilor folosite)  rezolva incompatibilitatile la nivel de date, de procese, de protocoale etc. Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 80. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo Web Services Modeling Ontology  Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 81. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo Meta‐model stratificat: Information layer – datele dorite a fi descrise Model layer – meta‐datele asociate Metamodel layer – descrieri privind structura & semantica meta‐datelor Meta­metamodel layer – descrierilor specificind structura & semantica stratului metamodel layer Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 82. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo Un serviciu este descris in mod general in termeni de capacitati (capabilities) expuse via interfete (interfaces) vor fi precizate diverse proprietati nefunctionale: acuratetea, QoS, proprietarul, performanta, reliability, robustetea, securitatea, suportul pentru tranzactii, controlul versiunilor etc. Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 83. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo Un serviciu poate utiliza un set de mediatori e.g., cind apar terminologii eterogene cauzind conflicte Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 84. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo 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 entitati orchestrarea – modul cum poate coopera cu altele coregrafia & orchestrarea se descriu via  ASM – Abstract State Machine (Gurevich, 1995) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 85. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo Specificarea descrierilor de ontologii, declaratii functionale de scopuri & descrieri ale dinamicii serviciilor se realizeaza prin intermediul WSML (Web Service Modeling Language) bazat pe logicile descrierii Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 86. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo Specii WSML – conform (Dieter Fensel et al., 2008) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 87. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo – exemplu Definim serviciul oferind acces la meta‐datele atasate unei resurse (unui fisier) specificam operatii de baza privind sistemul de stocare a fisierelor Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 88. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo – exemplu 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 fisier sa apartina clasei owner instante: fisiere obisnuite Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 89. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo – exemplu ontology _http://www.undeva.info/fileOntology nonFunctionalProperties dc#title hasValue Ontologie privitoare la fisiere dc#description hasValue Modeleaza fisiere si utilizatori endNonFunctionalProperties concept file name ofType _string hasOwner ofType owner concept owner subConceptOf user ownerOf inverseOf (hasOwner) ofType file Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 90. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo – exemplu concept directory nonFunctionalProperties dc#description hasValue Un director este identificat unic prin i-nod si include 0 sau mai multe fisiere. endNonFunctionalProperties inode ofType _string items ofType file instance linuxKernelFile memberOf file name hasValue linux-2.6.30 hasOwner hasValue root Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 91. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo – exemplu relation ownership (impliesType owner, impliesType file) nonFunctionalProperties dc#relation hasValue ownershipFromOwner endNonFunctionalProperties axiom ownershipFromOwner definedBy ownership (?x,?y) :− ?x [ownerOf hasValue ?y] memberOf owner . Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 92. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo – exemplu Descriem – la nivel ontologic – capabilitatile oferite  de serviciu specificam actiunea de inserare a unui fisier intr‐un director  privita, echivalent, ca stabilire a unei categorii pentru o anumita resursa Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 93. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo – exemplu webService http://www.undeva.info/FileWebService nonFunctionalProperties dc#title hasValue Adăugarea unui fişier într-un director endNonFunctionalProperties importsOntology _http://www.undeva.info/fileOntology capability sharedVariables {?inode , ?filename} Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 94. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo – exemplu precondition definedBy ?inode memberOf string and ?filename memberOf file . postcondition definedBy forall ?dir ( ?dir [ inode hasValue ?inode ] memberOf directory implies ?dir [ items hasValue ?filename] ) . Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 95. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo – mediere Medierea (mediation) serviciilor via mediatorii WSMO eterogenitatea 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 dispozitie intotdeauna serviciul a carui funcționalitate se potriveste fidel cu cerintele clientului proces de afaceri (business process) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 96. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo – mediere Medierea la nivel de date poate avea loc prin  asocieri de ontologii (ontology mapping),  alinieri ontologice (alignment ontology) si  fuzionari de ontologii (ontology merging) vezi unul dintre cursurile anterioare Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 97. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> wsmo – mediere La nivel de procese, trebuie specificati mediatori de tip proces (process mediators) – servicii  aditionale (private/interne) sau alte aplicatii Medierea la nivel functional este facilitata de pre‐ si post‐conditii via mediatorii WSMO Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 98. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> initiative & instrumente IBM Semantic Tools for Web Services METEOR‐S Web Service Discovery Infrastructure OWL‐S Matcher SESA – Semantically Enabled Service‐oriented Architectures WSMT – Web Services Modeling Toolkit Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 99. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Intrastructura SESA instrumente (exemple) Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 100. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> servicii web semantice Alte detalii in volumul Dieter 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://sws­challenge.org/ Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 101. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> provocari Comunicarea in cadrul SOA triple space computing Coordonarea, medierea, adaptarea serviciilor Web Securitatea serviciilor Web WS‐Security, WS‐Trust, WS‐Privacy,… Asigurarea interoperabilitatii initiativa WS‐I Serviciile Web in contextul proceselor de afaceri modelarea workflow‐urilor: BPEL‐WS Servicii Web pentru grid Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 102. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Rezumat Descrieri semantice ale serviciilor Web de la SOA la OWL‐S si WSMO Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 103. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ? Dr. Sabin Buraga http://www.purl.org/net/busaco