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 di mana SOA direalisasikan.
Apa itu SOA??
SOA (Arsitektur berorientasi layanan) adalah seperangkat konsep arsitektur yang digunakan untuk pengembangan dan integrasi layanan. Penawaran SOA dengan komputasi terdistribusi di mana konsumen mengkonsumsi satu set layanan interoperable. Banyak konsumen dapat mengkonsumsi satu layanan dan sebaliknya. Oleh karena itu, SOA sering digunakan untuk mengintegrasikan beberapa aplikasi yang menggunakan platform berbeda. Agar SOA dapat beroperasi dengan baik, layanan harus secara longgar dipadukan dengan sistem operasi dan teknologi aplikasi yang mendasarinya. Pengembang SOA membuat layanan menggunakan unit fungsionalitas, dan membuatnya tersedia melalui internet. Layanan web dapat digunakan untuk mengimplementasikan arsitektur SOA. Dalam hal itu, layanan web menjadi unit fungsionalitas SOA yang dapat diakses melalui internet. Layanan web dapat digunakan oleh siapa saja tanpa khawatir tentang platform atau bahasa pemrograman yang digunakan untuk mengembangkannya. SOA secara langsung dibangun di atas prinsip orientasi layanan, yang berbicara tentang layanan dengan antarmuka sederhana yang dapat diakses secara mandiri oleh pengguna, tanpa khawatir tentang implementasi platform layanan yang sebenarnya..
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 banyak argumen tentang apakah menyebut ESB gaya arsitektur atau produk perangkat lunak atau bahkan sekelompok produk. Ini menyediakan layanan melalui event driven dan engine berbasis 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 aktual apa pun. ESB biasanya diimplementasikan melalui infrastruktur middleware berbasis standar.
Penggunaan istilah "bus" dalam ESB disebabkan oleh fakta bahwa ESB memang menyediakan 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 kontak; dengan demikian, membuat adaptasi terhadap perubahan menjadi lebih mudah. ESB dapat digunakan sebagai platform di mana SOA direalisasikan. Konsep-konsep transformasi / routing (terkait aliran) dapat dibawa ke SOA oleh ESB. Selain itu, dengan membuktikan abstraksi untuk titik akhir (dalam SOA), ESB mempromosikan kopling longgar antara layanan.
Apa perbedaan antara SOA dan ESB?
Ada beberapa perbedaan utama antara SOA dan ESB. SOA adalah model arsitektur untuk mengimplementasikan aplikasi berbasis layanan yang digabungkan secara longgar. ESB adalah perangkat lunak infrastruktur yang membantu pengembang mengembangkan layanan, dan berkomunikasi antar layanan melalui API yang sesuai. ESB dapat digunakan sebagai platform di mana SOA direalisasikan. ESB hanyalah media yang melaluinya layanan mengalir. ESB menyediakan fasilitas untuk komposisi dan penyebaran layanan, yang pada gilirannya mengimplementasikan SOA.