Title: Modelovanje poslovnih procesa
1Modelovanje poslovnih procesa
Fakultet organizacionih nauka Katedra za
informacione sisteme
Servisno orijentisana arhitektura
2Razvoj softverskih arhitektura
- Vrednost softvera se sve više definiše preko
povezanosti, a ne funkcionalnosti
Mainframe
Client Server
Web
3Potrebe za povezanošcu komponenti su uticale na
zbližavanje tehnologija
Office
Workflow
EDI
Mainframe
4SOA i BPM (Business Process Management)
- SOA se opisuje kao mogucnost konstruisanja
softverski komponenti koje mogu biti korišcene u
kontekstu koji nije poznat u vreme dizajna - BPM se opisuje kao mogucnost preciznog
modelovanja i promene konteksta u kojem ce
komponente preduzeca biti korišcene
5Elementi BPM-a
Inicira
Aktivnost
Dogadjaj
menja
Stanje
Entitet
Sadržaj
pokrece
Akter
generiše
Servis
Predstavljen kao
6Kako se posmatra BPM u SOA zajednici
- Dva pristupa u BPM
- Zasnovan na dogadajima
- BPML, BPEL
- Pi-Calculus (takode Event Calculus)
- Orijentisan ka aktivnostima
- WfMC
- Petrijeve mreže (Petri nets)
7Komponente postaju servisi koji se izvršavaju
izvan granica potrošaca
Potrošac (Consumer)
CCI Client Communication Interface
8Information Entities u SOA
- Karakteristike entiteta u SOA
Information Entity
Privatnost Privacy
9Poslovni proces može se posmatrati kao više
akterska koreografija servisa
Start
Dobavljac
Kupac
Prodavac
SFA
ERP
Aktivnost Korisnika
Order
Order
Entitet (Information Entity)
10Servisi u SOA su orkestrirani (BPEL) - ( ovaj
model koji omogucava najbolje ponovno korišcenje
poslovne logike )
Servis Quote Service Definicija orkestracije
ltltreceivegtgt RFQ
RFQ
RFQ
ltltinvokegtgt GetQuote
Quote
No
Ok?
Nack
sendNack
Prodaja Porez
ltltinvokegtgt calculateSalesTax
Ponuda
ltltsendgtgt quote
updateDB
Transition
Narudz
Ok?
No
Message flow
11Koreografija omogucava definisanje model toka
dogadaja izmedu aktivnosti
12SOA zahteva potpunu odvojenost poslovne logike i
korisnickog interfejsa (UI user interface)
View
Controller Poslovnog procesa
UI Controller
Obrada Posla
Obrada Upita
Zahtev za servisom
WS
ERP
PLM
CRM
WS
WS
WS
WS
WS
WS
13Standardi Web servisa
- Osnovni standardi za web servise su
- XML (Extensible Markup Language)
- SOAP (simple object access protocol)
- WSDL (web services description language)
- UDDI (universal description, discovery and
integration)
14Standardi za Web servise
15Arhitektura Web servisa
- Ukljucuje tri glavna uloge
- Providera servisa
- Registra servisa
- Potrošaca servisa
- Obuhvata tri glave operacije
- Publikovanje registrovanje web servisa za
korišcenje - Pronalaženje lociranje web servisa
- Izvršavanje korišcenje web servisa
16Komponente Web servisa
17Dostupnost servisa
- Da bi neko mogao da koristi servis mora da zna
da on postoji i da se omoguci - Otkrivanje registrovanih (publikovanih) servisa
(UDDI). - Opis interfejsa servisa (metode i argumenti) kako
bi korisnik mogao da ga korisiti (WSDL). - Lokacija na kojoj se nalazi servis (web server
ili specificne aplikacije za komunikaciju)
18Osovne karakteristike WS
- Sva WS dokumenta su napisana u XML
- XML Schema se koristi za definisanje elemenata
koji se koriste u WS komunikaciji
19SOAP
- Koristi se za komunikaciju sa WS
- Zasnovan na paradigmi poruka zahtev-odgovor (SOAP
poruke) - Telo poruke (cija je gramatika data preko WSDL)
se nalazi u SOAP envelope - Povezuje korisnika i WS
20SOAP poruke
- SOAP definiše standardi koverat u okviru kojeg
poruka može biti poslata. - SOAP je mehanizam (protokol) za prenos
informacija (poruka) izmedu distribuiranih
aplikacija. - SOAP ne govori ništa o sadržini poruke vec
pošiljalac i primalac moraju medusobno da je
razumeju. - SOAP je deo komunikacionog sloja.
21Struktura SOAP-a
- Svaka SOAP poruka sadrži
- Envelope obavija ceo dokument
- Header (opciono sadrži dodatne informacije za
npr. autentifikaciju) - Body sadržaj poruke koji je sama XML poruka ili
RPC (sadrži XML koji predstavlja poziv metode) - Body može sadržati Fault element kojim se
definišu informacije o izuzecima
SOAP Envelope
SOAP Header autentifikacija, informacije o
transakciji, itd
SOAP Body
SOAP Body Block parametri, povratne vrednosti,
itd
SOAP Fault
22Primer SOAP poruke
- lt?xml ?gt
- ltSOAP-ENVEnvelope xmlnsSOAP-ENVURI gt
- ltSOAP-ENVHeadergt
- lttTransaction xmlnstURI
- SOAP-ENVmustUnderstand1 gt
- 12345
- lt/tTransactiongt
- ltpPriority xmlnspURIgt
- Very High
- lt/pPrioritygt
- lt/SOAP-ENVHeadergt
- ltSOAP-ENVBodygt
- XML Document
- lt/SOAP-ENVBodygt
- lt/SOAP-ENVEnvelopegt
23WSDL
- Opisuje WS i definiše funkcije koje su dostupne
na njemu - Definiše XML gramatiku koja se koristi u porukama
24Struktura WSDL-a
- portType apstraktna definicija servisa (skup
operacija) - Binding nacini pristupa izvršavanju servisa
- Port gde se pristupa servisu
25Primer WSDL 1
- lt?xml version"1.0"?gt
- lt!-- the root element, wsdldefinitions, defines
a set of --gt - lt!-- related services --gt
- ltwsdldefinitions
- name"Temperature"
- targetNamespace"http//www.socweather.com/schema
" - xmlnsts"http//www.socweather.com/TempSvc.wsdl"
- xmlnstsxsd"http//schemas.socweather.com/TempSv
c.xsd" - xmlnssoap"http//schemas.xmlsoap.org/wsdl/soap/
" - xmlnswsdl"http//schemas.xmlsoap.org/wsdl/"gt
26Primer WSDL 2
- lt!-- wsdltypes encapsulates schema definitions
of --gt - lt!-- communication types here using xsd --gt
- ltwsdltypesgt
- lt!-- all type declarations are expressed in xsd
--gt - ltxsdschema targetNamespace"http//namespaces.s
ocweather.com" - xmlnsxsd"http//www.w3.org/1999/XMLSchema
"gt - lt!-- xsd def GetTemp City string, When string
--gt - ltxsdelement name"GetTemp"gt
- ltxsdcomplexTypegt
- ltxsdsequencegt
- ltxsdelement name"City" type"string"/gt
- ltxsdelement name"When" type"string"/gt
- lt/xsdsequencegt
- lt/xsdcomplexTypegt
- lt/xsdelementgt
27UDDI
- Koristi se za registrovanje i pronalaženje
servisa u nekom centralnom registru - Provajderi servisa mogu publikovati informacije o
njihovim poslovima i servisima koje nude - Korisnici servisa mogu pretraživati servise
organizovane po poslu kategoriji servisa ili kao
specificne servise
28Struktura UDDI-a
29WSDL ?? UDDI