Izvršivi BPM: Razvoj procesno-orijentiranih aplikacija

Post on 02-Jul-2015

1.293 views 11 download

description

Predavanje na European Business Process Conference 2012 (BPC 2012) održane 17. listopada 2012. u hotelu Esplanade. Tema predavanja je bila razvoj procesno-orijentiranih aplikacija na temelju BPMN modela procesa i na primjeru Bizagi BPM Suite alata.

Transcript of Izvršivi BPM: Razvoj procesno-orijentiranih aplikacija

Izvršivi BPM Izvršivi BPM Razvoj procesno-orijentiranih aplikacijaRazvoj procesno-orijentiranih aplikacija

dr.sc. Slaven Brumec, dipl.ing.rač.dr.sc. Slaven Brumec, dipl.ing.rač.

Koris d.o.o.Koris d.o.o.

Osnovno o BPMN 2.0 notacijiOsnovno o BPMN 2.0 notaciji Četiri tipa modela: (a) Dijagram poslovnog procesa, (b) Kolaboracijski dijagram,

(c) Koreografski dijagram i (d) Konverzacijski dijagram. Procesi mogu biti: Privatni izvršivi, Privatni neizvršivi, Javni. Elementi BPD: (a) objekti toka, (b) Podatkovni objekti, (c) Objekti spajanja,

(d) Polja i staze i (e) Dopunski objekti.

Učesnici

Radna mjesta

Signal kao međudogađaj

Završni događaj

Početni događaj

Servis

Emitirajuća aktivnost

Korisnički rad

Potproces

Kolaboracija i komunikacija između učesnika

Ekskluzivna skretnica

Komunikacijskisadržaj

Slijedni tok

Spremište

Procesno orijentirane aplikacije kao dio ISProcesno orijentirane aplikacije kao dio IS

Vrstaprocesa (v)

Razinaprocesa (r)

Razina uključenosti tehnologije (t)

Procesno orijentirane aplikacije (POA(POA ) ) imaju ugrađeno tehnološko znanje, što omogućava izvođenje i upravljanje determiniranim procesima, njihovu automatizaciju te vođenje izvršitelja prema načelu “najbolje prakse”.

Konvencionalne tehnologije

Računalo s bazom podataka

Računalo s bazom znanja

1

2

3

Determiniraniprocesi

očekivanog slijeda

Determiniraniprocesi

slučajnog slijeda

InventivniTip procesa

1

2

3

Izvođenje Upravljanje Odlučivanje1 2 3

MRP MRP RISRIS

AIAI

KlasičniKlasičniMISMIS

ERP

PPOAOA

Informacijske sustave treba promatrati s obzirom na njihovu svrhu i razvrstati prema tri klasifikacijske osi …

BPM – Upravljanje i/ili modeliranje?BPM – Upravljanje i/ili modeliranje?

Prepoznati

Analizirat i

Optimirat i

Izvodit i

Simulirati

Modelirat i

PokrenutiNadzirat i

Životni ciklusposlovnogprocesa

Izraditi popis procesa uz strogo poštivanje definicije. Formirati tim.

Prepoznati

Modelirat i Koristiti norm BPMN. Dokumentirati As Is. Utvrditi sve elemente i način izvođenja.

Pokrenuti Izraditi programski sustav za izvođenjeprocesa. BPEL, SOA, web-aplikacije.

Simulirat i Usuglasiti organizacijske promjene i utjecajICT. Odlučiti o BPR. Evaluirati To Be.

Izvodit i Uvesti programski sustav. Provesti BPR.Obrazovati za rad na novi način.

Nadzirati … usklađenost aktivnosti i komunikaciju među procesima. Mjeriti performanse (KPI).

Analizirat i Uspoređivati očekivane i postignute (KPI). Utvrditi mogućnosti daljnjih unapređenja.

Optimirati Preraspodijeliti resurse radi maksimalnih učinaka za korisnike procesa.

Poslovni procesi se modeliraju zato da bi sesistematiziralo znanje organizacije te omogućilo kontinuirano poboljšavanje te upravljanje izvođenjem uz upotrebu ICT. Stoga – bez modeliranja nema upravljanja,

Demingov krug (PDCA):Opće načelo upravljanja

Generiranje POA iz BPMN modelaGeneriranje POA iz BPMN modela

