2009-09-02 16 views
27

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

जैसा कि मैंने कहा था, मेरे पास पहले से ही एक वेब ऐप है जिसे मैवेन द्वारा बनाया गया था और उम्मीद है कि सिस्टम में से एक को एकीकृत करना काफी सरल होगा, यहां तक ​​कि सिर्फ एक ईमेल भेजने जैसा आसान है, लेकिन ऐसा लगता है कि या तो जोड़ना जार के मामले में आधा दुनिया और मौजूदा उत्पाद में एम्बेड करना मुश्किल होगा।

क्या इन विकल्पों में से किसी एक को खींचने का प्रयास करना उचित है? क्या उन्हें पूरी तरह से पुनर्गठन किए बिना मौजूदा ऐप में एकीकृत करने का कोई आसान तरीका है? क्या अन्य, हल्के वजन विकल्प हैं? क्या ऐसे कुछ पहलू हैं जिन पर मुझे विचार करना चाहिए कि उनका उपयोग सार्थक होगा?

+2

अधिक जटिलता के अलावा आपको ईएसबी क्या खरीद रहा है? आपको ऐसा क्यों लगता है कि आपको इसकी आवश्यकता है? "कई" कितनी सेवाएं हैं, और आपको लगता है कि आपको कितने ईएसबी को जरूरी बनाना है? – duffymo

+1

जब हम उत्पादन को दबाते हैं, तब तक बाहरी सेवाओं के निम्न दोहरे अंकों में होने की उम्मीद है। और वे अलग-अलग होंगे, लेकिन उनमें से कई समान उद्देश्यों की सेवा करेंगे। उदाहरण के लिए, ईमेल, आईएम या एसएमएस के माध्यम से अधिसूचना, जहां केवल अंतर ही माध्यम है। – Tim

+4

एक साल बाद एक फॉलोअप। ऊंट के लिए मुले बाहर स्वैपिंग समाप्त हो गया। हम ऊंट से बहुत खुश हैं। आश्चर्यजनक रूप से जीवंत समुदाय, हल्के वजन और अब आम तौर पर अच्छे दस्तावेज़ीकरण के पूरक के लिए एक पुस्तक है। मैं कहूंगा कि ऊंट के साथ शुरूआत करें जब तक कि कुछ स्पष्ट कारण नहीं है कि आपको पूर्ण ईएसबी की आवश्यकता होगी। – Tim

उत्तर

13

एमएलएल के साथ मिलकर सेवाओं को जोड़ने के मामले में मुले का उपयोग करना काफी आसान है और उनके पास बहुत से वीडियो उदाहरण हैं जो मुझे वास्तव में उपयोगी साबित हुए हैं।

ईएसबी भविष्य होने चाहिए और जैसा कि आप कहते हैं - आपका टेक्स्टबुक उदाहरण जैसा लगता है कि इसका उपयोग कहां किया जाए।

मैं अपने सभी सवालों के जवाब देने की कोशिश करेंगे:

इसके लायक है इनमें से एक विकल्प में खींचने की कोशिश कर? मुझे लगता है कि यह एक सवाल है जिसे आपको खुद से पूछने की आवश्यकता है - आप क्या हासिल करने की कोशिश कर रहे हैं? यदि आप इसे कार्यान्वित करना आसान बनाने की कोशिश कर रहे हैं तो यह संभवतः एक ही समय में शुद्ध कोड या ईएसबी के माध्यम से ले जाएगा जो सभी सेटअप के साथ शामिल है। यदि आप इसे सीखने के अभ्यास के रूप में करने की सोच रहे हैं तो यह सार्थक हो सकता है।

क्या उन्हें पूरी तरह से पुनर्गठन किए बिना मौजूदा ऐप में एकीकृत करने का कोई आसान तरीका है? संक्षिप्त उत्तर संख्या। आपको अधिकांश तृतीय-पक्ष पुस्तकालयों/ढांचे के साथ एकीकृत करने के लिए कुछ पुन: इंजीनियरिंग की आवश्यकता होगी।

क्या अन्य, हल्के वजन विकल्प हैं? मुले वास्तव में काफी सरल है। आप HTTP, एसएमएस और आईएम करने के लिए एक एमक्यू का उपयोग करने में सक्षम हो सकते हैं। संभवतः ActiveMQ या RabbitMQ।

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

+1

