मैं ईजेबी 3 (हाइबरनेट + ऐप के लिए ग्लासफ़िश और वेब सेवा परत, वेब यूआई के लिए ग्लासफ़िश पर लिफ्ट) का उपयोग कर जावा में एक बहु-स्तरीय वित्तीय प्रसंस्करण अनुप्रयोग विकसित करने की प्रक्रिया में हूं और मैं मैं अपने व्यापार तर्क कहां रखना है इस सवाल के साथ संघर्ष कर रहा हूं।ईजेबी 3 बिजनेस लॉजिक पैटर्न और प्रैक्टिस
जब यह प्रोजेक्ट शुरू हुआ, हमारी पहली धारणा हमारे व्यापार तर्क का थोक स्टेटलेस सत्र बीन्स में डालना था। जैसे-जैसे समय बीत चुका है, हमें ईजेबी ढांचे द्वारा सीमित निर्भरता इंजेक्शन मिला है, इसलिए हमारे बहुत सारे व्यावसायिक तर्क पीओजेओ में समाप्त हो गए हैं जो ग़लत द्वारा स्टेटलेस सत्र बीन्स की @ पोस्ट कॉन्स्ट्रक्ट विधि में एकत्र किए गए हैं । इस प्रगति ने सत्र बीन्स और पीओजेओ के बीच हमारे व्यापार तर्क के विखंडन को जन्म दिया है, और मैं इसे सुधारने के लिए एक दृष्टिकोण को समझने की कोशिश कर रहा हूं।
प्रारंभ में, हमने अपने वेब स्तरीय सत्र बीन्स के रिमोट इंटरफेस का उपयोग करने के लिए यूआई और वेब सेवा परत से उपलब्ध कुछ कार्यों को करने की कोशिश की, जो @ वेब सेवा-एनोटेटेड स्टेटलेस सत्र बीन्स द्वारा प्रदान की जाती है । यह एक दृढ़ता और प्रदर्शन परिप्रेक्ष्य से एक दुःस्वप्न बन गया, क्योंकि हमारी इकाई ग्राफ काफी बड़ी हो सकती है और निरंतर त्रुटि ग्राफ को अलग-अलग त्रुटि-प्रवण होने के लिए पृथक इकाई ग्राफ को दोहराया जा सकता है, इसलिए हमारा समाधान केवल ऑब्जेक्ट पास करना शुरू करना था आसपास के पहचानकर्ता और जहां भी उनकी जरूरत थी डेटाबेस से इकाइयों को देख रहे थे।
मेरा मूल प्रश्न यह है कि आप निर्णय लेने के लिए कौन से सिद्धांत और दिशानिर्देश सुझा सकते हैं कि व्यवसाय तर्क सत्र बीन या पीओजेओ में जाना चाहिए या नहीं? जटिल ऑब्जेक्ट ग्राफ़ दिए जाने पर, इकाई के आसनों को पारित करने के लिए यह कब समझ में आता है?
"सिस्टम" सेवाओं द्वारा, आप दृढ़ता संदर्भ, लेनदेन इत्यादि जैसी चीजों का जिक्र कर रहे हैं? मैं पूछता हूं क्योंकि मेरा एप्लिकेशन कई बाहरी सेवाओं का उपयोग करता है जिनके लिए इंजेक्शन निर्भरता (कनेक्शन कॉन्फ़िगरेशन और सामान) की आवश्यकता होती है जिन्हें मैं गुइस के साथ संभालना चाहता हूं। –