• BPMN model procesa: osnova za izgradnju POA!• Problem: Kako grafički model pretvoriti u izvršni kôd?• Rješenje 1: Klasičnim programiranjem (.NET/Mono,

Java, Python…) uz korištenje namjenskih programskih bilbioteka (npr. Workflow Foundation).

• Rješenje 2: Korištenjem specijaliziranih alata za generiranje POA.

• BPEL: standard?

BPEL: jezik za opis izvršivog BPDBPEL: jezik za opis izvršivog BPD

• Programski jezik temeljen na XML-u za opis izvršivog modela procesa.

• Izvedba pogona (engine) za obavljanje BPEL kôda je prepuštena proizvođačima softvera.

• BPEL se razvija u suradnji jakih (i konkurentskih IT tvrtki): IBM, Oracle, Microsoft, itd.

• Uz dobre alate za BPEL, iscrpno poznavanje samog BPEL-a ne bi trebalo biti nužno.

• BPEL je samo djelomično zaživio.

Alati za generiranje POAAlati za generiranje POA

• Skuplji, proprietary alati u pravilu mogu generirati POA i iz BPMN modela, i iz BPEL modela, npr.: Oracle Business Process Management Suite IBM Business Process Manager

• Jeftiniji i/ili slobodni alati najčešće generiraju POA izravno iz BPMN modela, zaobilazeći BPEL: Bizagi BPM Suite Bonita Open Solution Activiti BPM Platform

Opća metodika generiranja POAOpća metodika generiranja POA

1. Detaljno modeliranje procesa prema BPMN-u.

2. Stvaranje podatkovnog modela (ERA -> relacijski).

3. Izrada korisničkih sučelja.

4. Programiranje poslovnih pravila: za skretnice (gateways) za događaje (events) okinute na korisničkom sučelju

1. Definiranje sudionika (performers): uloge, zvanja…

2. Integracija s drugim procesima i vanjskim sustavima: web-servisi za komunikaciju s vanjskim sustavima poruke za komunikaciju s drugim procesima

Bizagi BPM Suite: primjer generatora POABizagi BPM Suite: primjer generatora POA

• Process Modeler: besplatni alat za crtanje (diagramming) procesa po BPMN 2.0 normi.

• BPM Suite: razvojni alat za generiranje POA iz BPMN modela. Besplatan za neprofitne svrhe. Uključuje Process Modeler.

• Laka integracija s raznim bazama podataka, CMS rješenjima i drugim hardverom i softverom.

• Proširivost: mobilne aplikacije, barkod čitači, web kamere…

Process ModelerProcess Modeler

BPM Suite: čarobnjakBPM Suite: čarobnjak

BPM Suite: modeliranje podatakaBPM Suite: modeliranje podataka

BPM Suite: izrada korisničkog sučeljaBPM Suite: izrada korisničkog sučelja

Web-aplikacija: popis procesaWeb-aplikacija: popis procesa

Web-aplikacija: Web-aplikacija: proces proces Zahtijevati dopustZahtijevati dopust

Web-aplikacija:Web-aplikacija:odbijanje ili odobrenje dopustaodbijanje ili odobrenje dopusta

Web-aplikacija:Web-aplikacija:grafički nadzor odvijanja procesagrafički nadzor odvijanja procesa

Uporabljivost i namjena generatora POAUporabljivost i namjena generatora POA

• Generatori POA nisu zamjena za klasične razvojne alate: Visual Studio, Eclipse…

• POA neće istisnuti iz uporabe klasične, funkcijske aplikacije: CRM, ERP, Kadrovsku…

• Procesno-orijentirane aplikacije namijenjene su povezivanju klasičnih, funkcijskih poslovnih aplikacija u procesni model.

• Alati za generiranje POA mogu poslužiti za brzo prototipiranje naručenog softverskog rješenja.

Procesi povezuju “end to end”Procesi povezuju “end to end”

Poduzeće

Proizvod

Prodaja

Aktivnost A

Prodaja

Aktivnost B

Prodaja

Aktivnost C

Proizvodnja

Aktivnost M

Proizvodnja

Aktivnost R

Proizvodnja

Aktivnost P

Proizvodnja

Aktivnost N

Obračun

Aktivnost X

Obračun

Aktivnost Y

Obračun

Aktivnost Z

Poslovno orijentirane aplikacije (POA) ne će zamijeniti postojeće ERP, CRM, HR i druge aplikacije, već će ih povezati slijedom logike poslovnog procesa.

Kao tehnološka infrastruktura za POA se koristi SOA (Service Oriented Architecture)