Panduan untuk jBPM dengan Java

1. Perkenalan

Dalam tutorial ini, kita akan membahas Sistem Manajemen Proses Bisnis (BPM) dan implementasinya di Jawa sebagai Sistem jBPM.

2. Sistem Manajemen Proses Bisnis

Kita dapat mendefinisikan Manajemen Proses Bisnis sebagai salah satu bidang yang cakupannya melampaui pengembangan ke semua aspek perusahaan.

BPM memberikan visibilitas terhadap proses fungsional perusahaan. Hal ini memungkinkan kami untuk menemukan aliran yang optimal, yang digambarkan oleh diagram alir, dengan menggunakan perbaikan berulang. Arus yang lebih baik meningkatkan keuntungan dan mengurangi biaya.

BPM menetapkan tujuan, siklus hidup, praktik, dan bahasa yang sama di antara semua partisipannya sendiri, yaitu proses bisnis.

3. Sistem jBPM

jBPM adalah implementasi dari Sistem BPM di Jawa. Ini memungkinkan kami untuk membuat aliran proses bisnis, menjalankannya, dan memantau siklus hidupnya. Inti dari jBPM adalah mesin alur kerja, yang ditulis di Java, yang memberi kita alat untuk membuat dan menjalankan aliran proses menggunakan spesifikasi Notasi Pemodelan Proses Bisnis (BPMN) 2.0 terbaru.

jBPM berfokus terutama pada proses bisnis yang dapat dieksekusi. Proses ini memiliki detail yang cukup sehingga dapat dieksekusi di mesin alur kerja.

Berikut adalah contoh diagram alur grafis dari urutan eksekusi model proses BPMN kami untuk membantu pemahaman kami:

  1. Kami mulai menjalankan aliran menggunakan konteks awal, dilambangkan dengan node mulai berwarna hijau
  2. Pertama, Tugas 1 akan dijalankan
  3. Setelah menyelesaikan Tugas 1, kami akan melanjutkan ke Tugas 2
  4. Eksekusi berhenti setelah menemukan simpul ujung merah

4. Plugin IDE untuk Proyek jBPM

Mari kita lihat cara menginstal plugin untuk membuat proyek jBPM dan proses BPMN 2.0 di Eclipse dan IntelliJ IDEA.

4.1. Plugin Eclipse

Kita perlu memasang plugin untuk membuat proyek jBPM. Yuk ikuti langkah-langkah di bawah ini:

  1. Di bagian Bantuan , klik Instal Perangkat Lunak Baru
  2. Tambahkan situs pembaruan Drools dan jBPM
  3. Terima persyaratan perjanjian lisensi dan selesaikan penginstalan plugin
  4. Mulai ulang Eclipse

Setelah Eclipse dimulai ulang, kita harus pergi ke Windows -> Preferensi -> Drools -> Drools Flow Nodes :

Setelah memilih semua opsi, kita dapat mengklik "Terapkan dan Tutup". Sekarang, kami siap untuk membuat Proyek jBPM pertama kami .

4.2. Plugin IntelliJ IDEA

IntelliJ IDEA memiliki plugin jBPM yang diinstal secara default, tetapi itu hanya ada di Ultimate dan bukan opsi Komunitas.

Kita hanya perlu mengaktifkannya dengan mengklik Configure -> Settings -> Plugins -> Installed -> JBoss jBPM :

Saat ini, tidak ada perancang proses BPMN 2.0 untuk IDE ini, meskipun kami dapat mengimpor file * .bpmn dari perancang lain dan menjalankannya.

5. Contoh Hello World

Mari kita mengotori tangan kita dalam membuat proyek Hello World sederhana.

5.1. Buat Proyek jBPM

Untuk membuat proyek jBPM baru di Eclipse, kita akan pergi ke File -> New -> Other -> jBPM Project (Maven) . Setelah memberikan nama proyek kami, kami dapat mencapai penyelesaian. Eclipse akan melakukan semua kerja keras untuk kami dan akan mengunduh dependensi Maven yang diperlukan untuk membuat contoh proyek jBPM untuk kami.

