सबसे पहले, आप क्या करने की कोशिश कर रहे हैं? एसओए उन प्रणालियों के लिए उपयोगी है जिन्हें अपेक्षाकृत आसानी से बदलने और नए प्रोग्रामर के लिए सुलभ होने की आवश्यकता है। दूसरी तरफ आप एक प्रदर्शन ट्रेडऑफ करते हैं क्योंकि आप अलग-अलग दृढ़ता को समाप्त करते हैं - ताकि डेटाबेस की बजाय एप्लिकेशन सर्वर पर इसकी बातचीत हो। आम तौर पर यह प्रदर्शन ट्रेडऑफ एक गैर-मुद्दा है, लेकिन यदि आप उच्च लेनदेन प्रणाली के माध्यम से काम कर रहे हैं तो आपको डेटाबेस में कुछ एल्गोरिदम डालकर समझौता करने की आवश्यकता हो सकती है और वे आपकी सेवाओं के टूटने का उल्लंघन कर सकते हैं।
तो अगर आप पेशेवरों चाहते हैं और विशेष रूप से विपक्ष के साथ संबंध नहीं हैं, विषय पर कुछ लागू किताबें पढ़ने से शुरू:
क्या आप के प्रति रुझान करना चाहते हैं उच्च स्तर सेवा वस्तुओं जिसका रिश्तों एक service locator कंटेनर के माध्यम से dependency injection के माध्यम से प्रबंधित कर रहे हैं के साथ एक डिजाइन है। कोल्डफ्यूजन के मामले में ColdSpring एक उदाहरण है। यह object mocking के लिए अनुमति देता है ताकि आप आसानी से इकाई परीक्षण कर सकें। उदाहरण के लिए, यदि सेवाएं अन्य सर्वरों पर रहती हैं, तो स्थानीय स्तर पर सेवा ऑब्जेक्ट्स होती हैं जो निर्भरता के रूप में पारित होने वाली प्रॉक्सी होती हैं। इन प्रॉक्सी का परीक्षण करने के लिए मजाक किया गया है इसलिए उन्हें दूरस्थ सर्वर से बात करने की ज़रूरत नहीं है।
त्रुटि प्रबंधन और सर्वर आउटेज के संबंध में। मुझे लगता है कि आप मुख्य रूप से स्थानीय सर्वर के नियंत्रण के बाहर मुद्दों से निपटने के बारे में चिंतित हैं। सेवा प्रॉक्सी ऑब्जेक्ट का उपयोग करने का यह एक अन्य कारण है। इस ऑब्जेक्ट को टाइमआउट, खराब प्रतिक्रिया मानों और जैसे प्रभावी ढंग से anti corruption layer से निपटने के लिए ज़िम्मेदार होना चाहिए।
डेटाबेस साझा करने के लिए, मैं अपने सेवा संबंध संबंधों को प्रतिबिंबित करने के लिए अपने टेबल संबंधों का निर्माण करूंगा। इसलिए यदि प्रश्नों की तालिका में डेटा है जो केवल सेवाओं के माध्यम से संबंधित है, तो मैं किसी भी विदेशी कुंजी बाधाओं को लागू नहीं करूंगा। तो जब वे एक ही डेटाबेस में हो सकते हैं, इससे कोई फर्क नहीं पड़ता। यह आपको कोड में अपेक्षाकृत कम परिवर्तन के साथ कहीं और उन सेवाओं और डेटाबेस तालिकाओं को स्थानांतरित करने में सक्षम बनाता है।
और ईएसबी को आमतौर पर एक सेवा उन्मुख वास्तुकला में एक महत्वपूर्ण घटक के रूप में देखा जाता है। मध्यस्थता और रूटिंग कर्तव्यों को संभालने के लिए ईएसबी के बिना, आपके पास एक पॉइंट-टू-पॉइंट आर्किटेक्चर है जो वेब सेवाओं का उपयोग करने के लिए होता है। –
@ ब्रूक्स-बिलसन लेकिन "वेब-सेवाओं का उपयोग करने के लिए पॉइंट-टू-पॉइंट आर्किटेक्चर" को पहले से ही एसओए आर्किटेक्चर के रूप में योग्यता प्राप्त किया जा सकता है, सही? – Henry