
Selamat siang, pembaca yang budiman.
Ada kelas produk seperti
ESB . Seperti yang disebutkan di Wikipedia, ini adalah middleware yang menyediakan pesan yang berorientasi peristiwa dan terpusat antara ... dan selanjutnya. Tidak banyak contoh ESB seperti itu dan mereka diterapkan agak sempit. Salah satu ESB ini adalah IBM Integration Bus (IIB), hingga versi 9 itu disebut IBM Message Broker.
Beberapa tahun yang lalu saya menemukan produk seperti IIB. Mencoba memahami jenis binatang apa itu, saya menemukan bahwa ada sangat sedikit referensi tentang hal itu di Internet berbahasa Rusia. Posting ini akan memperkenalkan ban integrasi ini dengan segala kejayaannya dan membantu mereka yang mencari saya.
Di Rusia, produk ini digunakan secara terbatas dalam perbankan, asuransi dan logistik. Persis di mana ada alur kerja yang besar dan persyaratan keandalan yang tinggi. Juga baru-baru ini, sebuah proyek gas besar sedang mencari spesialis di IIB. Saya tidak tahu bagaimana bus diterapkan di sana, tetapi dimungkinkan untuk telemetri (MQTT).
Inti dari perangkat lunak ini adalah untuk menghubungkan sistem N satu sama lain, bahkan jika sistem ini memiliki antarmuka dan format yang sama sekali berbeda. Katakanlah sistem X membuat entri dalam tabel dalam database-nya dan ketika muncul kita ingin memanggil REST API dari aplikasi lain dengan JSON di dalam di mana bidang catatan kita akan dikirim, dan memberi tanda pada pengiriman ke tabel lain dari aplikasi X. Dan itu semua dengan dukungan transaksi dan pengiriman terjamin. (Ketika satu aplikasi merayap ke dalam database yang lain, itu buruk, tetapi itu terjadi!) Seperti inilah tugas tipikal untuk aliran IIB.
Apa yang sedang dikembangkan di IIB
Salah satu hal yang paling nyaman di IIB adalah pemrograman grafis. Ketika di lingkungan Eclipse Anda menarik node dari palet dari palet, menghubungkannya bersama dan di antaranya, semuanya berfungsi.
Ini terlihat seperti ini:

Tetapi Anda biasanya perlu menulis kode juga. Untuk mengubah pesan atau logika, bahasa utamanya adalah ESQL (Extend SQL). Secara sintaksis mirip dengan PL / SQL, tetapi dipertajam untuk bekerja dengan struktur data pohon.
CREATE PROCEDURE CopyMessageHeaders() BEGIN DECLARE I INTEGER 1; DECLARE J INTEGER; SET J = CARDINALITY(InputRoot.*[]); WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I = I + 1; END WHILE; END;
Ada juga dukungan untuk beberapa bahasa pemrograman:
Salah satu cara mudah untuk mengubah pesan dari satu format ke format lainnya adalah Pemetaan Data:

Sangat jelas, tidak seperti jika Anda melakukannya dalam kode.
Di atas saya menyinggung masalah transformasi pesan, tetapi sebelum itu pesan perlu diterima. Untuk melakukan ini, ada sejumlah besar simpul Input pada politra. Yang paling umum dalam praktik saya adalah:
- MqInput
- Fileinput
- Input SOAP
- Input HTTP
- Pemberitahuan waktu habis
Untuk menampilkan pesan dengan hasilnya akan kurang lebih sama. Untuk masing-masing kasus, dimungkinkan untuk menulis simpul Anda sendiri untuk input, output atau transformasi pesan.
Sebelum versi terbaru, IIB terkait erat dengan IBM MQ, tetapi dalam versi terbaru IIB ini tidak lagi diperlukan. Tetapi bagian dari fungsi tidak akan berfungsi tanpa MQ, jadi skema dasar pekerjaan melibatkan pemasangan MQ.
Karena ini adalah posting pertama, saya membuatnya menjadi pengantar. Jika ada minat pada topik, saya akan melanjutkan ceritanya.
Tautan yang bermanfaat:
Pusat Pengetahuan IBMForum