Perbedaan antara Pialang Pesan dan ESB

126

Saya telah melalui berbagai pertanyaan / artikel tentang Broker Pesan dan ESB (Bahkan di stackoverflow). Masih bukan petunjuk karena apa perbedaan demarkasi CLEAR antara Pialang Pesan dan ESB? Sekarang di sini saya mencoba membandingkan produk, Websphere Broker dan Mule ESB !!

Pertama, apakah (ada versi) Webshere Broker adalah ESB? Orang-orang produk IBM kami mengklaimnya sebagai ESB! (Saya tidak terkejut tentang hal itu).

Informasi terbatas saya memberi tahu saya bahwa Pialang Pesan berfungsi pada model HUB-SPOKE. Namun ESB bekerja pada arsitektur bus. Sekarang, apa artinya itu? Saya telah membaca daripada jika HUB gagal (tidak tersedia saya kira) maka broker sepenuhnya gagal. Yang bukan kasus ESB (Jadi kata orang-orang). Apa yang saya tidak mengerti di sini adalah "Bagaimana jika BUS" gagal?

Sekarang hal yang biasa tentang ESB dan Broker adalah bahwa, mereka menyediakan perutean, transformasi, orkestrasi dll. Jadi jika keduanya memberikan ini, maka mengapa saya memilih satu dari yang lain.

Area konflik lainnya adalah mengenai TRANSFORMASI. Apakah ESB memfasilitasi dengan cara yang berbeda bila dibandingkan dengan Pialang Pesan? Saya akan sangat suka wawasan tentang ini.

Sekarang berbicara tentang penskalaan HORIZONTAL. Siapa yang mengungguli siapa? Atau keduanya sama-sama scalable dalam hal kompleksitas (atau faktor lainnya). Tentu saja dari segi biaya, Webshpere Broker akan membebani Anda untuk setiap kotak (apalagi masing-masing cpu). Saya percaya, bahkan MULE ESB komersial tidak melakukan itu. Mengesampingkan bagian Biaya dari itu, apa implikasi dari penskalaan ESB dan penskalaan Pialang Pesan. Saya kebetulan tahu Anda dapat meningkatkan ke Level Layanan di ESB. Apakah ini mungkin di Pialang Pesan?

Franklin
sumber
Sebenarnya Mule memiliki per-CPU / lisensi inti juga.
Udi Dahan

Jawaban:

28

Anda dapat menggunakan broker transformasi tanpa bus layanan, dan sebaliknya. Dalam hal produk tertentu saya tidak berpikir ada yang murni atau yang lain karena cara masing-masing saling melengkapi. Beberapa produk lebih kuat di satu area, lainnya lebih kuat di yang lain. Mungkin suatu pilihan perlu dibuat berdasarkan fungsi mana yang paling baik mencakup masalah individu.

Seorang pialang mungkin memiliki "blok lego" bawaan yang lebih baik untuk membangun rantai transformasi daripada produk ESB. Seorang pialang yang ditekan ke dalam layanan sebagai ESB dapat dihancurkan di bawah beban dan tidak memiliki skala yang baik, atau mungkin kurang memiliki jurnal yang kuat dan alat untuk berurusan dengan jurnal.

Beberapa ESB memungkinkan pemutakhiran basis data digulirkan kembali dan antrian untuk diputar ulang ke dalam aplikasi yang dikoreksi begitu kesalahan yang mengerikan dalam logika telah ditemukan dan diperbaiki. Saya tidak berpikir sebagian besar broker mengintegrasikan tingkat dukungan transaksional tersebut. Agar ini berfungsi di semua "transaksi" Anda, hampir harus menjadi acara bisnis (penjualan, pembaruan, perubahan kepemilikan, dll.) Daripada sesuatu seperti "pembaruan basis data" RPCish.

Bob77
sumber
5
Saya baru saja menulis posting blog yang menggambarkan elemen integrasi yang sering dikaitkan dengan bus layanan, yang mencakup sisi transformasi juga: udidahan.com/2011/04/08/integration-how-and-where
Udi Dahan
23

Penafian: Saya seorang konsultan IBM dan berspesialisasi dalam WebSphere ESB. Komentar ini tidak tersisa dalam kapasitas resmi apa pun.

