SOA vs ESB
SOA adalah seperangkat konsep arsitektur yang digunakan untuk pengembangan dan integrasi layanan. Layanan adalah paket fungsionalitas yang dipublikasikan yang ditawarkan melalui web. ESB adalah bagian dari perangkat lunak infrastruktur yang menyediakan konstruksi arsitektur perangkat lunak untuk menyediakan layanan dasar untuk arsitektur yang kompleks. ESB dapat digunakan sebagai platform tempat SOA direalisasikan.
Apa itu SOA?
SOA (Arsitektur Berorientasi Layanan) adalah seperangkat konsep arsitektur yang digunakan untuk pengembangan dan integrasi layanan. SOA berurusan dengan komputasi terdistribusi di mana konsumen mengkonsumsi serangkaian layanan yang dapat dioperasikan. Banyak konsumen dapat mengkonsumsi satu layanan dan sebaliknya. Oleh karena itu, SOA sering digunakan untuk mengintegrasikan beberapa aplikasi yang menggunakan platform yang berbeda. Agar SOA beroperasi dengan benar, layanan harus secara longgar digabungkan dengan sistem operasi dan teknologi aplikasi yang mendasari. Pengembang SOA membuat layanan menggunakan unit fungsionalitas, dan membuatnya tersedia melalui internet. Layanan web dapat digunakan untuk mengimplementasikan arsitektur SOA. Dalam hal ini, layanan web menjadi unit fungsionalitas SOA yang dapat diakses melalui internet. Layanan web dapat digunakan oleh siapa pun tanpa khawatir tentang platform atau bahasa pemrograman yang digunakan untuk mengembangkannya. SOA secara langsung dibangun berdasarkan prinsip orientasi layanan, yang berbicara tentang layanan dengan antarmuka sederhana yang dapat diakses secara mandiri oleh pengguna, tanpa khawatir tentang implementasi platform yang sebenarnya dari layanan tersebut.
Apa itu ESB?
ESB (Enterprise Service Bus) adalah bagian dari perangkat lunak infrastruktur yang menyediakan konstruksi arsitektur perangkat lunak untuk menyediakan layanan dasar untuk arsitektur yang kompleks. Tetapi ada argumen yang cukup besar tentang apakah akan menyebut ESB gaya arsitektur atau produk perangkat lunak atau bahkan sekelompok produk. Ini menyediakan layanan melalui mesin berbasis acara dan standar untuk pengiriman pesan (yang sebenarnya adalah bus layanan). Di atas mesin pesan ini, lapisan abstraksi disediakan untuk memungkinkan arsitek mengeksploitasi fasilitas yang ditawarkan oleh bus, tanpa menulis kode yang sebenarnya. ESB biasanya diimplementasikan melalui infrastruktur middleware berbasis standar.
Penggunaan istilah "bus" di ESB adalah karena fakta bahwa ESB memang memberikan fungsi yang sangat mirip dengan bus komputer fisik, tetapi pada tingkat abstraksi yang jauh lebih tinggi. Salah satu keuntungan utama memiliki ESB adalah kemampuan untuk mengurangi jumlah titik kontak; dengan demikian, membuat adaptasi terhadap perubahan lebih mudah. ESB dapat digunakan sebagai platform tempat SOA direalisasikan. Konsep transformasi/ perutean (terkait aliran) dapat dibawa ke SOA oleh ESB. Selanjutnya, dengan membuktikan abstraksi untuk titik akhir (dalam SOA), ESB mempromosikan kopling longgar antar layanan.
Apa perbedaan antara SOA dan ESB?
Ada beberapa perbedaan utama antara SOA dan ESB. SOA adalah model arsitektur untuk menerapkan aplikasi berbasis layanan yang digabungkan secara longgar. ESB adalah perangkat lunak infrastruktur yang membantu pengembang untuk mengembangkan layanan, dan berkomunikasi di antara layanan melalui API yang sesuai. ESB dapat digunakan sebagai platform tempat SOA direalisasikan. ESB hanyalah media yang melaluinya layanan mengalir. ESB menyediakan fasilitas untuk komposisi dan penyebaran layanan, yang pada gilirannya menerapkan SOA.