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

About This Presentation
Title:

Aplicatii Web bazate pe semantica, agenti si servicii

Description:

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

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

less

Transcript and Presenter's Notes

Title: Aplicatii Web bazate pe semantica, agenti si servicii


1
  • Aplicatii Web bazate pe semantica, agenti si
    servicii

http//turing.cs.pub.ro/webs_07
Universitatea Politehnica BucurestiAnul
universitar 2007-2008, MasterAdina Magda Florea
2
Orchestrarea serviciilor Web
  • Standarde pentru servicii pozitionare
  • Modelarea procesului de business
  • UML
  • BPML
  • Orchestrarea procesului de business
  • WSBPEL
  • ebXML

Orientare pe procese
3
Standarde pentru servicii Web
4
Modelarea proceselor
  • Modelarea proceselor
  • Reprezentarea unei secvente ordonate de
    activitati de business si a continutului
    informational asociat
  • Un model de proces diagrame de flux de
    activitati care contin suficiente detalii a.i
    procesul sa poata fi analizat, simulat si
    executat
  • BPMN Business Process Modeling Notation
  • UML pt BM (Business Modeling)

5
UML
  • Utilizarea UML pentru BM
  • Constructii grafice care pot fi utilizate in
    modelarea BP pentru descrierea
  • activitatilor
  • precedentei temporale
  • fluxului de control
  • Structuri de control utilizate
  • Sequence tranzitia de la o activitate la alta
  • Branch un punct de decizie intre fluxuri
    alternative de control
  • Merge doua sau mai multe fluxuri de control
    alternativ se contopesc
  • Fork impartirea unui flux de control in doua sau
    mai multe fluxuri de control concurente
    independente
  • Join sincronizarea a doua sau mai multe fluxuri
    de control cu executie concurenta intr-un unic
    flux de control

6
UML
Reprezentarea unui proces de vanzare
7
BPMN
  • BPMN permite
  • modelarea proceselor
  • utilizarea unor metodologii diverse cat si
    scopuri diverse in modelare (de ex orchestrare si
    coreografie)
  • BPMN este o reprezentarea grafica pe baza de
    organigrame pentru definirea BP (Business
    Processes)
  • BPMN ofera un mecanism pentru generarea BP
    executabile (BPEL) din aceasta reprezentare
    grafica
  • BP modelat in BPMN poate fi dat unui motor BPEL
    pentru executie

8
Originile BPMN
  • BPMI (Business Process Management Institute)
    acum parte a OMG (Object Management Group) a
    dezvoltat BPML (un limbaj bazat pe XML pentru
    executarea BP)
  • BPML a fost mai tarziu inlocuit de BPEL
  • BPMN
  • Mai 2004 - BPMN 1.0
  • Februarie 2006 BPMN 1.0 adoptat ca standard OMG
  • la ora actuala exsita 39 de mari companii care au
    implementari ale BPMN

9
BPMN elemente de baza
  • BPMN este format dintr-o multime de elemente
    grafice
  • Defineste Business Process Diagram (BPD)
    flowchart pentru crearea modelelor grafice a
    operatiilor BP
  • 4 categorii de baza de elemente
  • Flow Objects (1)
  • Connecting Objects (2)
  • Swimlanes (3)
  • Artifacts (4)

10
(1) Flow Objects
  • Events ceva ce se intampla in timpul unui BP
  • Activity atomice sau non-atomice (compuse)
  • Task activitate atomica
  • Sub-Process dezvoltare ierarhica
  • Se pot executa o data sau pot avea bucle interne
  • Gateway
  • divergenta sau convergenta unor fluxuri de
    activitati
  • element de decizie

start
end
intermediate
Task
Sub-Process

Looped task
11
Event
  • Events ceva ce se intampla in timpul unui BP
  • Start
  • untriggered
  • message (procesul incepe la receptionarea unui
    mesaj se poate implementa ca un WS)
  • timer procesul incepe la o data/ora specificata
    sau la un interval de timp (ciclic)
  • rule procesul incepe odata cu executia unei
    reguli
  • link un sub-proces al procesului curent incepe
    la terminarea unui alt sub-proces al procesului
    curent
  • Intermediate la fel
  • Error arunca o eroare
  • Compensation indica necesitatea unei compensari
    pentru o tranzactie (apel compensare)
  • End la fel cu Intermediate
  • Terminate termina toate activitatile din proces
    fara alte compensari sau evenimente

