MuleSoft - Pengantar Mule ESB
ESB adalah singkatan dari Enterprise Service Busyang pada dasarnya adalah alat middleware untuk mengintegrasikan berbagai aplikasi bersama melalui infrastruktur seperti bus. Pada dasarnya, ini adalah arsitektur yang dirancang untuk menyediakan alat pemindahan pekerjaan yang seragam di antara aplikasi yang terintegrasi. Dengan cara ini, dengan bantuan arsitektur ESB kita dapat menghubungkan berbagai aplikasi melalui bus komunikasi dan memungkinkannya untuk berkomunikasi tanpa bergantung satu sama lain.
Menerapkan ESB
Fokus utama arsitektur ESB adalah untuk memisahkan sistem dari satu sama lain dan memungkinkan mereka untuk berkomunikasi dengan cara yang stabil dan terkendali. Penerapan ESB dapat dilakukan dengan bantuan‘Bus’ dan ‘Adapter’ dengan cara berikut -
Konsep "bus", yang dicapai melalui server pesan seperti JMS atau AMQP, digunakan untuk memisahkan aplikasi yang berbeda satu sama lain.
Konsep "adaptor", bertanggung jawab untuk berkomunikasi dengan aplikasi backend dan mengubah data dari format aplikasi ke format bus, digunakan antara aplikasi dan bus.
Data atau pesan yang dikirimkan dari satu aplikasi ke aplikasi lainnya melalui bus berada dalam format kanonik yang berarti akan ada satu format pesan yang konsisten.
Adaptor juga dapat melakukan aktivitas lain seperti keamanan, pemantauan, penanganan kesalahan, dan manajemen perutean pesan.
Prinsip-Prinsip Panduan ESB
Kita dapat menyebut prinsip ini sebagai prinsip integrasi inti. Mereka adalah sebagai berikut -
Orchestration - Integrasi dua atau lebih layanan untuk mencapai sinkronisasi antara data dan proses.
Transformation - Mengubah data dari format kanonik ke format khusus aplikasi.
Transportation - Menangani negosiasi protokol antara format seperti FTP, HTTP, JMS, dll.
Mediation - Menyediakan banyak antarmuka untuk mendukung berbagai versi layanan.
Non-functional consistency - Menyediakan mekanisme untuk mengelola transaksi dan juga keamanan.
Kebutuhan ESB
Arsitektur ESB memungkinkan kita untuk mengintegrasikan berbagai aplikasi di mana setiap aplikasi dapat berkomunikasi melaluinya. Berikut adalah beberapa pedoman tentang kapan menggunakan ESB -
Integrating two or more applications - Penggunaan arsitektur ESB bermanfaat bila ada kebutuhan untuk mengintegrasikan dua atau lebih layanan atau aplikasi.
Integration of more applications in future - Misalkan jika kita ingin menambah layanan atau aplikasi di masa mendatang, maka dapat dengan mudah dilakukan dengan bantuan arsitektur ESB.
Using multiple protocols - Jika kita perlu menggunakan banyak protokol seperti HTTP, FTP, JMS, dll., ESB adalah opsi yang tepat.
Message routing - Kita dapat menggunakan ESB jika kita memerlukan perutean pesan berdasarkan konten pesan dan parameter serupa lainnya.
Composition and consumption - ESB dapat digunakan jika kita perlu mempublikasikan layanan untuk komposisi dan konsumsi.
Integrasi P2P vs. integrasi ESB
Dengan meningkatnya jumlah aplikasi, pertanyaan besar di depan pengembang adalah bagaimana menghubungkan aplikasi yang berbeda? Situasi ini ditangani dengan hand-coding koneksi antara berbagai aplikasi. Ini disebutpoint-to-point integration.
Rigidityadalah kelemahan paling jelas dari integrasi point-to-point. Kompleksitas meningkat dengan meningkatnya jumlah koneksi dan antarmuka. Kerugian integrasi P-2-P membawa kita pada integrasi ESB.
ESB adalah pendekatan yang lebih fleksibel untuk integrasi aplikasi. Ini merangkum dan mengekspos setiap fungsionalitas aplikasi sebagai satu set kemampuan diskrit yang dapat digunakan kembali. Tidak ada aplikasi yang langsung terintegrasi dengan yang lain, melainkan terintegrasi melalui ESB seperti yang ditunjukkan di bawah ini -
Untuk mengelola integrasi, ESB memiliki dua komponen berikut -
Service Registry- Mule ESB memiliki Service Registry / Repository di mana semua layanan yang diekspos ke dalam ESB dipublikasikan dan didaftarkan. Ini bertindak sebagai titik penemuan dari mana seseorang dapat menggunakan layanan dan kemampuan aplikasi lain.
Centralized Administration - Sesuai dengan namanya, ini memberikan pandangan aliran transaksional dari kinerja interaksi yang terjadi di dalam ESB.
ESB Functionality- Singkatan VETRO umumnya digunakan untuk meringkas fungsionalitas ESB. Ini adalah sebagai berikut -
V(Validasi) - Sesuai namanya, ini memvalidasi validasi skema. Ini membutuhkan parser yang memvalidasi dan skema terbaru. Salah satu contohnya adalah dokumen XML yang mengonfirmasi skema terkini.
E(Memperkaya) - Menambahkan data tambahan ke pesan. Tujuannya adalah membuat pesan lebih bermakna dan berguna bagi layanan sasaran.
T(Transform) - Ini mengubah struktur data ke format kanonik atau dari format kanonik. Contohnya adalah konversi tanggal / waktu, mata uang, dll.
R(Routing) - Ini akan merutekan pesan dan bertindak sebagai penjaga gerbang dari titik akhir layanan.
O(Operate) - Tugas utama fungsi ini adalah menjalankan layanan target atau berinteraksi dengan aplikasi target. Mereka berjalan di bagian belakang.
Pola VETRO memberikan fleksibilitas keseluruhan untuk integrasi dan memastikan bahwa hanya data yang konsisten dan divalidasi yang akan diarahkan ke seluruh ESB.
Apa Mule ESB?
Mule ESB adalah bus layanan perusahaan (ESB) berbasis Java yang ringan dan sangat skalabel serta platform integrasi yang disediakan oleh MuleSoft. Mule ESB memungkinkan pengembang untuk menghubungkan aplikasi dengan mudah dan cepat. Terlepas dari berbagai teknologi yang digunakan oleh aplikasi, Mule ESB memungkinkan integrasi aplikasi yang mudah, memungkinkan mereka untuk bertukar data. Mule ESB memiliki dua edisi berikut -
- Edisi Komunitas
- Edisi Perusahaan
Keuntungan Mule ESB adalah kita dapat dengan mudah meningkatkan dari komunitas Mule ESB ke perusahaan Mule ESB karena kedua edisi dibangun di atas basis kode yang sama.
Fitur & Kemampuan Mule ESB
Fitur berikut dimiliki oleh Mule ESB -
- Ini memiliki desain grafis drag-and-drop sederhana.
- Mule ESB mampu melakukan pemetaan dan transformasi data visual.
- Pengguna bisa mendapatkan fasilitas 100s konektor bersertifikat pra-bangun.
- Pemantauan dan administrasi terpusat.
- Ini memberikan kemampuan penegakan keamanan perusahaan yang kuat.
- Ini menyediakan fasilitas manajemen API.
- Ada Data Gateway yang aman untuk konektivitas cloud / on-premise.
- Ini menyediakan registri layanan di mana semua layanan yang diekspos ke ESB diterbitkan dan terdaftar.
- Pengguna dapat memiliki kontrol melalui konsol pengelolaan berbasis web.
- Debugging cepat dapat dilakukan dengan menggunakan penganalisis aliran layanan.