Skip to content

if-itb/IF4050-Liferay-Tugas2-WSO2-Rule-Engine-BAM

Repository files navigation

##=======WSO2 Exploration======= Rule Engine & Business Activity Monitoring

Disusun oleh :


Business Activity Monitor (BAM)

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

Arsitektur

Berikut ini adalah arsitektur pada framework WSO2 BAM.

Arsitektur 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.

Eksplorasi

Pada kesempatan kali ini, kami akan mencoba melakukan eksplorasi WSO2 BAM dengan membuat activity monitoring pada data dari BAM Mediator.

Setup Server

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

Siapkan Data

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.

tampilan detail event

Agregasi Data

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.

tampilan script editor

  • Setelah itu, tambahkan kode berikut pada field script editor. query

  • Jalankan script tersebut dan atur scheduling untuk menjalankan script tersebut secara otomatis pada rentang waktu yang ditentukan.

  • Berikut adalah contoh eksekusi query melalui H2 client hasil query

Visualisasi Data

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.

  1. Masuk ke management console klik Tools->Gadget Gen Tool isikan informasi berikut pada field yang tersedia. Lalu klik next. gadget gen tool

  2. Masukkan query agregasi pada field SQL statement. Kemudian klik next. query agregasi

  3. Pilih bar graph untuk UI element. Dan atur konfigurasi seperti pada gambar di bawah ini. Kemudian klik next. pilihan chart

  4. Masukkan judul, nama file untuk gadget. Dan atur refresh rate untuk menampilkan update secara realtime. Jika sudah, klik generate judul

  5. Maka BAM akan menampilkan gadget yang telah dibuat seperti pada gambar di bawah ini. hasil akhir


Rule Engine

Rule Server

Setiap bisnis memiliki jenis sistem yang berbeda untuk mengatur operasi. WSO2 BRS memungkinan kita untuk menulis, me-mantain dan mengekspos business rule sebagai service.

Architecture

archi

Rule Server pada WSO2 termasuk business services.

Kuliah Service Example

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.

Struktur Kode

    |__ rule
      |__ greeting.service
      |__ build
      |__ facts\src\main\java\samples\greeting
        |__ AmbilKuliah.java
        |__ User.java
      |__ service
        |__ META-INF
          |__ service.rsl
      |__ build.xml

Installation

  1. Unduh WSO2 Business Rules Server disini
  2. Copy folder rule ke wso2brs/samples/greeting.service
  3. Jalankan executable pada folder bin/wso2server.bat
  4. buka alamat yang tertera pada console melalui browser

alamat

  1. login (default user : admin, password : admin)
  2. Pilih menu services > List lalu akan muncul GreetingService
  3. Pilih menu Try this service

menu

Rule 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.

source

Selanjutnya untuk menentukan rule kita bisa mengedit file service.rsl pada folder service

enter image description here

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.

Pengujian

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 

Kuliah Service Test

Links

https://docs.wso2.com/display/BAM250/Service+Statistics+Toolbox https://docs.wso2.com/display/BRS210/Greeting+Service

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published