Sonic ESB: Integrasi yang dapat diprogram

Tekanan untuk mengintegrasikan sistem yang berbeda di seluruh perusahaan terus meningkat, tetapi membangun koneksi antar sistem, bahkan yang dirancang untuk integrasi, tetap menjadi tugas yang menakutkan.

Secara tradisional, perusahaan menghubungkan sistem menggunakan tautan titik-ke-titik dan kode khusus. Baru-baru ini, broker integrasi - perangkat lunak berpemilik untuk membuat koneksi di antara banyak sistem - muncul sebagai solusi lain. Namun, koneksi point-to-point mahal untuk dipelihara, dan broker integrasi mahal untuk dibeli. 

Sonic ESB adalah salah satu rangkaian produk baru yang disebut sebagai bus layanan perusahaan (ESB), broker integrasi ringan berdasarkan standar seperti XML dan SOAP yang dirancang untuk bekerja dalam lingkungan terdistribusi.

Untuk perusahaan yang ingin mengambil pendekatan inkremental untuk integrasi aplikasi perusahaan, ESB akan sangat membantu. Dengan menggunakan model bus, beberapa aplikasi dengan payback terbesar dapat diintegrasikan terlebih dahulu; aplikasi lain dapat dilipat nanti saat uang dan sumber daya tersedia. Karena hambatan masuknya rendah, proyek integrasi ini dapat dimulai dari yang kecil, dikelola dengan cermat, dan tumbuh untuk memenuhi kebutuhan masa depan.

Sonic ESB 5.0 berusaha untuk menawarkan manfaat ini, menggabungkan perpesanan, perutean, layanan Web, dan transformasi pesan untuk mengintegrasikan dan mengatur tindakan dari beberapa titik akhir aplikasi Internet.

Arsitektur ESB Eyeing Sonic

Broker integrasi yang khas memiliki arsitektur hub dan spoke. Sonic ESB, di sisi lain, dibangun di atas produk middleware berorientasi pesan Sonic Software, SonicMQ, penyedia JMS (Java Message Service) untuk server aplikasi J2EE. SonicMQ memberi Sonic ESB konfigurasi dan manajemen run-time, broker perpesanan, dan container terkelola. Interaksi antara SonicMQ dan ESB sangat halus dan lengkap sehingga tidak heran Sonic Software menyebut mereka sebagai suite.

Karena Sonic ESB dibangun di atas infrastruktur pengiriman pesan, arsitektur busnya dapat didistribusikan ke seluruh LAN perusahaan atau Internet global. Node perpesanan dapat diinstal dalam cluster di beberapa mesin untuk keandalan, dan cluster ini dapat melakukan federasi dengan cluster di lokasi lain untuk menyediakan titik integrasi jarak jauh.

Selain itu, manajer domain terintegrasi dengan sistem dan berfungsi sebagai direktori untuk layanan yang ditempatkan di jaringan.

Penampung mengelola titik akhir, yang kemudian mengelola siklus hidup layanan yang menyediakan perutean, orkestrasi aliran proses, transformasi data, dan keamanan. Penampung ini juga mengadaptasi titik akhir ke sistem lama. Misalnya, adaptor J2EE tersedia untuk menghubungkan sistem berbasis J2EE ke bus. Kontainer layanan biasanya dihosting secara terpisah dari server perpesanan, masing-masing ditempatkan bersama dengan sistem lama yang dilayaninya.

Pesan dirutekan sendiri menggunakan rencana perjalanan terlampir yang dibuat melalui konsol manajemen. Perutean berbasis konten dilakukan di dalam layanan titik akhir menggunakan XPath untuk melihat dokumen XML yang dilampirkan dan secara bersyarat merutekan berdasarkan konten dokumen. Layanan transformasi menggunakan XSLT (eXtensible Style Language Transformation). Produk Stylus Sonic Software secara grafis membuat dokumen XSLT yang berubah dari satu skema XML ke skema lainnya, tetapi alat XSLT lainnya juga akan berfungsi.

Mencari Arsitek Integrasi

Ketika saya di kelas dua, seorang anak di kelas saya membawa mainan elektronik yang memungkinkan Anda membangun radio dan perangkat elektronik sederhana lainnya dengan mengikuti skema yang disediakan dan mengklik balok bersama-sama. Saat saya meninjau Sonic ESB, saya tidak bisa tidak memikirkan program snap-together saat saya memanipulasi konfigurasinya melalui konsol manajemen berbasis GUI.

Meskipun banyak dari apa yang Anda lakukan saat menyiapkan Sonic ESB hanya memanipulasi file konfigurasi, hasil akhirnya adalah proses yang memanipulasi data. Ini lebih dari sekedar konfigurasi berbasis kebijakan - ini adalah pemrograman.

