"वहां आप हैं।"

"मैंने इसके बारे में सोचा और आपको एक और छोटा सबक सिखाने का फैसला किया जो आपके लिए बहुत मददगार होगा। जब तक आप एक प्रोग्रामर के रूप में काम नहीं करते हैं, तब तक आप कुछ विशेष शब्दावली का सामना नहीं कर सकते हैं, इसलिए अब मैं आपको कई सामान्य अवधारणाओं से परिचित कराना चाहता हूं।"

"लगभग 10 साल पहले, E Enterprise  Java Beans  ( EJB ) का व्यापक रूप से उपयोग किया जाने लगा "

"JavaBeans का क्या मतलब है?"

"JavaBeans मूल रूप से कॉफी बीन्स का मतलब है (Java एक तरह की कॉफी है)। यह IT हास्य है।"

"एक कार्यक्रम के व्यावसायिक तर्क ने उच्च-स्तरीय वस्तुओं, या बीन्स के समूह का रूप ले लिया, जो संदेशों का आदान-प्रदान कर सकते थे, खुद को बचा सकते थे, एक दूसरे को नाम से ढूंढ सकते थे, और बहुत कुछ। आमतौर पर, यह एक विशेष सुपर- के माध्यम से हासिल किया गया था। फैंसी अभिभावक वर्ग हालांकि अन्य दृष्टिकोण थे। ऐसी वस्तुओं का व्यवहार अत्यधिक विनियमित था।"

"ईजेबी बीन्स के तीन सबसे प्रसिद्ध प्रकार हैं:"

"एक इकाई बीन एक बीन है जिसका उद्देश्य कुछ डेटा को स्टोर करना है। इस प्रकार की बीन में डेटाबेस में खुद को और उसके क्षेत्रों को सहेजने के लिए एक अंतर्निहित तंत्र है। इस प्रकार की वस्तु को नष्ट किया जा सकता है और फिर बाद में डेटाबेस से पुन: बनाया जा सकता है। लेकिन डेटा स्टोर करने के अलावा इसमें कोई तर्क नहीं है।"

"एक सत्र बीन एक कार्यात्मक बीन है। प्रत्येक सत्र बीन का अपना कार्य होता है। एक एक काम करता है, और दूसरा कुछ और करता है। ऐसी फलियाँ अन्य वस्तुओं और फलियों के साथ काम करती हैं, अपने स्वयं के डेटा के साथ नहीं।"

" सत्र बीन्स को दो श्रेणियों में विभाजित किया गया है।"

"एक स्टेटलेस सेशन बीन एक बीन है जिसके आंतरिक चर महत्वपूर्ण डेटा को संग्रहीत नहीं करते हैं जिसे इसे कार्य करने की आवश्यकता होती है। इस प्रकार की बीन को नष्ट किया जा सकता है और फिर से बनाया जा सकता है, और यह पहले की तरह अपना कार्य करेगा।"

"एक स्टेटफुल सेशन बीन एक बीन है जो आंतरिक रूप से उस डेटा को संग्रहीत करता है जिसका उपयोग वह काम करते समय करता है। यदि हम इस तरह के बीन पर तरीकों को कॉल करते हैं, तो प्रत्येक बाद की कॉल पिछले कॉल में बीन को दिए गए कुछ डेटा का उपयोग कर सकती है। फिर भी, यह बीन नियमित वस्तु के समान नहीं है।"

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

"एक POJO एक Plain O ld  Java O वस्तु है। इन वस्तुओं में कोई सुपर-फंक्शन नहीं था और सुपर-ऑब्जेक्ट्स इनहेरिट नहीं करते थे। वे केवल नियमित जावा ऑब्जेक्ट थे । 

"जब आप व्यवहार में EJB को जान जाते हैं, तो आप अंतर को समझ जाएंगे। मोटे तौर पर, POJO एक चाकू है, और EJB एक स्विस आर्मी चाकू है जिसका उपयोग आप फोन कॉल करने के लिए भी कर सकते हैं।"

"दिलचस्प तुलना।"

"हाँ, और यहाँ एक बात और है।"

"समय के साथ, वस्तुएं और कक्षाएं विशिष्ट होने लगीं। परिणामस्वरूप, डेवलपर्स ने कुछ भूमिकाओं की पहचान की और संबंधित वस्तुओं को नए नाम दिए।"

"डेटा ट्रांसफर ऑब्जेक्ट ( डीटीओ ) डेटा ट्रांसपोर्ट करने के लिए बनाई गई एक वस्तु है। इन ऑब्जेक्ट्स की आमतौर पर दो आवश्यकताएं होती हैं। उन्हें: ए) डेटा स्टोर करने में सक्षम होना चाहिए, बी) क्रमबद्ध होना चाहिए। दूसरे शब्दों में, उनका उपयोग केवल डेटा स्थानांतरित करने के लिए किया जाता है। "

"आप एक ऑब्जेक्ट बनाते हैं, उसमें व्यावसायिक तर्क से आवश्यक डेटा लिखते हैं, इसे JSON या XML में क्रमबद्ध करते हैं, और इसे जहां जाने की आवश्यकता होती है वहां भेजते हैं। या दूसरी तरफ: एक संदेश आता है, आप इसे एक डीटीओ ऑब्जेक्ट में deserialize , और इससे डेटा निकालें।"

"एक इकाई एक वस्तु है जो एक डेटाबेस में संग्रहीत होती है। लेकिन उनमें कोई व्यावसायिक तर्क नहीं होता है। आप कह सकते हैं कि यह व्यवसाय मॉडल का डेटा है।"

"हमारे पास डेटा एक्सेस ऑब्जेक्ट ( डीएओ ) भी है। एक डीएओ का उपयोग ऑब्जेक्ट्स को डेटाबेस से सहेजने और उन्हें पुनर्प्राप्त करने के लिए किया जाता है। इकाई ऐसा नहीं करती है, क्योंकि इसमें कोई तर्क नहीं है, इसलिए यह सहेज नहीं सकता है कहीं भी कुछ भी।"

उदाहरण:

एक डीएओ और एक इकाई के बीच संबंध
UserEntity user = UserDAO.getUserById("1535");
if (user.getAge() > 18)
{
 user.setMobilization(true);
 UserDAO.save(user);
}
टिप्पणियाँ
UserEntity is a class that stores user data
UserDAO is a class that retrieves data (UserEntity objects) from the database and stores it there again after modifying it.

"अभी के लिए इतना ही।"

"भले ही यह एक छोटा प्रारंभिक पाठ है, फिर भी आप अभी और अधिक समझने में सक्षम नहीं होंगे। हम इनमें से प्रत्येक विषय के बारे में बात करने में दिन बिता सकते हैं, और हम EJB को कवर करने में वर्षों लगा सकते हैं।"

"लेकिन मैं चाहता हूं कि आप कम से कम यह कल्पना करने में सक्षम हों कि क्या कहा जा रहा है यदि आप इन चीजों को बातचीत और संदेशों में, मंचों पर, या एक साक्षात्कार में देखते हैं।"

"हम्म। धन्यवाद, बिलाबो। हाँ, मुझे लगता है कि मुझे पर्याप्त तकनीकी शब्द नहीं पता हैं। फिर से, बहुत-बहुत धन्यवाद।"