start
intermediate
end
12
Activity
  • Tasks
  • User tasks necesita interventie umana in aplic
    software (eg introduce date client)
  • Manual tasks facute de o persoana fara software
    (eg cheama seful)
  • Service tasks fara interventie umana (eg apel
    fct software, WS)
  • Send task trimite mesaj catre sistem sau
    persoana
  • Receive task asteapta un mesaj de la sistem sau
    persoana
  • Reference task refera un task deja existent
    (impiedica duplicare taskuri)
  • Sub-processes
  • Embedded continut integral in procesul parinte
    si executat in acesta are acces la aceleasi Data
    Object ca procesul parinte
  • Independent apel al unui proces separat care
    poate fi apelat si din alt proces nu are acces
    la Data Objects a procesului parinte
  • Transactions comportarea sub-procesului este
    aceea a unui protocol de tranzactie
  • Activity markers pt bucle

13
Exemplu
Message event
Sub-process activity
Intermediate events
Timer event
14
Gateways
  • Utilizate pentru branching, merging, forking,
    joining, conditional decisions
  • Exclusive gateways (XOR) decizii numai o cale
    posibila
  • Mecanisme de decizie
  • date (eg expresii conditionale)
  • evenimente (eg receptia unui mesaj)
  • Inclusive gateways (OR)
  • utilizate ca fork mai multe iesiri posibile
  • utilizate ca merge, sincronizeaza fluxuri de
    intrare dar nu asteapta
  • Complex gateways
  • utilizate ca merge expresia determina care flux
    de intrare este necesar pentru a continua
  • Parallel gateways (AND) fork sau merge pt. mai
    multe cai paralele folosita ca sincronizare
    (wait for) a cailor paralele de intrare

15
(2) Connecting Objects
  • Sequence flow ordinea activitatilor intr-un
    proces
  • Message flow fluxul de mesaje intre 2
    participanti diferiti la proces
  • Association asociaza date, text sau alte
    artefacte cu flow objects
  • Asocierile sunt utilizate pentru a arata
    intrarile si iesirile activitatilor

16
Exemplu
Exclusive gateway (date)
Sequence flow
17
(3) Swimlanes
Nume
  • Pool reprezinta un participant la un process
  • Grupeaza activitati in B2B 2 entitati/participant
    i
  • Lane sub-partitie intr-un Pool
  • Folosesc la organizarea si clasificarea
    activitatilor

Nume
Nume
Nume
18
Exemplu
Pool
Pool
19
(4) Artifacts
  • Data objects arata datele necesare producerii
    unei activitati
  • Sunt conectate la activitati prin asociatii
  • Group utilizat pentru documentare sau analiza
  • Nu afecteaza fluxul de activitati
  • Annotation text suplimentar

NumeStare
Adnotare cu text
20
Exemplu
Data object
Lanes
Group
Annotation
21
BPD - rezumat
Elemente din BPDiagram
22
BPMN - orchestrare
  • Orchestrarea procese interne intr-o aceeasi
    organizatie
  • Procesele sunt continute intr-un singur Pool

Exclusive gateway (data)
Parallel gateway
23
BPMN - coreografie
  • Coreografia procese care se petrec in mai multe
    organizatii si interactiunea intre ele
  • Procesele fiecarei organizatii sunt continute in
    Pools diferite

24
BP la nivel general
  • Modelarea - ierarhic, la diferite niveluri de
    detaliere

25
BP detaliat
26
Exemplu de modelare a unui proces
  • Expense reimbursment process decontarea
    cheltuielilor unor angajati intr-o organizatie
  • Informatii despre proces
  • Dupa depunerea decontului de cheltuieli (Expense
    Report) se creaza un nou cont (bancar) daca
    angajatul nu are deja unul
  • Decontul este apoi trimis automat pentru aprobare
  • daca suma este sub 200 atunci aprobarea este
    automata
  • daca suma este egala sau mai mare cu 200 atunci
    necesita aprobarea supervizorului
  • In caz de respingere, angajatul primeste o
    notificare prin email
  • Daca a fost aprobat cu succes, suma este depusa
    in contul angajatului
  • Daca nu se intampla nici o actiune in 7 zile,
    angajatul primeste un email "approval in
    progress"
  • Daca cererea nu este rezolvata in 30 de zile,
    atunci procesul se opreste si angajatul primeste
    un email prin care este notificat de acest lucru
    (cancellation) si trebuie sa depuna din nou
    decontul