Untuk membuat yang sama di IntelliJ IDEA, kita bisa pergi ke File -> New -> Project -> JBoss Drools . IDE akan mengunduh semua dependensi yang diperlukan dan menempatkannya di folder lib proyek.

5.2. Buat Model Proses Hello World

Mari buat model proses BPM kecil yang mencetak "Hello World" di konsol.

Untuk ini, kita perlu membuat file BPMN baru di bawah src / main / resources :

Ekstensi file adalah .bpmn dan terbuka di desainer BPMN:

Panel kiri perancang mencantumkan node yang kami pilih sebelumnya saat menyiapkan plugin Eclipse. Kami akan menggunakan node ini untuk membuat model proses kami. Panel tengah adalah ruang kerja, tempat kita akan membuat model proses. Sisi kanan adalah tab properti, di mana kita dapat mengatur properti dari suatu proses atau node.

Dalam model HelloWorld ini , kami akan menggunakan:

  • Mulai Acara - diperlukan untuk memulai proses contoh
  • Tugas Skrip - mengaktifkan cuplikan Java
  • End Event - diperlukan untuk mengakhiri instance proses

Seperti yang disebutkan sebelumnya, IntelliJ IDEA tidak memiliki desainer BPMN, tetapi kami dapat mengimpor file .bpmn yang dirancang di Eclipse atau desainer web.

5.3. Deklarasikan dan Buat Basis Pengetahuan ( kbase )

Semua file BPMN dimuat di kbase sebagai proses. Kita perlu meneruskan id proses masing-masing ke mesin jBPM untuk menjalankannya.

Kami akan membuat kmodule.xml di bawah resources / META-INF dengan deklarasi paket file kbase dan BPMN kami :

Setelah deklarasi selesai, kita dapat menggunakan KieContainer untuk memuat kbase :

KieServices kService = KieServices.Factory.get(); KieContainer kContainer = kService.getKieClasspathContainer(); KieBase kbase = kContainer.getKieBase(kbaseId);

5.4. Buat jBPM Runtime Manager

Kami akan menggunakan JBPMHelper yang ada di paket org.jbpm.test untuk membuat contoh lingkungan runtime.

Kami memerlukan dua hal untuk membuat lingkungan: pertama, sumber data untuk membuat EntityManagerFactory , dan kedua, kbase kami .

JBPMHelper memiliki metode untuk memulai server H2 dalam memori dan mengatur sumber data. Menggunakan hal yang sama, kita dapat membuat EntityManagerFactory :

JBPMHelper.startH2Server(); JBPMHelper.setupDataSource(); EntityManagerFactory emf = Persistence.createEntityManagerFactory(persistenceUnit);

Setelah kita menyiapkan semuanya, kita dapat membuat RuntimeEnvironment :

RuntimeEnvironmentBuilder runtimeEnvironmentBuilder = RuntimeEnvironmentBuilder.Factory.get().newDefaultBuilder(); RuntimeEnvironment runtimeEnvironment = runtimeEnvironmentBuilder. entityManagerFactory(emf).knowledgeBase(kbase).get();

Menggunakan RuntimeEnvironment , kita dapat membuat manajer runtime jBPM kita:

RuntimeManager runtimeManager = RuntimeManagerFactory.Factory.get() .newSingletonRuntimeManager(runtimeEnvironment);

5.5. Jalankan Instance Proses

Terakhir, kita akan menggunakan RuntimeManager untuk mendapatkan RuntimeEngine :

RuntimeEngine engine = manager.getRuntimeEngine(initialContext);

Dengan menggunakan RuntimeEngine, kami akan membuat sesi pengetahuan dan memulai proses:

KieSession ksession = engine.getKieSession(); ksession.startProcess(processId);

Prosesnya akan dimulai dan mencetak Hello World di konsol IDE.

6. Kesimpulan

Pada artikel ini, kami memperkenalkan Sistem BPM, menggunakan implementasi Java-nya - jBPM.

Ini adalah panduan cepat untuk memulai proyek jBPM. Contoh yang ditunjukkan di sini menggunakan proses minimal untuk memberikan pemahaman singkat tentang menjalankan suatu proses dan dapat ditemukan di GitHub.

Untuk menjalankan prosesnya, kita hanya perlu menjalankan metode utama di kelas WorkflowProcessMain .