2009-04-21 21 views
111

के बीच अंतर मैं संदेश ब्रोकर्स और ईएसबी (यहां तक ​​कि स्टैक ओवरफ्लो पर) पर विभिन्न प्रश्न/लेखों से गुजर चुका हूं। अभी भी कोई संकेत नहीं है कि संदेश ब्रोकर और ईएसबी के बीच स्पष्ट सीमा अंतर क्या है? अब मैं उत्पादों, वेबस्पेयर ब्रोकर और मुले ईएसबी की तुलना करने की कोशिश कर रहा हूं !!एक संदेश ब्रोकर और एक ईएसबी

सबसे पहले, (कोई संस्करण) वेबसाइट ब्रोकर एक ईएसबी है? हमारे आईबीएम उत्पाद लोग दावा करते हैं कि यह ईएसबी होगा! (मुझे इसके बारे में आश्चर्य नहीं है)।

मेरी सीमित जानकारी मुझे बताती है कि एक संदेश ब्रोकर एक हब-स्पोक मॉडल पर काम करता है। हालांकि ईएसबी बस वास्तुकला पर काम करता है। अब पृथ्वी पर क्या मतलब है? मैंने पढ़ा है कि हब विफल रहता है (अनुपलब्ध मुझे लगता है) तो ब्रोकर पूरी तरह विफल हो जाता है। जो ईएसबी का मामला नहीं है (इसलिए वे लोग कहते हैं)। जो मैं समझ नहीं पा रहा हूं वह है "क्या होगा यदि बस" विफल रहता है?

अब ईएसबी और ब्रोकर्स के बारे में सामान्य सामान यह है कि, वे रूटिंग, रूपांतरण, ऑर्केस्ट्रेशन इत्यादि प्रदान करते हैं .. इसलिए यदि वे दोनों इसे प्रदान करते हैं, तो मैं दूसरे पर एक क्यों चुनूं।

संघर्ष का एक और क्षेत्र ट्रांसफॉर्मेशन के संबंध में है। संदेश ब्रोकर्स की तुलना में ईएसबी इसे अलग तरीके से सुविधाजनक बनाता है? मैं वास्तव में इस पर कुछ अंतर्दृष्टि प्यार करता हूँ।

अब हॉरिज़ोनल स्केलिंग के बारे में बात कर रहा है। किसके प्रदर्शन से बेहतर है? या जटिलता (या किसी भी अन्य कारकों) के मामले में वे दोनों समान रूप से मापनीय हैं। लागत के अनुसार, Webshpere ब्रोकर आपको प्रत्येक बॉक्स के लिए चार्ज करने वाला है (प्रत्येक सीपीयू अकेले रहने दें)। मेरा मानना ​​है कि वाणिज्यिक एमयूएलई ईएसबी भी ऐसा नहीं करता है। इसके लागत हिस्से को छोड़कर, ईएसबी स्केलिंग और संदेश ब्रोकर स्केलिंग के प्रभाव क्या हैं। मुझे पता है कि आप ईएसबी में सेवा स्तर तक पहुंच सकते हैं। क्या यह संदेश ब्रोकर में संभव है?

+11

हे, आपका टाइपो "संदेश बोकर्स" मजाकिया है क्योंकि यह सच है। – JeeBee

+0

ओउप्स बेहतर सही है कि :) – Franklin

+0

वास्तव में मुले में प्रति-सीपीयू/कोर लाइसेंसिंग भी है। –

उत्तर

22

आप एक सेवा बस के बिना एक रूपांतरण ब्रोकर का उपयोग कर सकते हैं, और इसके विपरीत। विशिष्ट उत्पादों के संदर्भ में मुझे नहीं लगता कि कोई भी पूरी तरह से एक या दूसरा है क्योंकि प्रत्येक दूसरे को पूरा करता है। कुछ उत्पाद एक क्षेत्र में मजबूत होते हैं, दूसरे दूसरे में मजबूत होते हैं। शायद एक विकल्प को बनाने की जरूरत है कि कौन सा फ़ंक्शन किसी व्यक्तिगत समस्या को सर्वोत्तम रूप से कवर करता है।

