Enterprise Service Bus (ESB) dalam IT berarti adalah sebuah arsitektur software yang menyediakan layanan even-driven untuk aplikasi lain yang berbasiskan message (Bus).
Berikut adalah video yang saya buat untuk menggambarkan ESB
ESB lebih dikenal sebagai layer yang digunakan untuk berkomunikasi antara sistem yang memungkinkan arsitek IT tidak menulis code untuk mendapatkan pesan tersebut.
ESB merupakan bagian dari arsitektur berorientasi service (SOA), ESB menyediakan fitur-fitur yang dapat digunakan oleh aplikasi lain. Sebuah ESB harus dibangun berdasarkan standar dan fleksibel.
Teknologi SOA yang lama lebih banyak berbicara tentang teknikal, sedang SOA baru atau yang dikenal dengan SOA 2 diperkaya arsitektur bisnis. ESB berupaya untuk menghubungkan antara aplikasi dan berfungsi sebagai media transportasi pesan antara aplikasi.
Banyak ahli kurang sependapat dengan apa itu ESB. Ada yang mendefinisikan ESB sebagai sebuah gaya arsitektur, sebuah software atau sekelompok produk software. Penggunaan ESB tentu berarti merupakan kepatuhan/standar untuk menerapkan suatu arsitektur tertentu "Enterprise Service Bus" dan ESB adalah sebuah platform untuk mewujudkan SOA.
ESB menjamin loose couples pada setiap service. ESB membawa konsep yang berhubungan dengan transformasi data dan routing data untuk menjadikannya sebuah SOA.
ESB sebagai sebuah software/aplikasi
Dalam arsitektur yang komplek, ESB merupakan sebuah software yang terletak diantara aplikasi atau yang lebih dikenal dengan adaptor/broker. Broker ini memungkinkan komunikasi antara aplikasi tersebut. ESB secara ideal harus mampu mengganti semua kontak langsung antara software dengan aplikasi pada Bus sehingga komunikasi berlangsung melalui ESB. Untuk mencapai tujuannya, ESB harus merangkum fungsi yang ditawarkan oleh service dalam cara yang dimengerti oleh service lain. Ini biasanya terjadi melalui penggunaan model pesan oleh perusahaan. Model pesan seperti satu set untuk mengirimkan dan menerima.
Ketika ESB menerima pesan, maka rute pesan akan diteruskan ke-aplikasi yang sesuai. Seringkali karena aplikasi berubah-ubah, maka ESB harus diubah juga untuk dapat membaca pesan. Sebuah perangkat lunak "adaptor" atau yang lebih dikenal dengan broker akan memenuhi proses transformasi pesan ini. Tetapi banyak ahli yang tidak setuju dengan apakah adaptor ini merupakan bagian dari ESB atau bukan.
Pada gambar 1 terlihat bahwa setiap aplikasi/service mempunyai bahasa sendiri-sendiri, tetapi disini bisa dijelaskan bahwa setiap aplikasi yang mempunyai bahasa pemrograman yang berbeda dapat saling berkomunikasi dengan adanya Adaptor. SOAP, RNI, REST, dan JNI merupakan adaptor dari aplikasi/service yang telah dibangun sebelumnya.
Gambar 1. ESB sebenarnya adalah sebuah layer |
Pada gambar 1 terlihat bahwa setiap aplikasi/service mempunyai bahasa sendiri-sendiri, tetapi disini bisa dijelaskan bahwa setiap aplikasi yang mempunyai bahasa pemrograman yang berbeda dapat saling berkomunikasi dengan adanya Adaptor. SOAP, RNI, REST, dan JNI merupakan adaptor dari aplikasi/service yang telah dibangun sebelumnya.
Berikut adalah video yang saya buat untuk menggambarkan ESB
Dalam video diketahui bahwa semua aplikasi bersifat loose couples yang setiap aplikasi menyediakan service sendiri-sendiri. Kemudian adaptor/broker menjadikan setiap aplikasi saling terhubung. Dan adaptor saling berkomunikasi untuk mengenali service-service yang ada.
(dari berbagai sumber, terutama Wikipedia)
(dari berbagai sumber, terutama Wikipedia)