2011-07-04 20 views
12

निम्नलिखित शर्तों के बीच संबंध और अंतर क्या है?ईएमएस, ईएसबी और एमओएम, जेएमएस

  • Enterprise संदेश प्रणाली (ईएमएस)
  • उद्यम सेवा बस (ESB)
  • संदेश उन्मुखी मिडिलवेयर (माँ)
  • जावा संदेश सेवा (JMS)
+1

हमारी कंपनी में "प्रबंधन/कार्यकारी" स्तर पर ईएसबी का भ्रम हमेशा होता है। हमने टिब्को उत्पादों को खरीदा और उन्होंने इसे "ईएसबी" के रूप में बताया जिसे उन्होंने ईएमएस सर्वर और बिजनेस वर्क्स जैसे सभी ऐप्स के रूप में परिभाषित किया, जो उनके साथ चल सकते हैं। मैंने तर्क दिया कि उस परिभाषा से .net को इसमें वर्गीकृत किया जा सकता है। तो ईएसबी - एक मैसेजिंग सिस्टम का मतलब है, लेकिन "ईएसबी" का विपणन उन सभी उपकरणों का मतलब है जो इसके साथ जाते हैं, टिब्को के अनुसार, जो मैं असहमत हूं लेकिन स्पष्टता के हित में अधिकारियों के साथ संवाद करते समय वे जानते हैं कि वे क्या जानते हैं। – Brian

उत्तर

4

ईएमएस: किसी भी समाधान जो आरपीसी प्रोटोकॉल के विपरीत संदेश-उन्मुख प्रोटोकॉल पर एकाधिक एप्लिकेशन दें, इसलिए बुनियादी रूप से इंटरैक्टिंग एप्लिकेशन परिवहन के बजाए संदेश डेटा के लिए अधिक बाध्य हैं।

माँ: मुझे विश्वास है कि इसे फिर से ईएमएस के रूप में माना जा सकता है।

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

JMS: यह वर्दी जो डेवलपर JMS एपीआई के साथ सीधे काम करते हैं और चिंता करने की क्या संदेश के ढांचे अंतर्निहित है की जरूरत नहीं है के लिए सक्षम बनाता जावा मंच द्वारा प्रदान की एपीआई है। जेएमएस एपीआई द्वारा काम करने के लिए एक मैसेजिंग कार्यान्वयन जेएमएस-अनुरूप होना चाहिए।

4

जबकि @ ag112 का जवाब "ईएमएस" फैलता है मतलब "उद्यम संदेश प्रणाली," परिवर्णी शब्द कुछ हद तक अस्पष्ट है और शायद "ईएमएस" का सबसे आम विस्तार TIBCOEnterprise Messaging Service, जो TIBCO की विशेष मालिकाना मंच है कि समर्थन करता है है को उल्लेख करता है Java Messaging Service (JMS)Specification और कुछ स्वामित्व एक्सटेंशन भी जोड़ता है। एक Enterprise Service Bus (ESB) एक सॉफ़्टवेयर मिडलवेयर एबस्ट्रक्शन लेयर है जो एक सिस्टम संचालित और आमतौर पर खुले मानकों-आधारित उद्यम "मैसेजिंग इंजन" के माध्यम से बड़े सिस्टम में सॉफ़्टवेयर घटकों को एकीकृत करता है। ये "message oriented middleware (MOM)" संरचनाओं का अक्सर सॉफ्टवेयर एकीकरण में उपयोग किया जाता है और संभवतः Service Oriented Architecture (SOA) के कार्यान्वयन में देखा जाएगा।

11

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

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

मैसेजिंग बनाम ईएसबी का व्यापार-बंद अन्य अनियमित/टाइप किए गए विकल्पों के समान हैं: आरईएसटी बनाम एसओएपी, एक्सएसडी, ग्रोवी बनाम जावा के साथ असंबद्ध एक्सएमएल बनाम एक्सएमएल ... कुछ लोग अतिरिक्त संरचना का आनंद लेंगे (पेपर पर अच्छा दिखता है - इस तरह के प्रबंधकों) - कुछ इसे नफरत करेंगे (जब संस्करण बदलते हैं तो चीजें तोड़ती हैं, थोड़ी सी अतिरिक्त चीज़ों के लिए आपको सब कुछ अपडेट करना पड़ता है - हैकर्स इसे इतना पसंद नहीं करते हैं; -) (पुनर्क्रमित

अपने प्रश्नों के वापस आ रहा है)

  • संदेश उन्मुखी मिडिलवेयर (माँ): एक दलाल (या नहीं) अनुप्रयोगों के बीच 'संदेश संवाद करने के लिए के साथ विभिन्न भाषाओं के लिए सॉफ्टवेयर पुस्तकालयों। टीसीपी/आईपी संचार से एक कदम ऊपर। 'संदेश' संरचित वस्तुएं या टेक्स्ट स्ट्रिंग या बाइनरी डेटा हैं। आम तौर पर आपके पास टीसीपी/आईपी या यूडीपी पर अतिरिक्त विश्वसनीयता होती है। कुछ उदाहरण: TIBCO आर.वी. और ईएमएस, आईबीएम MQ, अपाचे ActiveMQ, ZeroMQ, ...

  • जावा संदेश सेवा (JMS): माँ के लिए एक आम एपीआई की परिभाषा - लोगों ने शिकायत की है कि जब से आपके आवेदन स्विच एमओएम 'एक्स' से एमओएम 'वाई' आपको संदेश कोड को फिर से लिखना होगा। JMS की TIBCO के कार्यान्वयन (उत्पाद: आप JMS के खिलाफ कोड, तो आप सिर्फ पुस्तकालयों और एक ही आवेदन है कि TIBCO ईएमएस के साथ काम करने अचानक ActiveMQ (या इसके विपरीत)

  • Enterprise संदेश प्रणाली (ईएमएस) के साथ काम करता इस्तेमाल किया स्विच कर सकते हैं, तो नाम: TIBCO ईएमएस)

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