ईएसबी उत्पाद की तुलना में एक रूपांतरण श्रृंखला बनाने के लिए ब्रोकर में बेहतर अंतर्निहित "लेगो ब्लॉक" हो सकता है। ईएसबी के रूप में सेवा में दबाए गए ब्रोकर को लोड के तहत कुचल दिया जा सकता है और अच्छी तरह से स्केल नहीं किया जा सकता है, या जर्नल से निपटने के लिए मजबूत जर्नलिंग और टूल्स की कमी हो सकती है।

कुछ ईएसबी डेटाबेस अपडेट को वापस घुमाए जाने के लिए अनुमति देते हैं और तर्कों में एक गंभीर त्रुटि को ठीक और ठीक करने के बाद कतारों को एक सही अनुप्रयोग में फिर से चलाने के लिए अनुमति दी जाती है।मुझे नहीं लगता कि ज्यादातर ब्रोकर लेनदेन संबंधी समर्थन के उस स्तर को एकीकृत करते हैं। इसके लिए आपके सभी "लेन-देन" पर काम करने के लिए लगभग आरपीसीश "डेटाबेस अपडेट" जैसी चीज़ों की बजाय लगभग व्यावसायिक घटनाएं (बिक्री, नवीनीकरण, स्वामित्व में परिवर्तन आदि) होना चाहिए।

+4

मैंने अभी एक ब्लॉग पोस्ट लिखा है जो अक्सर एकीकरण तत्व का वर्णन करता है जो अक्सर सेवा बसों के लिए जिम्मेदार होता है , इसके परिवर्तन पक्षों को भी कवर करना: http://www.udidahan.com/2011/04/08/integration-how-and-where/ –

19

अस्वीकरण: मैं एक आईबीएम परामर्शदाता हूं और वेबस्पेयर ईएसबी में विशेषज्ञ हूं। यह टिप्पणी किसी भी आधिकारिक क्षमता में नहीं छोड़ी गई है।

एक ईएसबी एक उत्पाद की तुलना में एक वास्तुशिल्प पैटर्न या अवधारणा से अधिक है - मोटे तौर पर, इंजीनियरिंग ढीले युग्मन के एक सेवा-आधारित तरीके। इसकी परिभाषा लड़ी गई है और बिल्कुल पत्थर में नहीं है। आम तौर पर, एक ईएसबी असंबंधित (तकनीकी अर्थ में) सेवाओं का सेट होता है - वे इंटरफेस का पर्दाफाश करते हैं, और वे उन्हें अन्य सेवाओं से उपभोग करते हैं। आम तौर पर एक हब और भाषण वास्तुकला शामिल नहीं है, हालांकि वहां हो सकता है।

आईबीएम निश्चित रूप से उन वेब उत्पादों के रूप में वेबस्पेयर संदेश ब्रोकर और वेबस्पियर ईएसबी दोनों का विपणन करता है जो ईएसबी (डेटापावर हार्डवेयर उपकरण के साथ) बनाने में आसान बनाता है। उनके पास विभिन्न तकनीकी जड़ें हैं, लेकिन कुछ उद्देश्य में ओवरलैप हैं। साथ ही, यह कहना नहीं है कि आप कई अन्य चीजों के साथ ईएसबी नहीं बना सकते हैं जिन्हें 'ईएसबी उत्पाद' के रूप में ब्रांडेड नहीं किया जाता है।

यह आपके सभी सवालों का जवाब नहीं देता है, लेकिन उम्मीद है कि आईबीएम भाग को संबोधित करेंगे।

+0