ESB lebih merupakan pola atau konsep arsitektural daripada produk - secara umum, cara rekayasa lepas kopling yang berbasis layanan. Definisinya diperebutkan dan tidak diatur dengan tepat. Secara umum, ESB diatur layanan yang tidak terkait (dalam arti teknis) - mereka mengekspos antarmuka, dan mereka mengkonsumsinya dari layanan lain. Secara umum tidak ada hub dan arsitektur berbicara yang terlibat, meskipun mungkin ada.

IBM tentu saja memasarkan WebSphere Message Broker dan WebSphere ESB sebagai produk yang membuatnya mudah untuk membangun ESB (bersama dengan perangkat keras DataPower). Mereka memiliki akar teknologi yang berbeda, tetapi memiliki beberapa tujuan yang tumpang tindih. Juga, bukan berarti Anda tidak dapat membuat ESB dengan banyak hal lain yang tidak dicap sebagai 'produk ESB'.

Itu tidak menjawab semua pertanyaan Anda, tetapi semoga mengatasi bagian IBM.

Andrew Ferrier
sumber
Terima kasih Andrew. Saya senang mengetahui Anda adalah spesialis di WebSphere ESB. Saya punya satu hal yang jelas. ESB bukan produk dan merupakan pandangan arsitektur mendasar: A BUS. Sekarang, jika ESB telah ada hanya sejak tahun 2002 dan seterusnya, mengapa itu bahkan diciptakan? Saya percaya ada banyak perdebatan tentang siapa yang "Diciptakan ESB". Jika Websphere Broker dapat "dibuat" melakukan "semua hal" yang dilakukan ESB, lalu mengapa mengklaimnya sebagai produk ESB? Saya bahkan telah melihat Buku Merah yang menunjukkan kepada Anda "Cara Menerapkan" ESB dengan Websphere Broker.
Franklin
7
Saya benar-benar tidak tahu apakah ini analogi yang bagus. Pelayan rumah kami memasak untuk saya. Ibuku juga akan memasak untukku. Namun saya tidak bisa menyebut ibu saya sebagai pembantu rumah tangga, dia melakukan tugas sebagai pembantu rumah tangga, bisakah saya (Jika saya melakukannya, itulah akhir dari makan malam)? Ada perbedaan mendasar yang tidak bisa diatasi?
Franklin
Analis middleware paling senior Gartner, Roy Schulte menegaskan bahwa: "Nenek moyang paling langsung ke ESB adalah produk Candle's Roma dari tahun 1998, yang kemudian disebut Candle Pathwai." Candle diakuisisi oleh IBM pada bulan April 2004 - sebuah ironi yang tidak akan hilang baik pada Tibco atau Sonic Software, karena IBM baru-baru ini mulai mengklaim bahwa ia juga memiliki ESB sendiri - IBM Steve Mills mengatakan kepada ComputerWire bahwa: "Saya tahu kami [memiliki ESB], sebenarnya saya telah memberikan fungsionalitas ESB selama bertahun-tahun. "
Franklin
1
Baca hal siapa di sini "Penemu ESB" RIDDLE SOLV businessreviewonline.com/blog/archives/2005/08/…
Franklin
19

Perbedaan antara Pialang Pesan dan ESB (Bus Layanan Perusahaan) terutama pada kata 'bus'.

Bagi saya, Pialang Pesan adalah salah satu (biasanya besar) proses yang mengubah data dari satu struktur ke struktur lain atau mengubah konten.

ESB adalah middleware berorientasi pesan (MOM) plus layanan tambahan, salah satunya bisa berupa Pialang Pesan. Jadi ESB dapat menyertakan Pialang Pesan sebagai salah satu komponennya. Bus terdiri dari lebih dari satu proses, jika tidak saya tidak akan menyebutnya 'bus'. Sifat bus adalah bahwa ada beberapa komponen yang melayani tugas yang berbeda, masing-masing berkomunikasi melalui MOM dan mengikuti beberapa bentuk 'format data umum'. Bus akan terdiri dari: aplikasi yang mengirim data ke MOM, adaptor database, Pialang Pesan, jembatan MOM, dll.

