Upravljanje poslovnim procesima uz pomoć
Alfersco Activiti okvira za razvoj
Zoran Veljanović
Vestigo
Agenda
• O Vestigu
• Što je i zbog čega BPM
• Activiti
• BPM Diagrami (BPMN)
• Demo
O Vestigu
ISV sa fokusom na financijski sektor
• Razvoj softvera baziran na J2EE i open source rješenjima
• IBM Business Partner
• Oracle Business Partner
Veći klijenti (po abecednom redu)
• Dinit d.o.o. Card services
• Diners Club Italia
• Diners Club Slovenia
• Diners Club UK
• Diners Club Ireland
• Financijska agencija - FINA
• Raiffeisenbank Austria Zagreb d.d.
• Zagrebačka banka d.d.
BPM Reference
• Raiffeisenbank Austria Zagreb d.d.
BPM kao menadžerska disciplina
• Analiza, dokumentiranje i poboljšavanje načina na koji ljudi i
sustavi rade zajedno
• Crtanje dijagrama na razini čovjek – čovjek
• Ne koristi se softver
BPM kao softver
• Crtanje dijagrama poslovnih procesa
• Poslovni procesi se izvršavaju na BPM softveru
• Analiza i optimizacija procesa
Zbog čega implementirati BPM
We cannot solve the
problems we have at
the same level of
thinking we were at
when we created them
Samo
mijena
stalna jest
To improve is to
change, to be
perfect is to
change often
• Dinamično okruženje
• Potreba za agilnošću, efikasnošću, fleksibilnošću i jeftinijim rješenjima
Zašto implementirati BPM
• Koliko i koji procesi?
• Gdje je početak gdje je kraj
• Koji su koraci u pojedinom procesu
• Koji su izvršitelji u procesima
vs.
Odabir BPM softvera
BPM
Što je Activiti
je
open surce platforma
za BPM,
namijenjena poslovnim ljudima i programerima.
Izvršava se u Javi
i temelji se na standardima (BPMN)
Activiti prednosti
• Open Source (Apache licenca)
• 100% Java
• Podrška za različite aplikacijske servere i baze podataka
• Razvija ga tim iz više različitih tvrtki
• Česte verzije
BPM tipičan Use Case
1. definicija procesa
BPM tipičan Use Case
2.Instalacija procesa u BPM softver
MyProcess.xml
BPM
software
DB
MyProcess
BPM tipičan Use Case
3.Pokretanje procesa
Start process
App
BPM
software
MyProcess
MyProc. instance
BPM tipičan Use Case
4. Izvršavanje koraka
BPM tipičan Use Case
5. Završavanje procesa
App
BPM
software
MyProc. instance
MyProc. history
Activiti komponente
Modeling
Runtime
Management
Activiti Modeler
Activiti Designer
Activiti Engine
Activiti Explorer
Activiti Rest
Java API
Modeling
Eclipse designer
Modeling
Activiti modeler
Runtime
Activiti Engine
Izvršava procesa
Komunicira s našom aplikacijom
Activiti is just a jar
Koristi bazu podataka
Application Server
MyWebModule
My Code
*.class
Activiti Engine
activiti-engine.jar
Activiti DB
(DB2, Oracle,
PostgreSQL, H2,
MySql)
Activiti API
Kreiranje process engine-a
ProcessEngineConfiguration conf = ProcessEngineConfiguration .createStandaloneProcessEngineConfiguration();
ProcessEngine processEngine = conf .buildProcessEngine();
Instalacija procesa
processEngine .getRepositoryService().createDeployment().addClasspathResource(„MyProcess.xml”).deploy();
Pokretanje procesa
processEngine.getRuntimeService().startProcessInstanceById(processDefinitionId)
Preporuka za implementaciju
Implementacija poslovnog dijela je neovisna o BPM proizvođaču softvera.
MyApp
Integration Layer
Activiti
IBM BPM
Bonita
Soft BPM
Activiti Explorer
Application Server
MyWebModule
My Code
*.class
Activiti Engine
activiti-engine.jar
ActivitiExplorer
Activiti DB
Activiti Engine
activiti-engine.jar
Activiti BPMN 2.0 procesi
• Start Event
• End Event
• Blokirajuća aktivnost (zadatak)
• Neblokirajući zadatak
• Grananja
Activiti BPMN 2.0 procesi
start events
Start Event
Timer Start Event
Message Start Event
Activiti BPMN 2.0 procesi
blokirajuće aktivnosti
User task
Zadatak koji treba odraditi osoba
Proces se blokira dok zadatak nije odrađen
Zadatku se dodjeljuje izvršitelj
Activiti BPMN 2.0 procesi
neblokirajuće aktivnosti
Zadatak se izvrši i proces nastavlja s izvršavanjem
Script task
Business rule task
Java service task
Web service task
Activiti BPMN 2.0 procesi
grananja (gateways)
Parallel gateway Exclusive gateway Inclusive gateway
Activiti BPMN 2.0 procesi
forme
Demo