धन्यवाद एंड्रयू। मुझे यह जानकर प्रसन्नता हो रही है कि आप वेबस्पेयर ईएसबी पर एक विशेषज्ञ हैं। मेरे पास एक बात स्पष्ट है। ईएसबी एक उत्पाद नहीं है और यह एक मौलिक वास्तुशिल्प दृश्य है: एक बस.अब, अगर ईएसबी 2002 के बाद से ही जगह पर है , यह भी क्यों बनाया गया था? मेरा मानना ​​है कि "ईएसबी की खोज" करने के लिए बहुत बहस है। यदि वेबस्पेयर ब्रोकर "ईएसबी" की सभी चीजें "बना" सकता है, तो यह एक ईएसबी उत्पाद क्यों दावा करता है? मैंने भी देखा है रेड बुक जो आपको वेबस्पेयर ब्रोकर के साथ एक ईएसबी "कैसे कार्यान्वित करें" दिखाता है। – Franklin

+6

मैं वास्तव में नहीं जानता कि यह एक अच्छा सादृश्य है या नहीं। हमारे घर नौकरानी मेरे लिए खाना बनाती है। मेरी मां भी मेरे लिए खाना बनाती है।हालांकि मैं अपनी मां को घर के नौकरियों को नहीं बुला सकता क्योंकि वह एक नौकरानी के कर्तव्यों का पालन करती है, क्या मैं (अगर मैंने ऐसा किया, तो रात के खाने का अंत)? एक मौलिक अंतर है जिसे दूर नहीं किया जा सकता है? – Franklin

+0

गार्टनर के सबसे वरिष्ठ मिडलवेयर विश्लेषक रॉय शूल्टे ने जोर देकर कहा: "ईएसबी का सबसे प्रत्यक्ष पूर्वज 1998 से मोमबत्ती का रोमा उत्पाद था, जिसे बाद में मोमबत्ती पाथवाई कहा जाता था।" अप्रैल 2004 में आईबीएम द्वारा मोमबत्ती का अधिग्रहण किया गया था - एक विडंबना जो कि तिब्को या सोनिक सॉफ्टवेयर पर खो नहीं जाएगी, क्योंकि आईबीएम ने हाल ही में दावा करना शुरू कर दिया है कि उसके पास भी ईएसबी है - आईबीएम के स्टीव मिल्स ने कंप्यूटरवायर को बताया कि: "मैं जानते हैं कि हम करते हैं [एक ईएसबी है], वास्तव में मैं कई सालों से ईएसबी कार्यक्षमता प्रदान कर रहा हूं। " – Franklin

13

मैंने कुछ दिन पहले उडी दहन द्वारा इस लेख को पढ़ा था, जो आपको एक मौलिक अंतर के बारे में एक और स्पष्ट दृष्टिकोण दे सकता है।

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

का हवाला देते हुए:

नियम यह है कि वहाँ केवल एक दिया घटना प्रकार के लिए एक एक प्रकाशक हो सकता है चीजों में से एक है कि दलालों से बसों differentiates, हालांकि दोनों स्पष्ट रूप से है आपको पर कई ग्राहक हैं

.. ।

दुर्भाग्य से, वहाँ कई दलाल शैली प्रौद्योगिकियों बाहर वहाँ कि उद्यम सेवा बस की बैनर तले विपणन किया जा रहा रहे हैं। जबकि कुछ उत्पादों की क्षमता दोनों एक केंद्रीकृत और वितरित फैशन में तैनात किया जा करने के लिए है (कभी कभी "फ़ेडरेटेड" या "एम्बेडेड" मोड कहा जाता है), कई "प्रति घटना प्रकार एकल प्रकाशन समाप्ति बिंदु" लागू न करें राज करते हैं।

इस बाधा के बिना, यह केवल गलतियों को करने में बहुत आसान है।

उम्मीद है कि यह मदद करता है।

+0

यह एक अच्छा लेख है, लेकिन ईएसबी को संबोधित नहीं करता है टिप्पणियाँ। – NealWalters

4

