-->
6/Tutorial/slider

Tutorial Mule ESB - Content Based Routing

No comments
1. Pendahuluan
1.1. Penjelasan Singkat Mule ESB
Mule ESB adalah ESB (Enterprise Service Bus) berbasis java dan merupakan platform integrasi yang memungkinkan developer untuk menghubungkan aplikasi-aplikasi secara mudah dan cepat serta memungkinkan aplikasi-aplikasi tersebut untuk saling bertukar data. Keuntungan utama dari ESB adalah bahwa ESB memungkinkan aplikasi-aplikasi yang berbeda untuk saling berkomunikasi dengan berperan sebagai transit system untuk membawa data antar aplikasi.

1.2. Content Based Routing 
Pada tutorial ini, akan dibahas mengenai permasalahan routing berdasarkan kontennya (content-based routing). Jadi, content-based routing ini adalah merutekan/mengarahkan message-message berdasarkan kontennya. Konten dari message tersebut menentukan akan dibawa ke mana selanjutnya message tersebut.

2. Tujuan
Pada tutorial ini, tujuan yang akan dicapai adalah:
  1. Membuat aplikasi anypoint studio yang merutekan message-message-nya berdasarkan logika yang dibuat pada Choice Router.
  2. Mengatur dan memanggil flow variables menggunakan Mule Expression Language.
  3. Menjalankan dan menguji aplikasi via browser.
3. Memodelkan Flow dengan Routing Choice 
Pertama-tama, buat project mule dan beri nama misalnya “Tutorial CBR”. Selanjutnya, gunakan building blocks pada Mule Palette untuk memodelkan aplikasi yang :
- Menerima request HTTP
- Mengubah inbound Property menjadi flow variable.
- Me-routing message berdasarkan flow variable yang berasosiasi dengan message
- Mengatur/membuat payload baru berdasarkan logika routing
- Membuat payload tersebut sebagai HTTP Response
- Catat (Log) hasilnya dan tampilkan di console

Building blocks yang dapat digunakan untuk memodelkan aplikasi dengan kriteria di atas adalah sebagai berikut:
- HTTP Connector
- Variable Transformer
- Choice Router
- Set Payload Transformer
- Logger

4. Memodelkan Aplikasi
Untuk membangun / memodelkan aplikasi / alur (flow) aplikasi secara visual, lakukan drag & drop building blocks dari mule palette ke canvas hingga menjadi seperti berikut ini:
Gambar 1

Terdapat 8 elemen dari flow aplikasi yang dibuat. Elemen-elemen yang digunakan adalah:
- HTTP : Terdapat pada bagian Connector pada mule palette
- Variable : Terdapat pada bagian Transformer pada mule palette
- Choice : Terdapat pada bagian Flow Control pada mule palette
- Set Payload : Terdapat pada bagian Transformer pada mule palette
- Logger : Terdapat pada bagian Components pada mule palette

*Tips : Gunakan palette search agar lebih cepat menemukan building block yang akan digunakan

Penjelasan setiap Building Block yang digunakan:
1. HTTP Connector
Mengijinkan aplikasi Mule untuk terhubung ke resource yang ada pada Web melalui protokol HTTP atau HTTPS.

2. Variable Transformer
Merubah flow variable pada message yang bisa dipanggil/digunakan dimanapun di dalam flow. Gunakan variabel transformer untuk merubah atau menghapus variabel pada message. Terdapat 2 jenis variable pada Mule, yaitu :
a. Flow Variable : merupakan instansiasi variabel dimana scopenya terbatas dan hanya bisa di akses pada flow (dan subflow) yang mendefinisikan variabel tersebut.
b. Session Variable : memiliki scope yang lebih besar (global) daripada Flow Variable dan bisa di akses dari flow manapun yang ada dalam aplikasi yang sama.

3. Choice Router
Mengevaluasi message terhadap kriteria tertentu, lalu mengirimkannya ke message processor yang sesuai dengan kriteria.

4. Set Payload Transformer
Merubah isi payload menjadi apapun yang didefiniskan. Payload bisa berupa string atau sebuah Mule Expression.

5. Logger
Mencatat message atau aktivitas dan menampilkan “catatannya” pada console.

Artikel ini masih dalam proses ...
Silahkan download PDF lengkapnya di sini :  Download
author profile image
Abdelghafour

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.

No comments

Post a Comment

An ENTJ Person. A software engineer, experienced in web development, especially in Java. The best graduate of engineering field of Bandung State Polytechnic. Self-motivated and adaptable person. Highly passionate about IT stuff. A fast learner, always curious and loves to learn something new. Has a strong logical and analytical thinking. [Faris Arifiansyah] (https://lh4.googleusercontent.com/9-OcR6PfTb9wECGLmzP0uzrFor9GiXdbMHRt_eXiIh9D_kdopGPGDogIuhWVlCaeBfGONpDMz54MuZHfm98s=w1920-h925)