Pemisahannya sedikit bertahap, tetapi perbedaan terbesar antara arsitektur Message Broker dan Bus adalah granularitas . Jika tugas Anda adalah mengintegrasikan aplikasi A, B, .., Z dan beberapa database, Anda dapat melakukan ini dengan satu Broker Pesan besar yang menghubungkan masing-masing dan semua orang. Atau dengan ESB di mana beberapa komponen kecil mengambil alih hanya tugas-tugas kecil. Misalnya satu adaptor terhubung ke A, yang lain ke B (tetapi mereka tidak melakukan transformasi), maka masing-masing mengirim barang-barang mereka ke satu (atau lebih) Pialang Pesan, yang masing-masing harus dibuat sesederhana mungkin - misalnya tidak harus tahu tentang model data 'A' atau 'B'. ESB yang baik harus memiliki definisi data umum tentang bus, abstrak dari 'perbedaan' masing-masing aplikasi.

TRANSFORMASI: ESB tidak membantu transformasi, kecuali jika disertai dengan Pialang Pesan. Tetapi setiap ESB yang baik harus tetap menyertakan Pialang Pesan. Pialang Pesan harus menjadi pakar bus Anda untuk transformasi, tetapi tidak ada yang lain.

Penskalaan HORIZONTAL: jika Anda hanya memiliki 3 hal untuk dihubungkan (sekarang dan selamanya), mungkin tidak sepadan dengan upaya untuk mendapatkan ESB yang lengkap. Pialang Pesan memiliki keuntungan karena hanya satu proses besar. Anda dapat mengonfigurasi semua yang ada di sana dan memiliki lokasi pusat untuk semua pemetaan, penyaringan, dan perutean data Anda.

Tetapi jika Anda memiliki 30 aplikasi untuk dihubungkan, satu Broker Pesan mungkin akan berhenti total. Tentu saja Anda dapat membeli lebih banyak contoh, menjalankan hal-hal yang berlebihan, dll. Tetapi Anda harus mengubah strategi Anda untuk 'melokalisasi' pekerjaan. Setiap adaptor aplikasi (masing-masing bisa menjadi satu contoh Pialang Pesan kecil) harus dapat menghasilkan dan / atau menerima model data umum yang diabstraksi (mis. XML dengan XSD bersama). Mungkin juga ada Pialang Pesan pusat untuk tugas-tugas transformasi, tetapi contoh itu harus tidak menyadari data model A atau B. Jadi ESB harus memindahkan pemrosesan ke komponen ahli alih-alih menjaga segala sesuatu di tempat sentral.

Axel Podehl
sumber
15

Saya baru saja membaca artikel ini oleh Udi Dahan beberapa hari yang lalu, yang mungkin memberi Anda pandangan yang lebih jelas tentang apa yang saya rasakan adalah satu perbedaan mendasar.

http://www.udidahan.com/2011/03/24/bus-and-broker-pubsub-differences

Mengutip:

Aturan bahwa hanya ada satu penerbit untuk jenis acara tertentu adalah salah satu hal yang membedakan bus dari broker, meskipun keduanya jelas memungkinkan Anda untuk memiliki beberapa pelanggan

...

Sayangnya, ada banyak teknologi gaya broker di luar sana yang dipasarkan di bawah bendera Enterprise Service Bus. Sementara beberapa produk memiliki kemampuan untuk digunakan dalam mode terpusat dan terdistribusi (kadang-kadang disebut mode "gabungan" atau "disematkan"), banyak yang tidak menerapkan aturan "penerbitan titik akhir tunggal per jenis acara".

Tanpa kendala ini, terlalu mudah untuk membuat kesalahan.

Semoga ini bisa membantu.

GR7
sumber
Ini adalah artikel yang bagus, tetapi tidak membahas ESB kecuali dalam komentar.
NealWalters
6

Bus Layanan Perusahaan memberikan tiga nilai utama untuk Bisnis:

  1. Routing transaksi berbasis konten atau konten;
  2. Transformasi dari satu domain pesan atau transportasi ke domain pesan lain atau transportasi;
  3. konektivitas layanan banyak ke banyak.

