Perusahaan tempat saya bekerja sedang mengevaluasi beberapa solusi middleware untuk pengaturan, pengukuran dan keamanan layanan web. Saat ini, kami menggunakan Enterprise Service Bus (ESB) untuk tujuan ini, tetapi beberapa orang keren dalam manajemen memutuskan mereka akan menggunakan beberapa Middleware Manajemen API.
Saya meneliti sedikit tentang Solusi Manajemen API (alias API Gateway) ini tetapi tidak dapat menemukan perbedaan antara mereka dan ESB yang sebenarnya. Saya mengevaluasi beberapa kertas putih dari Mule, WSO2, Oracle dll, tetapi fitur yang ditawarkan oleh kedua produk tampaknya hampir sama. Pertanyaannya adalah, apa yang bisa dilakukan oleh Manajemen API yang tidak bisa dilakukan oleh ESB dan sebaliknya? Nilai apa yang dapat ditambahkan ke Infrastruktur TI dengan mengganti ESB untuk Gateway API?
sumber
Jawaban:
Alasan Anda mendapatkan konsep yang campur aduk adalah bahwa vendor menjualnya dalam satu paket. Tetapi mereka jelas merupakan konsep yang terpisah.
API Gateway menyediakan titik akses pusat untuk mengelola, memantau, dan mengamankan akses ke layanan web Anda yang terbuka untuk umum. Ini juga akan memungkinkan Anda untuk mengkonsolidasikan layanan di berbagai titik akhir yang berbeda seolah-olah mereka semua berasal dari satu host. Misalnya, Anda memiliki sepuluh titik akhir layanan berbeda yang semuanya merupakan bagian dari satu "rangkaian" layanan. Daripada memberi tahu konsumen tentang layanan Anda untuk menggunakan service1.yourcompany.com untuk satu layanan dan service2.yourcompany.com untuk layanan lain dan sebagainya, Anda dapat meminta mereka semua menunjuk ke api.yourcompany.com/service1 atau api.yourcompany.com / service2 dan gateway akan bertanggung jawab untuk mengarahkan kembali permintaan ke titik akhir yang sesuai.
ESB adalah "Bus" internal yang memungkinkan aplikasi dan layanan untuk berkomunikasi satu sama lain secara tidak terpisahkan. Semua aplikasi dapat terhubung ke bus dan mereka dapat menerima pesan apa pun yang menarik bagi mereka ketika dipublikasikan oleh aplikasi lain. Mereka juga dapat mempublikasikan pesan mereka sendiri yang dapat didengarkan dan ditanggapi oleh aplikasi lain. Aplikasi tidak bertanggung jawab untuk terhubung satu sama lain secara langsung, mereka mempublikasikan pesan mereka ke bus dan semua pihak yang berkepentingan mendengarkan dan bereaksi.
Logikanya API Gateway bukan pengganti ESB melainkan peningkatan untuk arsitektur berorientasi layanan.
sumber