JBoss Business Process Management JBPM Process Definition Language

Alfresco menggunakan model security membership yang didasarkan pada pengesahan siapa yang dapat akses dan otorisasi apa yang mereka dapat lakukan. Alfresco menyediakan kemampuan untuk mengatur grup dan bagian jenis dari pengguna, atribut pengguna, dan folder pengguna. Itu juga menyediakan alat administratif untuk mengatur dan mengontrol keahlian membership Syarif, 2009 : 86. Tabel 2.1. Akses Level Alfresco Syarif, 2009 : 100 Type role Read Add Edit Delete Consumer     Editor     Contributor     Collaborator     Coordinator     Dengan adanya fitur document management, penulis menggunakan alfresco sebagai software dasar, untuk membuat, mengelola, dan mengalirkan dokumen.

2.6. JBoss Business Process Management

JBoss Business Process Management JBPM adalah sebuah BPMS yang dikembangkan oleh JBoss. Aplikasi ini terdiri atas aplikasi yang mengeksekusi proses JBPM Process Engine, dan sebuah aplikasi berbasis Eclipse untuk mendesain proses JBPM Process Designer Salatino, 2009 : 22. 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 JBPM Process Definition Language JPDL sebagai bahasa utama. Aplikasi JBPM Graphical Process Designer yang disediakan oleh JBPM dapat memvisualisasikan proses bisnis, dalam bahasa JPDL Cumberlidge, 2007 : 54. JBPM dibangun dengan konsep dari penantian. Hal ini mungkin terdengar asing dalam perangkat lunak, tetapi dalam hal ini merupakan sebuah alasan yang sangat baik untuk penantian. Mempersingkat proses bisnis kehidupan nyata dalam suatu organisasi, melibatkan banyak manusia dan berbagai sistem, serta berlangsung dalam sebuah periode. Cumberlidge, 2007 : 73. Perangkat lunak memerlukan beberapa cara penantian, hingga aktor dari proses siap untuk lakukan aktivitasnya. Kemudian ketika aktor telah melakukan aktivitasnya, perangkat lunak perlu mengetahui apa aktivitas berikutnya pada rangkaian proses yang menunggu untuk dikerjakan oleh aktor selanjutnya Cumberlidge, 2007 : 73. Gambar 2.2. Alfresco Workflow Administration http:wiki.alfresco.comwikiWorkflowAdministration, 2 Maret 2010, pk 23:41WIB Penyelarasan urutan dari masa penantian, pekerjaan, masa penantian, pekerjaan ditangani oleh mesin JBoss BPM. Mesin JBPM mencari keterangan process definition dan menyelesaikan cara, yang mana harus mengarahkan melalui proses Cumberlidge, 2007 : 73.

2.7. JBPM Process Definition Language

Proses visual memetakan apa yang ada pada process designer dari JBoss JBPM menggunakan Graph Oriented Programming. Dengan menggunakan process designer, pemprogram perangkat lunak tidak lagi menggunakan kode, tetapi mempergunakan satu proses pemetaan visual, yang dikenal sebagai suatu directed graph. Graf terarah ini didefinisikan pada penyajian XML dari proses. Graf yang ditambah dengan XML adalah satu setelan notasi, yang disebut JPDL yaitu JBPM Process Definition Language Cumberlidge, 2007 : 73. Process definition yang ditetapkan pada JPDL disusun dari nodes, transition, dan action, yang bersama-sama mendeskripsikan bagaimana satu kejadian instance dari proses harus berpindah pada graf terarah. Selama pelaksanaan dari proses, gerakan kejadian melalui graf terarah menetapkan satu tanda token, sebagai penunjuk ke node dari graf dimana kejadian sekarang ini sedang menunggu. Sebuah sinyal menunjuk token menggunakan transition yang harus berasal dari sebuah node. Sinyal menetapkan jalur yang digunakan dalam sebuah proses Cumberlidge, 2007 : 73. Sebuah proses graf tersusun dari beberapa node dan transition. Setiap node memiliki jenis yang berbeda. Jenis-jenis node adalah Cumberlidge, 2007 : 74 : 1. Task node Task node merupakan gambaran dari satu atau lebih pekerjaan yang dilakukan oleh user. Ketika task node dieksekusi, pekerjaan akan diciptakan pada daftar kerja dari workflow participant. Kemudian, node akan berada pada keadaan menunggu. Ketika user telah melakukan pekerjaan tersebut, sebuah trigger diciptakan yang akan meneruskan proses eksekusi. Gambar 2.3. Notasi Task 2. State State node adalah proses yang digunakan untuk menunggu. Node ini berbeda dengan task node karena state tidak menciptakan suatu task untuk user yang ada. State biasanya digunkan untuk menunggu respon inputan dari luar sistem. Gambar 2.4. Notasi State 3. Decision Dalam pemodelan, terdapat dua tipe decision yang berbeda. Pertama decision yang dibutuhkan oleh proses situ sendiri yang didasarkan pada pembagian datanya. Atau juga decision yang dibuat oleh user dengan memberikan inputan dalam sistem. Gambar 2.5. Notasi Decision 4. Fork Fork digunakan untuk memecah sebuah alur eksekusi, menjadi beberapa alur. Gambar 2.6. Notasi Fork 5. Join Join merupakan penggabungan antara beberapa alur parallel dengan parent node yang sama. Join akan menunggu sampai semua alur telah sampai pada join node, baru kemudian akan melanjutkan eksekusi. Gambar 2.7. Notasi Join 6. Node Node ini merupakan node khusus, yang mengijinkan para developer untuk menulis kode sesuai dengan keinginannya. Tetapi juga mempertmbangkan logika dalam kode juga harus sesuai dengan design proses yang telah dibuat. Gambar 2.8. Notasi Node Transition merupakan penghubung dari masing-masing node. Transition mempunyai sebuah node sumber dan node tujuan. Node sumber direpresentasikan dengan properti from dan node tujuan direpresentasikan dengan menggunakan properti to JBPM, 2008 : 92. Gambar 2.9. Notasi Transition Action adalah sebuah potongan kode java yang dieksekusi diluar dari representasi gafis. Ketika graf telah diletakkan pada tempatnya, graf tersebut dapat diambah dengan action. Hal ini menunjukkan bahwa kode java dapat berhubungan dengan graf tanpa merubah struktur dari graf tersebut. Tipe event yang paling penting adalah masuk dalam node, keluar node, dan mengambil transition JBPM, 2008 : 93. Action yang diletakkan pada event akan dieksekusi ketika event dipanggil. Action dalam event tidak mempengaruhi kontrol dari alur proses. Sedangkan action yang diletakkan pada node mempunyai tugas untuk menyebarkan ekskusi JBPM, 2008 : 93. Event menentukan pada saat eksekusi proses. JBPM engine akan menghidupkan event selama graf dieksekusi. Event selalu bergantung pada bagian dari process definition seperti process definition, node atau transition JBPM, 2008 : 94. Script merupakan action dimana secara umum semua variable proses tersedia sebagai script variable. Dengan demikian kita juga dapat mengubah penggunaan variable umum, yang ada pada sebuah node JBPM, 2008 : 94.

2.8. Java