एक उद्यम सेवा बस व्यापार करने के लिए तीन कुंजी मान प्रदान करता है:

  1. संदर्भ-या लेन-देन की सामग्री- आधारित रूटिंग;
  2. एक संदेश डोमेन या परिवहन से दूसरे संदेश डोमेन या परिवहन में परिवर्तन;
  3. कई से कई सेवा कनेक्टिविटी।

ESBs, सेवाओं की ढीला संयोजन प्रदान सेवाओं जब सेवाओं पहले कल्पना या विकसित किए गए की तुलना में पूरी तरह से अलग आवेदन संदर्भों में पुनर्गठित करने की अनुमति दे, और अनुप्रयोगों पुनःकूटित की आवश्यकता के बिना आवेदन पत्र के पुन: उपयोग को बढ़ावा देने के। वेबस्पेयर संदेश ब्रोकर (या अब आईबीएम एकीकरण बस कहा जाता है) एंटरप्राइज़ सर्विस बस का एक प्रमुख उदाहरण है। कोड की सादगी के उदाहरण के लिए जो कुछ पंक्तियों में बड़ी शक्ति सहन करता है, आप यहां मेरी पोस्ट देख सकते हैं: http://soabus.org/viewtopic.php?f=3&t=13। आईआईबी रनटाइम के अंदर मौलिक निर्माण को लॉजिकल मैसेज ट्री (एलएमटी) कहा जाता है। डेवलपर जो कुछ भी करना चाहता है वह एलएमटी पर कुछ प्रकार का ऑपरेशन है। ईएसक्यूएल सबसे प्रभावी भाषा है जो एक डेवलपर एलएमटी पर इन परिचालनों को करने के लिए उपयोग कर सकता है, हालांकि कई अन्य भाषाओं का समर्थन किया जाता है (उदाहरण के लिए, जावा, पीएचपी, पायथन, आदि) कोई अन्य उत्पाद दक्षता और ईएसबी के विकास की आसानी के करीब आता है इन अनुप्रयोगों के कोडिंग के 90 प्रतिशत के बाद से आईबीएम एकीकरण बस की तुलना में अनुप्रयोगों को एक फूस पर नोड्स खींचकर और छोड़कर किया जाता है। यह संदेश प्रवाह डेवलपर द्वारा कोडिंग के केवल 10 प्रतिशत को छोड़ देता है।वैसे, वेबस्पेयर ईएसबी को आईबीएम द्वारा बंद कर दिया गया है और आईबीएम इंटीग्रेशन बस के कई प्रतिस्पर्धी उत्पादों ने कई वर्षों से उन पर कोई नया विकास नहीं देखा है। Soabus.org पर विभिन्न ईएसबी उत्पाद प्रसाद की एक सूची देखी जा सकती है।

+0

इस उत्तर में दिए गए लिंक जो soabus.org को इंगित करते हैं अब हल नहीं होते हैं - वे archmule.com पर रीडायरेक्ट हो जाते हैं। – tatlar

13

संदेश ब्रोकर और ईएसबी के बीच का अंतर मुख्य रूप से 'बस' शब्द है।

मेरे लिए, एक संदेश ब्रोकर एक (घरेलू रूप से बड़ी) प्रक्रिया है जो डेटा को एक संरचना से दूसरे संरचना में बदलता है या सामग्री को संशोधित करता है।

एक ईएसबी एक संदेश उन्मुख मिडलवेयर (एमओएम) और अतिरिक्त सेवाएं है, जिनमें से एक एक संदेश ब्रोकर हो सकता है। इसलिए एक ईएसबी एक संदेश ब्रोकर को इसके घटकों में से एक के रूप में शामिल कर सकता है। एक बस में एक से अधिक प्रक्रियाएं होती हैं, अन्यथा मैं इसे 'बस' नहीं कहूंगा। बस की प्रकृति यह है कि विभिन्न कार्यों की सेवा करने वाले कई घटक हैं, प्रत्येक एक एमओएम पर संचार करता है और 'सामान्य डेटा प्रारूप' के कुछ रूपों का पालन करता है। एक बस में शामिल होंगे: एमओएम, डाटाबेस एडेप्टर, संदेश ब्रोकर्स, एमओएम पुल इत्यादि को डेटा भेजने वाले अनुप्रयोग

