1. Intalio BPMS
• Intalio BPMS Community Edition (CE) merupakan sebuah BPMS yang
dikembangkan oleh Intalio. Pada Desember 2006 BPMS ini dirilis sebagai
sebuah produk open source, sehingga membebaskan pengembang
manapun untuk menggunakan dan mengajukan usulan untuk
pengembangan perangkat lunak ini.
• Intalio BPMS CE terdiri atas dua aplikasi utama, yaitu Intalio BPMS
Designer dan Intalio BPMS Server. Intalio BPMS Designer berfungsi
untuk merancang proses bisnis yang akan dieksekusi oleh Intalio BPMS
Server, sementara BPMS Server berfungsi untuk mengeksekusi proses
bisnis yang telah didefinisikan dan memberikan report terhadap hasil
eksekusi tersebut. Intalio BPMS Server juga menyediakan dukungan untuk
mengintegrasikan web services dalam proses bisnisnya.
• Perancangan yang difasilitasi oleh Intalio BPMS Designer dilakukan dengan
notasi Business Process Modeling Notation (BPMN), yang akan dikonversi ke
BPEL untuk dieksekusi. Selain fitur perancangan proses bisnis tersebut,
BPMS ini juga menyediakan fitur untuk merancang form untuk proses bisnis
yang melibatkan manusia.
• Intalio BPMS Designer dibangun di atas Eclipse STP. Eclipse STP (SOA-
Tools Platform) merupakan IDE open source yang dapat dikembangkan sesuai
kebutuhan. Aplikasi ini bersifat desktop based. Sementara Intalio BPMS
Server dibangun dengan menggunakan Apache ODE (Orchestration Director
Engine). Sebuah proyek dari Apache untuk mesin eksekusi BPEL.
2. jBoss jBPM
• Aplikasi jBoss jBPM adalah sebuah BPMS yang dikembangkan oleh jBoss.
Seperti halnya Intalio, aplikasi ini terdiri atas aplikasi server yang
mengeksekusi proses (jBPM Process Engine), dan sebuah aplikasi berbasis
Eclipse untuk mendesain proses (jBPM Process Designer).
• Aplikasi jBPM Process Engine dapat digunakan sebagai pengintegrasi
aplikasi-aplikasi dalam sebuah enterprise, dan dapat juga dijadikan sebagai
mesin eksekusi proses bisnis dalam sebuah aplikasi. jBPM Process Engine
mendukung eksekusi proses yang didefinisikan dengan bahasa jPDL sebagai
bahasa utama. Selain jPDL juga disediakan ekstensi untuk dukungan eksekusi
proses dalam bahasa BPEL. Namun pengembangan dukungan untuk bahasa
ini masih dalam tahap beta.
• Aplikasi jBPM Process Designer yang disediakan oleh jBPM dapat
memvisualisasikan proses bisnis, namun terbatas dalam bahasa jPDL. Untuk
eksekusi dengan BPEL, dibutuhkan pembuatan kode BPEL secara manual.
3. Open ESB (Enterprise Service Bus)
• Pada teknologi Java Enterprise Edition (JEE), terdapat sebuah standar yang
digunakan untuk integrasi aplikasi, yaitu Java Business Integration (JBI).
Standard ini digunakan untuk mengintegrasikan berbagai jenis aplikasi yang
berada dalam platform yang berbeda.
• Teknologi JBI digunakan untuk menerapkan orkestrasi web service.
Terdapat lima komponen JBI utama untuk lapisan ini, yaitu :
1. Process Modeler, berfungsi untuk melakukan perancangan terhadap
proses bisnis yang akan dijalankan oleh perangkat lunak, dalam
lingkungan JBI. Komponen ini akan menerima masukan berupa proses
bisnis yang dituliskan dalam Business Process Modeling Notation
(BPMN) dan mengubahnya menjadi bahasa BPEL, yang menjadi
keluaran. Hasil keluaran ini nantinya akan digunakan oleh komponen
process engine.
2. Process Monitoring, komponen ini berfungsi untuk memantau pekerjaan
yang dilakukan oleh process engine. Dari komponen ini dapat dilihat proses
bisnis apa saja yang bekerja, gagal, waktu eksekusi proses, dan fitur-fitur
lainnya sesuai dengan kebutuhan sistem. Komponen ini akan diimplementasi
menggunakan Java Management Extensions (JMX).
3. Process Engine, komponen ini berfungsi melakukan eksekusi dari proses
bisnis sesuai dengan keluaran dari process modeler.
4. JBI Normalized Message Router, komponen ini berfungsi sebagai jalur
untuk mengalirkan message dari satu komponen maupun service ke lainnya.
5. HTTP/SOAP Binding Component. Untuk menyambung setiap layanan
dengan lingkungan JBI ini, maka digunakan binding component.
Dikarenakan pada SOA telah disepakati untuk menggunakan SOAP sebagai
format pesan, maka untuk memungkinkan seluruh service terintegrasi
digunakan HTTP/SOAP Binding Component
BISNIS PROSES MODELING NOTATION
(BPMN)
Pengertian
Business Process Modeling Notation (BPMN) adalah notasi
grafis yang menggambarkan logika dari langkah-langkah dalam
proses bisnis
BPMN adalah standar untuk memodelkan proses bisnis dan proses-
proses web services
BPMN adalah standar proses pemodelan diterima secara
internasional
Diusulkan oleh BPMI – Business Process Management Initiative
pada tahun 2004. Url nya http://www.bpmi.org
BPMN terdiri atas sebuah diagram, yaitu Business Process
Diagram (BPD). Tujuan dari pembuatan diagram ini adalah agar
proses bisnis dapat mudah dimengerti dan dapat memodelkan
proses bisnis yang sulit.
Business Process Modeling Diagram
1. Flowchart
2. Use Case Diagram
3. Activity Diagram
4. Business Process Modeling Notation (BPMN)
Start
Memasukkan PIN
[ti dak]
[ya]
[ti dak]
[ya]
Jeni s T ransaksi ?
[ti dak]
Mulai
Menampilkan Error: Selesai
Kartu Tidak Valid
Memasukkan Kartu
[tidak]
Kartu Valid?
Memasukkan PIN
[tidak] Lebih dari 3x?
PIN Valid?
[ya]
[tidak]
Menampilkan Error:
Memilih Menu Transaksi Menampilkan Menu Utama Kartu Diblokir
Transaksi Apa?
[tidak]
[ya]
Business Use Case Diagram
Business Actor
User atau sistem yang berinteraksi dengan bisnis.
Merepresentasikan peran pihak eksternal bisnis.
Contoh :
Customer
Employee
Supplier
dll.
Use Case ID
Use Case Title
Use Case Description
Use Case Pre-Condition
Business Actor
Use Case Post-Condition
Notasi
Include & Extend
Include
sebuah use case (Use Case B) lain akan dijalankan
secara otomatis jika suatu use case (Use Case A)
dijalankan.
Extend
sebuah use case (Use Case B) lain belum tentu
dijalankan (bersifat opsional) jika suatu use case (Use
Case A) dijalankan.
Contoh Include
Contoh Extends
Use Case Diagram of ATM System
uc Use Case Model
Sistem ATM
Melihat Saldo
«extend»
Melakukan Transaksi
«extend»
Mengirim Uang
Pengguna
«extend»
Mengambil Uang
Melakukan Logout
Keuntungan BPMN
BPMN memiliki beberapa keunggulan dibandingkan dengan
memodelkan proses bisnis dengan Unified Modeling Language
(UML).
Indicates a delay within the Process. This type of Event can be used
Timer Event within the sequential flow indicating a waiting time between
activities.
The Event indicates an escalation through the Process.
Escalation Event
Enables the handling of compensations. When used within the
Compensation
sequential flow of a Process they indicate that compensation is
Event
necessary.
Conditional
This Event is triggered when a condition becomes true
Event
ELEMENT DESCRIPTION NOTATION
This Event is used to connect two sections of the Process. Link Events
can be used to create looping situations or to avoid long Sequence
Flow lines. If there are two link events on a process (one catch and
one throw) the Modeler will understand they are linked together. If
Link Event
there is one catch and two throw, the Modeler will understand both
throws are received by the catch. If there are several catch and throw
events the name of the 'pairs' must match for the Modeler to
understand which throw belongs to which catch.
These Events are used to send or receive signals within or across the
Process. A signal is similar to a signal flare that is shot into the sky for
anyone who might be interested to notice and then react. If the Event
Signal Event
is used to catch the signal, the signal Event marker will be filled.
Alternatively, the unfilled Event marker is allocated to the throw
message.
This means that there are multiple triggers assigned to the Event.
Multiple
When used to catch the trigger, only one of the assigned triggers is
Event
required and the Event marker will be unfilled.
Parallel This means that there are multiple triggers assigned to the Event.
multiple Unlike the normal Multiple Intermediate Event, ALL of the assigned
Event triggers are required for the Event to be triggered.
Intermediate Events Attached to an Activity Boundary
ELEMENT DESCRIPTION NOTATION
If a message Event is attached to the boundary of an activity, it will change the normal
flow into an exception flow when a message is received.
If the Event interrupts the activity to which it is attached, the boundary of the Event is
Message Event
solid, if not it is dashed.
If a Timer Event is attached to the boundary of an activity, it will change the normal
flow into an exception flow when a cycle time is completed or a specific time-date is
reached.
Timer Event
If the Event interrupts the Activity to which it is attached, the boundary of the Event is
solid, if not it is dashed.
A catch Intermediate Error Event can only be attached to the boundary of an Activity. It
reacts to (catches) a named Error, or to any Error if a name is not specified. An Error
Error Event Event always interrupts the Activity to which it is attached, i.e., there is not a non-
interrupting version of this Event. Thus the boundary of the Event is always solid.
This Event is used within a Transaction Sub-Process and must be attached to the
Cancel Event boundary of one. It shall be triggered if a Cancel End Event is reached within the
Transaction Sub-Process. It also shall be triggered if a Transaction Protocol Cancel
Message has been received while the transaction is being performed. A Cancel Event
always interrupts the Activity to which it is attached, i.e., there is not a non-interrupting
version of this Event. Thus the boundary of the Event is always solid.
When attached to the boundary of an Activity, this Event is used to catch
the Compensation Event. When it occurs, the compensation activity will be
Compensation performed. Interrupting a non-interrupting aspect of other Events does not
Event apply in the case of a Compensation Event, thus the boundary of the Event
is always solid.
If a Conditional Event is attached to the boundary of an Activity, it will
change the normal flow into an exception flow when a business condition is
fulfilled.
Conditional Event
If the Event interrupts the Activity to which it is attached, the boundary of
the Event is solid, if not it is dashed.
If a Signal Event is attached to the boundary of an Activity, it will change
the normal flow into an exception flow when a signal is received.
Signal Event If the Event interrupts the Activity to which it is attached, the boundary of
the Event is solid, if not it is dashed.
Ex : Travel Agency
An event of termination of
cancellation is launched
when an error occurs in the
hotel or flight reservation,
which leads to the execution
of the compensation
activities: Flight Cancellation
and Hotel Cancellation
Timer Intermediate Event
This shape represents a delay (period of time) within the process
The time can be defined at design time or as part of the process
data (Date or length in any unit of time)
The duration is a Basic Property of the event. It is constant
Ex : Loan Request
The following diagram of a
loan request is timed using
the Timer Intermediate Event
representing a simple wait in
the process (5 days) after the
activity to inform the client of
the result of the request. This
type of timer use is known as
a delay or wait in the process.
Timer Intermediate Event associated with an activity indicates that if the
activity to INFORM THE CLIENT OF THE RESULT has not been
completed at a certain time, the activity following the Timer Intermediate
Event should be carried out; automatic notification to the client and close
process. Notify the client via email
This case shows a “Wait” period of three days. In the
Intermediate Event that the Document Delivery does not occur
before the Wait time (3 day), the client should be contacted
Message Intermediate Event
This shape has a throw and a catch option, which is to send a
Message or receive a Message
When used to throw the message, the shape is filled. When used
to catch the message, the shape is unfilled
If a process is waiting for the message, it will be paused until the
message arrives or it will change the flow for exception handling.
In order to use a throw Message, there has to be a catch Message
Event that catches the message. It can be a Message Intermediate
Event or a Message Start
The shape in the process that throws the message should be
configured to identify the target Process and the target Element.
The catch and throw messages must have the exact same name
and they must be in different Processes
The Credit Request process throws a message to start a Sales
process as soon as an offer is viable. In the Process Modeler
configure the throw and the catch message so they have the exact
same name
Link Intermediate Event
Terminate End Ends the Process and all its activities immediately.
End Event