Panduan untuk jBPM dengan Java

1. Pengenalan

Dalam tutorial ini, kita akan membincangkan Sistem Pengurusan Proses Perniagaan (BPM) dan pelaksanaannya di Java sebagai Sistem jBPM.

2. Sistem Pengurusan Proses Perniagaan

Kita boleh mendefinisikan Pengurusan Proses Perniagaan sebagai salah satu bidang yang skopnya melangkaui pengembangan ke semua aspek syarikat.

BPM memberikan keterlihatan terhadap proses fungsional syarikat. Ini membolehkan kita mencari aliran yang optimum, yang digambarkan oleh carta alir, dengan menggunakan peningkatan berulang. Aliran yang ditingkatkan meningkatkan keuntungan dan mengurangkan kos.

BPM menentukan objektifnya sendiri, kitaran hidup, amalan, dan bahasa yang sama antara semua pesertanya, iaitu proses perniagaan.

3. Sistem jBPM

jBPM adalah pelaksanaan Sistem BPM di Java. Ini membolehkan kita membuat aliran proses perniagaan, melaksanakannya, dan memantau siklus hidupnya. Inti dari jBPM adalah mesin aliran kerja, ditulis dalam Java, yang menyediakan kami alat untuk membuat dan melaksanakan aliran proses menggunakan spesifikasi Business Process Modeling Notation (BPMN) 2.0 terbaru.

jBPM memberi tumpuan terutamanya pada proses perniagaan yang boleh dilaksanakan. Proses-proses ini mempunyai perincian yang cukup sehingga dapat dijalankan pada mesin aliran kerja.

Berikut adalah contoh carta alir grafik perintah pelaksanaan model proses BPMN kami untuk membantu pemahaman kami:

  1. Kami mula melaksanakan aliran menggunakan konteks awal, dilambangkan dengan simpul permulaan hijau
  2. Pertama, Tugasan 1 akan dilaksanakan
  3. Setelah menyelesaikan Tugas 1, kami akan meneruskan Tugasan 2
  4. Pelaksanaannya berhenti setelah menemui simpul hujung merah

4. IDE Plugin untuk Projek jBPM

Mari lihat bagaimana memasang pemalam untuk membuat projek jBPM dan proses BPMN 2.0 di Eclipse dan IntelliJ IDEA.

4.1. Pemalam Eclipse

Kita perlu memasang pemalam untuk membuat projek jBPM. Mari ikuti langkah-langkah di bawah:

  1. Di bahagian Bantuan , klik pada Pasang Perisian Baru
  2. Tambahkan laman kemas kini Drools dan jBPM
  3. Terima syarat perjanjian lesen dan selesaikan pemasangan pemalam
  4. Mulakan semula Gerhana

Setelah Eclipse dimulakan semula, kita perlu pergi ke Windows -> Preferences -> Drools -> Nroow Flow Drools :

Setelah memilih semua pilihan, kita dapat mengklik "Terapkan dan Tutup". Sekarang, kami bersedia untuk membuat Projek jBPM pertama kami .

4.2. Pemalam IntelliJ IDEA

IntelliJ IDEA telah memasang plugin jBPM secara lalai, tetapi hanya terdapat dalam pilihan Ultimate dan bukan Komuniti.

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

Pada masa ini, tidak ada perancang proses BPMN 2.0 untuk IDE ini, walaupun kami dapat mengimport fail * .bpmn dari pereka lain dan menjalankannya.

5. Hello World Contoh

Mari kita kotor tangan kita dalam membuat projek Hello World yang sederhana.

5.1. Buat Projek jBPM

Untuk membuat projek jBPM baru di Eclipse, kita akan pergi ke Fail -> Baru -> Lain -> Projek jBPM (Maven) . Setelah memberikan nama projek kita, kita boleh mencapai selesai. Eclipse akan melakukan semua kerja keras untuk kami dan akan memuat turun kebergantungan Maven yang diperlukan untuk membuat contoh projek jBPM untuk kami.

Untuk membuat yang sama di IntelliJ IDEA, kita boleh pergi ke Fail -> Baru -> Projek -> JBoss Drools . IDE akan memuat turun semua kebergantungan yang diperlukan dan meletakkannya di folder lib projek.

5.2. Buat Model Proses Hello World

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

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

Sambungan fail adalah .bpmn dan dibuka dalam pereka BPMN:

Panel kiri pereka menyenaraikan nod yang kami pilih sebelumnya semasa menyiapkan pemalam Eclipse. Kami akan menggunakan nod ini untuk membuat model proses kami. Panel tengah adalah ruang kerja, di mana kita akan membuat model proses. Bahagian kanan adalah tab sifat, di mana kita dapat menetapkan sifat proses atau nod.

Dalam model HelloWorld ini , kami akan menggunakan:

  • Mula Acara - diperlukan untuk memulakan contoh proses
  • Tugas Skrip - membolehkan coretan Java
  • Acara Akhir - diperlukan untuk menamatkan contoh proses

Seperti disebutkan sebelumnya, IntelliJ IDEA tidak memiliki pereka BPMN, tetapi kami dapat mengimport fail .bpmn yang dirancang dalam Eclipse atau pereka web.

5.3. Menyatakan dan Membuat Pangkalan Pengetahuan ( kbase )

Semua fail BPMN dimuat dalam kbase sebagai proses. Kita perlu menyampaikan id proses masing-masing ke mesin jBPM untuk melaksanakannya.

Kami akan membuat kmodule.xml di bawah sumber / META-INF dengan perisytiharan pakej fail kbase dan BPMN kami :

Setelah pengisytiharan selesai, kita dapat menggunakan KieContainer untuk memuatkan kbase :

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

5.4. Buat Pengurus Runtime jBPM

Kami akan menggunakan JBPMHelper yang ada dalam pakej ujian org.jbpm.test untuk membina contoh persekitaran waktu operasi .

Kami memerlukan dua perkara untuk mewujudkan persekitaran: pertama, sumber data untuk membuat EntityManagerFactory , dan kedua, kbase kami .

JBPMHelper mempunyai kaedah untuk memulakan pelayan H2 dalam memori dan menetapkan sumber data. Dengan menggunakan perkara yang sama, kita dapat membuat EntityManagerFactory :

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

Setelah kami menyiapkan semuanya, kami dapat membuat RuntimeEnvironment kami :

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

Dengan menggunakan RuntimeEnvironment , kami dapat membuat pengurus runtime jBPM kami:

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

5.5. Jalankan Instance Proses

Akhirnya, kami akan menggunakan RuntimeManager untuk mendapatkan RuntimeEngine :

RuntimeEngine engine = manager.getRuntimeEngine(initialContext);

Dengan menggunakan RuntimeEngine, kami akan membuat sesi pengetahuan dan memulakan prosesnya:

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

Prosesnya akan bermula dan mencetak Hello World pada konsol IDE.

6. Kesimpulannya

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

Ini adalah panduan ringkas untuk memulakan projek jBPM. Contoh yang ditunjukkan di sini menggunakan proses minimum untuk memberi pemahaman ringkas mengenai proses dan boleh didapati di GitHub.

Untuk melaksanakan proses tersebut, kita hanya perlu menjalankan kaedah utama di kelas WorkflowProcessMain .