Disusun oleh :
- Alif Raditya Rochman [email protected]
- Fathan Adi Pranaya [email protected]
- Sonny Lazuardi Hermawan [email protected]
- Muhammad Harits S.A.H.E [email protected]
WSO2 BAM merupakan framework yang dapat digunakan untuk agregasi, analisis, dan visualisasi dari informasi mengenai aktivitas pada suatu organisasi termasuk di dalamnya customer dan partner secara real-time
Berikut ini adalah arsitektur pada framework WSO2 BAM.
Pada komponen Data Agents dapat berkolaborasi dengan framework WSO2 lainnya seperti CEP atau ESB. Data yang digunakan pada BAM dapat diperoleh melalui :
- Service monitoring feature - WSO2 AS, DSS, ESB, API Manager
- Mediation monitoring feature - BAM Mediator for WSO2 ESB
- Custom data agents
Komponen ini menggunakan apache thrift untuk menghasilkan performansi yang maksimal dalam hal message throughput karena bersifat asynchronous dan non-blocking.
Pada kesempatan kali ini, kami akan mencoba melakukan eksplorasi WSO2 BAM dengan membuat activity monitoring pada data dari BAM Mediator.
Pertama, unduh WSO2 BAM versi 2.3.0 [di sini] (http://wso2.com/products/business-activity-monitor/) Setelah selesai, ekstrak WSO2 BAM ke dalam suatu folder dan jalankan server WSO2 BAM dengan menjalankan perintah di bawah ini.
$ unzip wso2bam-2.3.0.zip
$ cd wso2bam-2.3.0/bin
$ ./wso2server.sh
Catatan:
- Kode di atas dijalankan melalui terminal pada linux. Untuk windows, harap disesuaikan
- Setelah server berhasil dihidupkan, biasanya terminal akan memberikan informasi alamat dan port untuk mengakses halaman antarmuka WSO2 BAM. Pada kali ini saya mendapatkan alamat dan port : https://192.168.19.100:9443
- Setelah berhasil masuk ke halaman antarmuka, login menggunakan username : admin dan password : admin
Setelah melakukan set-up server WSO2 BAM, buka terminal baru, dan jalankan Activity Monitoring sample yang berada pada folder samples pada folder home WSO2 BAM.
$ cd <BAM_HOME>
$ cd samples/activity-monitoring
$ ant
Tunggu sampai message "100 events are published and BUILD SUCCESSFUL" ditampilkan pada terminal. Proses ini merupakan proses publish events dari ESB ke database cassandra pada BAM.
Setelah selesai, events yang telah berhasil dipublish ke database cassandra dapat dilihat di halaman antarmuka BAM pada menu tools->Cassandra Explorer->Explore Cluster.
Kemudian klik org_wso2_bam_activity_monitoring pada EVENT_KS keyspace. Dan klik **view more ** untuk melihat konten dari tiap event. Berikut adalah tampilannya.
Setelah data tersedia, selanjutnya yang akan dilakukan adalag melakukan agregasi data atau bisa dikatakan summarization data. Langkah pertama yang harus dilakukan adalah menambahkan HIVE script pada BAM dengan langkah-langkah berikut.
- Buka management console lalu buka Analytics-> Add dari main menu. Kemudian Script Editor window akan ditampilkan.
-
Setelah itu, tambahkan kode berikut pada field script editor.
-
Jalankan script tersebut dan atur scheduling untuk menjalankan script tersebut secara otomatis pada rentang waktu yang ditentukan.
Langkah berikutnya adalah menvisualisasikan data yang sudah di-summarization pada langkah sebelumnya. Dibawah ini akan dijelaskan bagaimana men-generate gadget. Untuk contoh visualisasi data kali ini, kami akan menggunakan bar chart. Berikut adalah langkah-langkahnya.
-
Masuk ke management console klik Tools->Gadget Gen Tool isikan informasi berikut pada field yang tersedia. Lalu klik next.
-
Masukkan query agregasi pada field SQL statement. Kemudian klik next.
-
Pilih bar graph untuk UI element. Dan atur konfigurasi seperti pada gambar di bawah ini. Kemudian klik next.
-
Masukkan judul, nama file untuk gadget. Dan atur refresh rate untuk menampilkan update secara realtime. Jika sudah, klik generate
-
Maka BAM akan menampilkan gadget yang telah dibuat seperti pada gambar di bawah ini.
Setiap bisnis memiliki jenis sistem yang berbeda untuk mengatur operasi. WSO2 BRS memungkinan kita untuk menulis, me-mantain dan mengekspos business rule sebagai service.
Rule Server pada WSO2 termasuk business services.
Dalam pengambilan SKS, kita perlu mempertimbangkan sks yang sudah diambil dan ipk dari mahasiswa. Service ini digunakan untuk menentukan apakah mahasiswa tersebut boleh mengambil kuliah.
|__ rule
|__ greeting.service
|__ build
|__ facts\src\main\java\samples\greeting
|__ AmbilKuliah.java
|__ User.java
|__ service
|__ META-INF
|__ service.rsl
|__ build.xml
- Unduh WSO2 Business Rules Server disini
- Copy folder rule ke wso2brs/samples/greeting.service
- Jalankan executable pada folder bin/wso2server.bat
- buka alamat yang tertera pada console melalui browser
- login (default user : admin, password : admin)
- Pilih menu services > List lalu akan muncul GreetingService
- Pilih menu Try this service
Pada folder facts di greeting.service terdapat dua file java yaitu User.java
dan AmbilKuliah.java
. User.java
digunakan untuk membuat kelas User dalam kasus ini adalah Mahasiswa beserta atribut-atribut yang bisa diakses. Lalu AmbilKuliah hanya merupakan Message output dari rule kita.
Selanjutnya untuk menentukan rule kita bisa mengedit file service.rsl pada folder service
Pada rule di atas ada tiga state output dari rule yaitu Boleh
, Bersyarat
, dan Tidak Boleh
mengambil mata kuliah.
File ini sebenearnya berformat xml namun dengan ruleset yang bisa mengakses atribut dari kelas interface java User.java
yang sudah kita buat.
Salah satu contoh kasus yang kita coba adalah memberikan input sebagai berikut :
SKS : 25
IP : 3.25
name : sahe
nim : 13511046
output yang dihasilkan adalah
sahe mengambil kuliah dengan status bersyarat
https://docs.wso2.com/display/BAM250/Service+Statistics+Toolbox https://docs.wso2.com/display/BRS210/Greeting+Service