27
BPMN - Expense reimbursment process
28
Meta-modelul UML al BPMN
29
Produse BPMN
  • TIBCO Business Suite permite modelarea
    proceselor si "deployment" pe TIBCO iProcess
    Engine
  • BPMN iServer pt Microsoft Visio
  • SPARX Systems Enterprise Architect UML 2.01 si
    BPMN
  • Intalio BPMS
  • WebSphere Business Modeler vezi Demo

30
TIBCO Business Suite
31
TIBCO Business Suite
32
BPEL
  • Poate servi ca un limbaj de executie (procese
    executabile) si ca un limbaj de descriere
    (procese abstracte)
  • Un document BPEL utilizeaza XML pentru a descrie
    urmatoarele aspecte ale BP
  • partners o lista de WS invocate ca parte a unui
    proces
  • containers utilizate de procese, oferind
    definitii in termeni de tipuri de mesaje WSDL
    sunt necesare pentru a stoca date cu stari si
    istoria procesului pe baza mesajelor schimbate
    intre componentele procesului
  • variables variabilele utilizate care fac parte
    din proces
  • faultHandlers routinele de tratare a exceptiilor

33
BPEL
  • eventHandlers routinele de tratare a
    evenimentelor externe (asincrone)
  • compensationHandler compensarea ce trebuie
    executata daca o tranzactie esueaza
  • correlationSet precedenta si corelarea intre
    invocarea WS care nu poate fi exprimata ca parte
    a procesului logic principal
  • main logic process o serie de structuri de
    control imbricate care combina activitati
    primitive cu algoritmi mai complicati.
    Structurile de control includ
  • sequence executie seriala
  • while bucla
  • switch multiway branching
  • pick selectia unei alternative pe baza unui
    eveniment extern
  • flow executie paralela

34
Proces BPEL WS compus cu o descriere WSDL
35
Structura BPEL
Partner / Role Definitions
Process State
ltprocessgt ltpartnersgt lt/partnersgt
ltvariablesgt lt/variablesgt ltcorrelationSetsgt
lt/correlationSetsgt ltfaultHandlergt
ltfaultHandlergt ltcompensationHandlergt
lt/compensationHandlergt lteventHandlergt
lt/eventHandlergt (activities) lt/processgt acti
vities ltreceivegt, ltreplygt, ltinvokegt, ltassigngt,
ltthrowgt, ltterminategt, ltwaitgt,
ltemptygt, ltsequencegt, ltswitchgt,
ltwhilegt, ltpickgt, ltflowgt, ltscopegt, ltcompensationgt
Instance Matching
Transaction management
Exception Handling
Events
Process Flow
36
Triggere de procese BPEL
  • Extrinsic / Incoming Messages
  • ltreceive createInstanceyesgt
  • lt/receivegt
  • Intrinsic / Time-based
  • ltpickgt
  • lt!-- set an alarm in 3 days and 10 hours --gt
  • ltonAlarm for"'P3DT10H'"gt
  • lt!-- handle timeout for order completion --gt
  • lt/onAlarmgt
  • lt/pickgt

37
Activitati BPEL
  • ltsequencegt
  • ltflowgt
  • ltpickgt

Serial ltsendgt, ltreceivegt, ltinvokegt, ltgt
Paralel ltsendgt, ltreceivegt, ltinvokegt, ltgt
Asteapta pentru unul sau mai multe ltreceivegt sau
o alarma
38
Fluxul de control BPEL
  • ltswitchgt ltcase /gt ltotherwise /gt lt/switchgt
  • While
  • Wait

39
Date BPEL
  • Atribuirea variabilelor utilizand XPath 1.0
  • ltassigngt
  • ltcopygt
  • ltfrom variable"AutoLoanRequest"
  • part"creditRating"
    query"/creditRating/text()"/gt
  • ltto variable"InterstateCarLoanRequest"
    part"credit" query"/credit/text()"/gt
  • lt/copygt
  • lt/assigngt