मैं बिना किसी परेशानी के परियोजना के साथ काम कर रहे मुले को प्राप्त करने में सक्षम था, हालांकि ऐसा लगता है कि यह हर जार कल्पना में खींचता है। जब मुझे अंत में सही जगह मिल गई, तो मेरे कोड पर असर बहुत कम था, जो अच्छा है, लेकिन दस्तावेज मौजूदा वेबपैप में मुले को एकीकृत करने के लिए बहुत अच्छा नहीं था। मुझे अभी भी यह महसूस नहीं है कि यह सार्थक होगा, लेकिन अब मेरे पास इसका निर्धारण करने का साधन है। धन्यवाद। – Tim

4

मुले प्रोजेक्ट के संस्थापक रॉस मेसन ने इस विषय पर To ESB or Not to ESB पर एक बहुत अच्छा लेख लिखा था। मैंने इसे देखने की सिफारिश की। साथ ही, आप Mule iBeans देख सकते हैं जो एक बहुत ही सरल मॉडल प्रदान करता है यदि आप इसे वेब ऐप के रूप में बना रहे हैं और बस कुछ हल्के एकीकरण करना चाहते हैं और मध्यस्थता में रूचि नहीं रखते हैं।

+0

https://blogs.mulesoft.com/dev/mule-dev/to-esb-or-not-to-esb/ (नया लिंक) –

12

आप अपाचे कैमल फ्रेमवर्क पर भी एक नज़र डालना चाहते हैं जो पूरी तरह से उभरती ईएसबी की दंड के बिना आपके द्वारा समेकित सभी एकीकरण आवश्यकताओं के लिए वास्तव में शक्तिशाली है।

+2

मजेदार आपको उल्लेख करना चाहिए कि जैसा कि मैं अभी एक संभावित विकल्प के रूप में ऊंट का मूल्यांकन कर रहा हूं मुले के बजाए यह अधिक हल्का प्रतीत होता है। मैंने अभी तक कोई निर्णय नहीं लिया है, लेकिन ऐसा लगता है कि यह मुझे वह दे सकता है जो मुझे बिना किसी ओवरहेड के चाहिए। – Tim

1

मैं सलाह देता हूं कि आप अपने मूल्यवान समय को म्यूएल के साथ बर्बाद न करें। मेरा अनुभव अब तक अच्छा नहीं है। मैं इसे किसी भी महत्वपूर्ण प्रणाली के लिए उपयोग नहीं करता। यह एक परिपक्व उत्पाद होने से बहुत दूर है। उस भरोसेमंद सेवाओं के अलावा निश्चित रूप से बहुत सादगी का वादा करता है और वास्तविक उपयोग के मामले हैं।

1

मैं कहूंगा कि अगर आप दो से अधिक आवेदन पत्र या डेटाबेस का एक दूसरे से बात करने की जरूरत है और वे एक से अधिक संचार प्रोटोकॉल का उपयोग कर रहे हैं कि यह निवेश के लायक है। या, यदि आप भविष्य में इस स्थिति को सच होने की उम्मीद करते हैं। आपकी आवश्यकताओं की तरह लगता है निश्चित रूप से यह फिट बैठता है।

एक और स्थिति है कि एक ESB के उपयोग का सुझाव देते हैं या कम से कम एक संदेश बस होगा तुम कहाँ उम्मीद या एक या एक से अधिक आवेदनों की जरूरत है दूसरों की स्वतंत्र रूप से विकसित करने के लिए। उदाहरण के लिए एक सक्रिय विकास में है और अन्य नहीं हैं। एक ईएसबी सक्रिय रूप से विकसित सिस्टम में परिवर्तन से स्थिर प्रणालियों को अलग कर सकता है ताकि हमेशा सबकुछ अपडेट करने की आवश्यकता को हटा दिया जा सके।

एक ESB की असली शक्ति है कि आवेदन पत्र कैसे संवाद और जिसे ESB के साथ संवाद करने और उस घटक उन पहलुओं के लिए पूरी जिम्मेदारी ले जाने पर के बारे में सभी निर्णय प्रतिनिधि कर सकते हैं। अन्य सभी घटक एक-दूसरे से अलग हो जाते हैं और निर्भरताओं के संयोजन की समस्याओं को कम करने के लिए एक दूसरे के बारे में चिंता करने की आवश्यकता नहीं है।

सीखने की अवस्था के संदर्भ में मुझे म्यूएल ईएसबी को लेने के लिए काफी सीधे आगे बढ़ने के लिए मिला है और निश्चित रूप से बहुत कम सीखने की वक्र होगी जो कि आप आवश्यक कई सेवाओं से बात करने के लिए सभी आवश्यक एपीआई सीखने की कोशिश कर रहे हैं से कनेक्ट करने के लिए।