Pemrograman Sonic ESB tidak dilakukan dengan notasi terpadu, tetapi melibatkan penulisan potongan Java dan JavaScript bersama dengan XSLT, skema XML, dan file WSDL. Beberapa alat grafis yang berbeda mengatur semua ini ke dalam konfigurasi keseluruhan yang menghasilkan perutean dan layanan yang benar untuk hasil yang diinginkan. 

Sonic Software menyediakan contoh lengkap rantai pasokan dalam panduan Memulai. Bekerja melalui contoh tersebut akan membantu Anda mengetahui mode utama interaksi ESB dan mengenalkan Anda dengan konsep dan alat manajemen yang diperlukan untuk mengonfigurasi dan menggunakan bus.

Saat saya menjalani proses konfigurasi, saya terkejut dengan betapa sulitnya melacak semua bagian yang berbeda, apa yang mereka lakukan, dan bagaimana mereka cocok satu sama lain. Konsol manajemen Sonic ESB sebaik yang pernah saya lihat. Tetapi mereka bukan lingkungan pemrograman - mereka hanya menawarkan dukungan dasar untuk abstraksi. Misalnya, aliran proses memungkinkan penamaan dan penyematan, tetapi hal-hal yang sama pentingnya seperti aliran bersyarat disembunyikan di file JavaScript dan XSLT.

Berbagai format - Java, JavaScript, XSL, skema XML, dan sebagainya - yang menjelaskan proses dan data merupakan beban tambahan. Jadi meskipun menggunakan Sonic ESB adalah tindakan pemrograman, ini adalah produk yang dibangun di sekitar sekelompok teknologi daripada satu notasi yang dirancang dengan baik.

Itu belum tentu merupakan kesalahan Sonic Software. Mereka bekerja dengan alat yang dibutuhkan oleh mereka oleh teknologi dan standar yang diminta pelanggan mereka. Saya ragu bahwa Sonic Software akan dapat mendorong adopsi notasi yang lebih seragam.

Karena notasi yang seragam tidak tersedia, ada beberapa petunjuk visual untuk memahami aliran pesan, kondisi kesalahan, dan transformasi data. Memang, tanpa gambar dan deskripsi yang terdapat dalam panduan Memulai, memahami aliran pesan dalam contoh rantai pasokan yang disediakan akan sulit. Saya menyadari bahwa ternyata, panduan Memulai sebenarnya adalah arsitektur sistem; gambar dan deskripsi dalam panduan kemungkinan besar sama dengan yang digunakan pengembang contoh saat mereka membuatnya.

Keberhasilan penggunaan produk seperti Sonic ESB akan membutuhkan perencanaan cermat yang sama oleh pengembang yang bertindak sebagai "arsitek integrasi". Alat, teknik, dan metodologi pemodelan yang tersedia untuk arsitek integrasi masih belum sempurna, tetapi Sonic ESB menyediakan seperangkat alat lengkap yang diperlukan untuk mengimplementasikan integrasi setelah direncanakan.

Fleksibilitas dengan Harga tertentu

Sonic ESB, dikombinasikan dengan SonicMQ, menyediakan metode berbasis standar untuk mengintegrasikan aplikasi lama dan baru dari seluruh perusahaan dengan cara yang andal dan hemat biaya. Mengintegrasikan satu set sistem dengan Sonic ESB seharusnya lebih murah daripada menggunakan broker integrasi berpemilik.

Saat meninjau SonicXQ, pendahulu Sonic ESB, kami menyimpulkan bahwa "SonicXQ memberi pengembang serangkaian layanan BPM (manajemen proses bisnis) yang aman dan andal" (lihat "Menjaga BPM di jalurnya", 30 September, halaman 26).

Itu tidak berubah. Tetapi sementara alat manajemen sekarang jauh lebih baik, Sonic ESB 5.0 sering membutuhkan konfigurasi yang rumit. Agar dapat berfungsi, diperlukan keterampilan yang cukup besar pada teknologi seperti J2EE, middleware berorientasi pesan, XML, XSLT, XPath, JavaScript, dan Java.

Ini adalah harga fleksibilitas. Beberapa alat bertujuan untuk kemudahan penggunaan dan bahkan membanggakan bahwa para pebisnis dapat menggunakannya untuk mengelola proses bisnis. Tetapi tidak satupun dari mereka menawarkan fleksibilitas yang diperlukan untuk integrasi sistem lengkap. SonicESB menawarkan fleksibilitas itu, tetapi hanya jika Anda memiliki pengembang dan arsitek integrasi untuk memanfaatkannya.

Kartu catatan angka Pengelolaan (15.0%) Kemudahan penggunaan (10.0%) Dukungan (10.0%) Skalabilitas (25.0%) Interoperabilitas (25.0%) Keandalan (15.0%) Skor Keseluruhan (100%)
Sonic ESB 5.0.0 Memperbarui 5.0 6.0 7.0 9.0 9.0 9.0 7.9