ESB menyediakan kopling longgar dari layanan, memungkinkan layanan untuk dilarutkan ke dalam konteks aplikasi yang sama sekali berbeda dari ketika layanan pertama kali dibayangkan atau dikembangkan, dan mempromosikan penggunaan kembali aplikasi tanpa perlu melakukan pengkodean ulang aplikasi. WebSphere Message Broker (atau sekarang disebut IBM Integration Bus) adalah contoh utama dari Bus Layanan Perusahaan. Untuk contoh kesederhanaan kode yang menghasilkan kekuatan besar dalam beberapa baris, Anda dapat melihat posting saya di sini: http://soabus.org/viewtopic.php?f=3&t=13 . Konstruk dasar di dalam runtime IIB disebut Logical Message Tree(LMT). Segala sesuatu yang ingin dilakukan pengembang adalah beberapa jenis operasi pada LMT. ESQL adalah bahasa paling efisien yang dapat digunakan pengembang untuk melakukan operasi ini pada LMT, meskipun banyak bahasa lain didukung (misalnya, Java, PHP, Python, dll.) Tidak ada produk lain yang mendekati efisiensi dan kemudahan mengembangkan ESB aplikasi daripada IBM Integration Bus sejak 90 persen pengkodean aplikasi ini dilakukan dengan menyeret dan menjatuhkan node ke palet. Hanya menyisakan 10 persen pengkodean yang harus dilakukan oleh pengembang Message Flow. Omong-omong, WebSphere ESB telah dihentikan oleh IBM dan banyak produk yang bersaing dengan IBM Integration Bus belum melihat perkembangan baru pada mereka selama beberapa tahun sekarang. Daftar berbagai penawaran produk ESB dapat dilihat di soabus.org.

pengguna3223466
sumber
Tautan dalam jawaban ini yang mengarah ke soabus.org tidak lagi menyelesaikan - tautan tersebut dialihkan ke archmule.com.
tatlar
2

IBM sejak itu telah mengubah nama penawaran ESB mereka, jadi saya tidak akan membahas nama atau vendor.

ESB memungkinkan informasi bisnis mengalir di antara aplikasi yang berbeda di berbagai platform perangkat keras dan perangkat lunak. ESB lebih merupakan lapisan middleware yang menyimpan logika konektivitas aplikasi dan logika bisnis minimal hingga TANPA. Hal ini memungkinkan aplikasi untuk melakukan yang terbaik tanpa khawatir tentang menanamkan logika konektivitas apa pun tentang cara berinteraksi dengan sejumlah aplikasi N lain yang membutuhkan data dari itu. Arsitektur ESB berusaha untuk memecahkan kekacauan spaghetti point to point dalam suatu perusahaan.

ESB dan Pialang Pesan adalah jenis sinonim satu sama lain, namun karena salah satu tanggapan di atas telah menyoroti bahwa pola Pialang Pesan adalah bagian dari domain ESB yang lebih besar. Huruf "B" dalam ESB dianalogikan dengan bus (perangkat keras) dalam arsitektur komputer. Bus di motherboard atau di komputer menghubungkan berbagai komponen untuk berfungsinya komputer. ESB adalah bus berbasis perangkat lunak yang menghubungkan berbagai layanan di suatu perusahaan. Hub dan spoke adalah salah satu pola yang didukung oleh arsitektur ESB. Di dunia monolitik, setiap vendor memiliki arsitektur penyebaran ketersediaan tinggi mereka sendiri untuk memastikan ESB tersedia. Tawaran terbaru dari setiap vendor ESB adalah dalam hal model penyebaran berbasis layanan-mikro atau di-hosting di cloud mereka sendiri yang dikenal sebagai iPAAS. Jadi ini memastikan bahwa Bus tidak akan pernah gagal atau gagal sementara dengan penyembuhan sendiri berdasarkan model penempatan Anda yang dipilih. Dengan penyebaran berbasis layanan mikro atau iPAAS, ESB sekarang memiliki kemampuan penskalaan otomatis (horizontal atau vertikal) dengan berbagai fitur berdasarkan vendor yang dipilih.

Untuk kapabilitas tingkat sangat tinggi yang disediakan ESB, Anda bisa melalui tautan berikut => https://en.wikipedia.org/wiki/Enterprise_service_bus

Rohan
sumber