अलगाव थोड़ा धीरे-धीरे है, लेकिन संदेश ब्रोकर आर्किटेक्चर और बस के बीच सबसे बड़ा अंतर यह है कि ग्रैन्युलरिटी। यदि आपका कार्य एप्लिकेशन ए, बी, .., जेड और कुछ डेटाबेस को एकीकृत करना है, तो आप इसे एक और संदेश संदेश ब्रोकर के साथ प्रत्येक और सभी को जोड़कर कर सकते हैं। या एक ईएसबी के साथ जहां कई छोटे घटक केवल छोटे कार्यों पर लेते हैं। उदाहरण के लिए एक एडाप्टर ए से जुड़ता है, दूसरा बी से (लेकिन वे रूपांतरण नहीं करते हैं), तो प्रत्येक व्यक्ति अपनी सामग्री को एक (या अधिक) संदेश ब्रोकर भेजता है, जिनमें से प्रत्येक को जितना संभव हो सके सरल रखना चाहिए - उदा। 'ए' या 'बी' के डेटा मॉडल के बारे में नहीं जानना। एक अच्छी ईएसबी में बस पर एक आम डेटा परिभाषा होनी चाहिए, जो अलग-अलग अनुप्रयोगों की 'भिन्नता' से अलग है।

ट्रांसफ़ॉर्मेशन: एक ईएसबी परिवर्तन के साथ मदद नहीं करता है, जब तक यह संदेश ब्रोकर के साथ आता है। लेकिन प्रत्येक अच्छे ईएसबी में किसी भी तरह का संदेश ब्रोकर शामिल होना चाहिए। संदेश ब्रोकर परिवर्तन के लिए आपकी बस का विशेषज्ञ होना चाहिए, लेकिन कुछ भी नहीं।

हॉरिज़ोनल स्केलिंग: यदि आपके पास केवल 3 चीजें कनेक्ट हैं (अब और हमेशा के लिए), तो शायद यह पूरी तरह से उभरने वाली ईएसबी प्राप्त करने के प्रयास के लायक नहीं है। एक संदेश ब्रोकर का सिर्फ एक बड़ी प्रक्रिया होने का लाभ है। आप वहां सबकुछ कॉन्फ़िगर कर सकते हैं और अपने सभी डेटा मैपिंग, फ़िल्टरिंग और रूटिंग के लिए केंद्रीय स्थान प्राप्त कर सकते हैं।

लेकिन यदि आपके पास कनेक्ट करने के लिए 30 एप्लिकेशन हैं, तो एक संदेश ब्रोकर शायद पीसने के लिए आ जाएगा। बेशक आप अधिक उदाहरण खरीद सकते हैं, चीजों को अनावश्यक कर सकते हैं, आदि। लेकिन आपको अपनी रणनीति को 'स्थानीयकरण' नौकरियों में बदलना चाहिए। प्रत्येक एप्लिकेशन का एडाप्टर (प्रत्येक एक छोटा संदेश ब्रोकर उदाहरण हो सकता है) एक अमूर्त आम डेटा मॉडल उत्पन्न करने और/या प्राप्त करने में सक्षम होना चाहिए (जैसे साझा एक्सएसडी के साथ एक्सएमएल)। परिवर्तन कार्यों के लिए एक केंद्रीय संदेश ब्रोकर भी हो सकता है, लेकिन उस उदाहरण को डेटा मॉडल ए या बी से अनजान होना चाहिए। इसलिए ईएसबी को सब कुछ केंद्रीय स्थान पर रखने के बजाय प्रसंस्करण घटक को ले जाना चाहिए।