40
Corelarea mesajelor BPEL
  • ltpropertyAlias propertyName"orderNumber"
  • messageType"POMessage" part"PO"
  • query"/PO/Order"/gt
  • ltcorrelationSetsgt
  • ltcorrelationSet name"PurchaseOrder"
  • properties"orderNumber"/gt
  • lt/correlationSetsgt
  • ltreceive partnerLink"Buyer" portType"PurchasingP
    T"
  • operation"AsyncPurchase"
  • variable"PO"gt
  • ltcorrelationsgt
  • ltcorrelation set"PurchaseOrder"
    initiate"yes"gt
  • lt/correlationsgt
  • lt/receivegt

41
Tranzactii BPEL
  • Suport pentru integritatea tranzactiilor
  • ltcompensationHandlergt
  • ltinvoke partnerLink"Seller"
  • operation"SyncPurchase"
  • gt
  • ltcompensationHandlergt
  • ltinvoke partnerLink"Seller"
  • operation"CancelPurchase /gt
  • lt/compensationHandlergt
  • lt/invokegt
  • Se apeleaza prin ltcompensategt
  • ltswitchgt
  • ltcase gt
  • ltcompensate/gt
  • lt/casegt

42
Tratarea erorilor in BPEL
  • ltfaultHandlersgt
  • ltcatchAllgt
  • lt/catchAllgt
  • lt/faultHandlersgt
  • ltswitchgt
  • ltcase condition "bpwsgetVariableProperty(stockRe
    sult,level) gt 100"gt
  • ltthrow faultName"OutOfStock"/gt
  • lt/casegt

43
Specificarea unui serviciu compus de Stock
quotation
  • ltprocess name"simple" targetNamespace"urnstockQ
    uoter" xmlnstns"urnstockQuoter"
    xmlnssqp"http//tempuri.org/services/stockquote"
    xmlnsBPEL/gt
  • ltcontainersgt
  • ltcontainer name"request" messageType"tnsreq
    uest"/gt
  • ltcontainer name"response" messageType"tnsre
    sponse"/gt
  • ltcontainer name"invocationRequest"
    messageType"sqpGetQInput"/gt
  • ltcontainer name"invocationResponse"
    messageType"sqpGetQOutput"/gt
  • lt/containersgt
  • ltpartnersgt
  • ltpartner name"caller" serviceLinkType"tnsSt
    ockQuoteSLT"/gt
  • ltpartner name"provider" serviceLinkType"tns
    StockQuoteSLT"/gt
  • lt/partnersgt
  • ltsequence name"sequence"gt
  • ltreceive name"receive" partner"caller"
    portType"tnsStockQuotePT"
  • operation"wantQuote"
    container"request" createInstance"yes"/gt
  • ltassigngt ltcopygt
  • ltfrom container"request"
    part"symbol"/gt
  • ltto container"invocationRequest"
    part"symbol"/gt
  • lt/copygt lt/assigngt

44
Meta-modelul (complet) UML al BPEL
45
Mapare BPMN la BPEL
46
Produse BPEL
  • OpenStorm Service Orchestrator
  • Microsoft BizTalk Server 2004, Visio
  • Collaxa
  • IBM WebSphere Process Choreographer
  • Oracle AS, JDeveloper
  • webMethods
  • Eclipse plug-in
  • Oracle AS and JDeveloper
  • BEA WebLogic 8.1

47
Electronic Business Extensible Markup Language
(ebXML)
  • Propus de UN-CEFACT (United Nations Centre for
    Trade Facilitation and Electronic Business) si
    OASIS (Organization for the Advancement of
    Structured Information Standards)
  • Ofera specificatii pentru a defini BP standard,
    schimbul de mesaje de business si stabilirea
    contractelor
  • Motivatie
  • Standard global pentru orice tip de companie
  • Gasirea automata a partenerilor de business

48
Vocabularul ebXML
  • Unified Modeling Methodology (UMM)
  • UML specializat pentru Business Processes
  • Collaboration Protocol Profile (CPP)
  • Descrie un profil de business, adica ce BP
    suporta, rolurile din proces, mesajele schimbate,
    mecanismul de transport pentru mesaje (e.g.,
    HTTPS)
  • Collaborative Partner Agreement (CPA)
  • O intersectie a doua CPP
  • Contract tehnic intre doi sau mai multi
    parteneri

49
Proiectarea unui sistem ebXML
Write a Comment
User Comments (0)
About PowerShow.com