2009-08-12 21 views
8

एक संदेश ड्राइव सिस्टम बनाम ऑर्केस्ट्रेशन इंजन की जिम्मेदारियां क्या हैं।ऑर्केस्ट्रेशन बनाम संदेश संचालित वास्तुकला

यदि मुझे एक ऐसी प्रणाली का निर्माण करना है जो अलग-अलग स्वतंत्र घटकों (क्रॉस-टेक्नोलॉजी/प्लेटफॉर्म घटकों को एक साथ जोड़ना है, जिन्हें वेब सेवा अंत बिंदु का पर्दाफाश करने की आवश्यकता नहीं है), जो टूलसेट चुना जाना है?

क्या कोई बेहतर विकल्प है?

उत्तर

0

जबकि यह प्रश्न जावा टैग किया गया है, मुझे यह देखने में डर है कि अगर आपको वास्तव में यह मार्ग जाना है तो Microsoft's BizTalk Server है।

जब मैं उत्पाद के इस प्रकार का मूल्यांकन करना था (और यह कुछ साल पहले किया गया था) इसके साथ मुख्य विशेषताएं इस प्रकार से किया जा रहा प्रतियोगिता ऊपर सिर और कंधे था:

  • दृश्य विकास के रूप में स्टूडियो पर्यावरण
  • अच्छा दृश्य उपकरण workflows और परिवर्तनों का वर्णन करने के
  • बढ़ाई कनेक्टर प्रतिभागियों के लिए महान वास्तविक समय रिपोर्टिंग
  • साथ
  • शक्तिशाली कार्यप्रवाह इंजन जोड़ने के लिए इस्तेमाल वास्तुकला

अंत में हम को चुनने के लिए चुनते हैं और संदेश मार्ग चलाते हैं, हालांकि इसके लिए आपको सभी प्रतिभागियों का नियंत्रण मिल गया है, जो मामला नहीं हो सकता है।

2

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

कृपया ध्यान दें कि बीपीईएल केवल वेब सेवाओं का उपभोग करने के लिए उपयोग किया जा सकता है यदि आपके घटक वेब सेवाएं नहीं हैं आपको कुछ ईएसबी जैसे मुले का उपयोग करना पड़ सकता है जो एक्सटेंशन के साथ 200+ प्रोटोकॉल का समर्थन कर सकता है।

1

यह तय करते अगर आप आर्केस्ट्रा या संदेश निर्देशित कार्य प्रवाह का उपयोग करना चाहिए, बड़ा सवाल आप का सामना करना पड़ता है, आपको लगता है कि यह एक नियमित आधार पर अपने आर्केस्ट्रा काम प्रवाह बदलने के लिए आवश्यक हो जाएगा है। यदि आपको लगता है कि व्यवसाय प्रक्रिया को लचीला होना आवश्यक है क्योंकि यह परिवर्तन के अधीन है, तो एक कैनोनिकल संदेश प्रारूप को अपनाने और ऑर्केस्ट्रेशन का उपयोग करें, जो सेवाओं के बीच संबंधों को बदलने के प्रभाव को कम करेगा। यदि आपको लगता है कि कार्य प्रवाह स्थिर है तो आप एक संदेश संचालित कार्य प्रवाह को अपना सकते हैं। Personnally मुझे लगता है कि आर्केस्ट्रा सामान्य रूप में बेहतर दृष्टिकोण है, लेकिन यह अधिक सॉफ्टवेयर बुनियादी ढांचे जो Apache Camel जैसे उपकरणों के साथ निवेश में वृद्धि हुई लंबी अवधि के लचीलेपन का इनाम के साथ समय है की जरूरत है।

0

मेरा सुझाव है आप पहली बार अपने ही स्वतंत्र घटकों का पर्दाफाश करने के रूप में सेवा वेब (मैं समझ में नहीं आया है, तो आप पहले से ही इस बात के लिए webservices है) सोचा। that..the सबसे अच्छा विकल्प आपके सिस्टम काम का बोझ/जटिलता पर निर्भर करता करने के बाद।

असल में आप सेवा ऑर्केस्ट्रेशन बनाम कोरियोग्राफी के बीच चयन कर सकते हैं। सेवा आर्केस्ट्रा, बीपीएम/BPEL के साथ किए गए/ESB एक वास्तुशिल्प विकल्प जहां एक ही घटक (सेवा वाद्यवृन्दकार/सेवा संगीतकार) जानता है जो कुछ कदमों की जरूरत है निष्पादित किया जाना है और यह सही क्रम में सेवाएं लागू करने के लिए जिम्मेदार है (वाद्यवृन्दकार पर ही कॉन्फ़िगर है) । यह लेनदेन प्रबंधन को भी संभालता है (यदि आवश्यक हो)।

विपरीत कोरियोग्राफी है जहां वास्तव में पूरे सिस्टम को लिखने वाली प्रत्येक सेवा जानता है कि जब यह एक विशिष्ट संदेश प्राप्त होता है तो कार्य कैसे करें। वास्तव में यह विभिन्न घटक के बीच मतभेद का मामला है। सेवा कोरियोग्राफी यह सेवा संरचना समस्या के लिए एक विकेन्द्रीकृत दृष्टिकोण है।

यदि आपके पास बहुत सारी सेवाएं, जटिल नियम और इतने पर हैं ... शायद जेबीपीएम या इस तरह की कुछ सेवा ऑर्केस्ट्रेटर का उपयोग करना आसान होगा।

संबंधित मुद्दे