Procesno orijentirane aplikacije

apstrakcija

Proteklih tjedana opsežno sam se bavio alatima za modeliranje i simuliranje poslovnih procesa te za generiranje procesno orijentiranih aplikacija: process-oriented applications. Na tu temu održali smo i jedno konferencijsko predavanje te seminar s radionicom. No, što su procesno orijentirane aplikacije, POA?

Što su POA?

Informacijske sustave možemo općenito klasificirati prema tri svojstva:

  • razini uključenosti tehnologije,
  • vrsti procesa koje podržavaju,
  • razini procesa
Klasifikacija IS

Klasifikacija informacijskih sustava prikazana je trodimenzionalnom matricom na slici desno.

Razina uključenosti tehnologije ide od konvencionalnih tehnologija, preko računala s bazom podataka, do računala s bazom znanja. Pod konvencionalnim tehnologijama smatramo uglavnom olovku i papir. Uz računala s bazom podataka vežu se klasične upiši u bazu, pročitaj iz baze iliti OLTP aplikacije. Računala s bazom znanja podrazumijevaju sve od aplikacija temeljenih na radnom tijeku, workflow, do inteligentnih sustava (AI). Okvirno možemo reći da se POA temelje na radnom tijeku, da su workflow-oriented. To je najšira definicija POA. Za preciziranje te definicije zgodno je reći što POA nisu, tj. po čemu se razlikuju od ostalih vrsta aplikacija kao što su OLTP, ERP ili AI:

  • Utemeljenost na radnom tijeku podrazumijeva izvođenje determiniranih procesa očekivanog slijeda aktivnosti, za razliku od npr. istinskih ERP sustava.
  • POA se koriste za podršku izvođenju poslovnih procesa, za razliku od AI-ja koji se koriste za automatsko odlučivanje.
  • Tijek aktivnosti u OLTP aplikacijama je implicitan, određen redoslijedom pojavljivanja korisničkih i programskih sučelja. Iz rasporeda sučelja razaznaje se workflow. Aktivnosti ne postoje kao aplikacijski entiteti, nego se stanje procesa bilježi implicitno, kao popunjenost podatkovnih entiteta u bazi podataka. Kada dođe do izmjene poslovnih procesa, OLTP aplikacije najčešće treba temeljito reprogramirati. Nasuprot tome, u POA je tijek aktivnosti eksplicitan i neovisan o korisničkim i programskim sučeljima. Aktivnosti postoje kao aplikacijski entiteti čijim se stanjima izravno upravlja.

Ukratko, procesno orijentirane aplikacije (ili, kraće, samo procesne aplikacije) imaju ugrađeno tehnološko znanje, što omogućava izvođenje i upravljanje determiniranim procesima, automatizaciju takvih procesa te vođenje korisnika kroz obavljanje posla.

Čemu služe POA?

Proces 'end-to-end'

Poslovni procesi imaju dva bitna svojstva: isporučuju novu vrijednost mušteriji (kupcu robe ili korisniku usluge) i u njihovom provođenju angažirane su razni odjeli radne organizacije. Iz ovog drugog svojstva slijedi da poslovni procesi povezuju organizacijske odjele na end to end način. To je prikazano slikom lijevo. O tome lijepo pišu Weilkiens i suradnici u izvrsnoj knjizi OCEB Certification Guide: Business Process Management.

Organizacijski odjeli i dalje trebaju svoje klasične, funckionalne aplikacije, npr. Kadrovsku, ERP, CRM i slično! Procesno orijentirane aplikacije povezuju te klasične, funkcionalne aplikacije slijedom logike poslovnog procesa. Stoga POA neće istisnuti klasične, funkcionalne poslovne aplikacije, nego će ih dopuniti.

Razvoj POA

Na tržištu postoji nekolicina alata za razvoj POA, vrlo širokog raspona karakteristika i cijene. Meni osobno najviše se sviđaju dva: Bizagi BPM Suite, freeware, i Bonita Open Solution, free and open source. Bizagijevo rješenje je nešto više user-friendly, ali Bonitino radi i na Linuxu, što može biti interesantno ljudima koji preferiraju open source stack. No, bez obzira na specifična svojstva, alati za razvoj POA imaju neke zajedničke osobine. Te osobine odnose se na metodiku generiranja POA koja, ugrubo, uvijek ima slijedeće korake:

  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) i događaje (events) okinute tijekom raznih faza izvođenja aktivnosti.
  5. Definiranje sudionika (performers): uloge, zvanja, itd.
  6. Integracija s drugim procesima korištenjem poruka te vanjskim sustavima korištenjem web-servisa.
  7. Pokretanje POA u razvojnoj, testnoj i produkcijskoj okolini.

Zgodna ilustracija te metodike vidiljva je u screenshotu početnog sučelja Bizagi Studija. To sučelje izvedeno je kao čarobnjak, wizard, u obliku karusela na kojem jedan segment predstavlja jedan od navedenih koraka metodike generiranja POA.

Bizagijev karusel

U nekom od idućih članaka ću detaljnije ilustrirati razvoj POA pomoću spomenutih alata.

Natrag