मैं जावा ईई के लिए बहुत नया हूं और मैं स्थानीय इंटरफेस और रिमोट इंटरफेस की अवधारणा को समझने की कोशिश कर रहा हूं।
EJB विनिर्देश के शुरुआती संस्करणों में, EJB को "दूरस्थ" घटक माना जाता था और उन्हें आह्वान करने का एकमात्र तरीका RMI शब्दार्थ और सभी उपरि का उपयोग करके दूरस्थ कॉल करना था (यह एक नेटवर्क कॉल और प्रत्येक के लिए ऑब्जेक्ट क्रमांकन था। मेथड कॉल)। EJB ग्राहकों को EJB कंटेनर के साथ एक ही वर्चुअल मशीन में धराशायी होने पर भी यह प्रदर्शन जुर्माना देना पड़ता था।
बाद में, सन को पता चला कि अधिकांश व्यावसायिक अनुप्रयोग वास्तव में ईजेबी को एक अलग स्तर पर वितरित नहीं कर रहे थे और उन्होंने स्थानीय इंटरफेस की अवधारणा को शुरू करके (ईजेबी 2.0 में) कल्पना को ठीक कर दिया ताकि ग्राहकों को उसी वर्चुअल मशीन में ईओबी कंटेनर के साथ कॉल किया गया जो ईजेबी का उपयोग कर कॉल कर सकते हैं प्रत्यक्ष विधि आह्वान, पूरी तरह से आरएमआई शब्दार्थ (और संबद्ध ओवरहेड) को दरकिनार।
मुझे बताया गया है कि जावा ईई का एक बड़ा फायदा यह है कि इसे स्केल करना आसान है (जो मेरा मानना है कि आप विभिन्न घटकों को अलग-अलग सर्वरों पर तैनात कर सकते हैं)
जावा ईई पैमाने कर सकते हैं, लेकिन यह जरूरी नहीं कि घटकों को वितरित करने का मतलब है । आप वेब टियर और EJB टियर को अलग किए बिना क्लस्टर पर वेब + ईजेबी एप्लिकेशन चला सकते हैं।
यदि आप अपने अनुप्रयोग को विभिन्न सर्वरों पर अलग-अलग घटकों की अपेक्षा करते हैं, तो क्या आप रिमोट इंटरफेस का उपयोग करने वाले हैं? और स्थानीय इंटरफेस का उपयोग करें यदि आपका आवेदन केवल एक सर्वर पर रहने वाला है?
मैं इसे इस तरह वाक्यांश देता हूं: यदि ग्राहक एक ही जेवीएम में नहीं हैं तो रिमोट इंटरफेस का उपयोग करें (इसका मतलब केवल एक सर्वर / जेवीएम का उपयोग करना नहीं है)।
(...) स्थानीय इंटरफेस का उपयोग करके शुरू करें, और जहां लागू हो वहां धीरे-धीरे दूरस्थ इंटरफेस में अपग्रेड करें?
मैं शायद स्थानीय इंटरफेस का उपयोग करके शुरू करूंगा। और जैसा कि पहले ही संकेत दिया गया है, दूरस्थ इंटरफेस पर स्विच करना हमेशा अनिवार्य नहीं होता है (आप एक ढह गई संरचना को क्लस्टर कर सकते हैं )।
मैं नीचे उल्लिखित संसाधनों की जांच करने का सुझाव देता हूं (2 पहले वाले काफी पुराने हैं, लेकिन अभी भी प्रासंगिक हैं, 2 अन्य हाल के हैं)।
साधन