"నువ్వు అక్కడ."

"నేను దాని గురించి ఆలోచించాను మరియు మీకు చాలా సహాయకారిగా ఉండే మరో చిన్న పాఠాన్ని బోధించాలని నిర్ణయించుకున్నాను. మీరు ప్రోగ్రామర్‌గా పని చేసే వరకు, మీరు కొన్ని ప్రత్యేక పదజాలాన్ని ఎప్పటికీ ఎదుర్కోలేరు, కాబట్టి నేను ఇప్పుడు మీకు అనేక సాధారణ భావనలను పరిచయం చేయాలనుకుంటున్నాను."

"సుమారు 10 సంవత్సరాల క్రితం, E ఎంటర్‌ప్రైజ్  J ava  B eans ( EJB ) విస్తృతంగా ఉపయోగించబడింది."

"జావాబీన్స్ అంటే ఏమిటి?"

"జావాబీన్స్ అంటే ప్రాథమికంగా కాఫీ గింజలు (జావా ఒక రకమైన కాఫీ). ఇది IT హాస్యం."

"ఒక ప్రోగ్రామ్ యొక్క వ్యాపార తర్కం ఉన్నత-స్థాయి వస్తువులు లేదా బీన్స్ సమూహం యొక్క రూపాన్ని తీసుకుంది, ఇది సందేశాలను మార్పిడి చేసుకోవచ్చు, తమను తాము రక్షించుకోవచ్చు, పేరు ద్వారా ఒకరినొకరు కనుగొనవచ్చు మరియు ఇంకా చాలా ఎక్కువ. సాధారణంగా, ఇది ఒక ప్రత్యేక సూపర్- ద్వారా సాధించబడుతుంది. ఇతర విధానాలు ఉన్నప్పటికీ ఫాన్సీ పేరెంట్ క్లాస్. అటువంటి వస్తువుల ప్రవర్తన చాలా నియంత్రించబడింది."

"EJB బీన్స్ యొక్క మూడు అత్యంత ప్రసిద్ధ రకాలు:"

" ఎంటిటీ బీన్ అనేది ఒక బీన్, దీని ఉద్దేశ్యం నిర్దిష్ట డేటాను నిల్వ చేయడం. ఈ రకమైన బీన్‌లో తనను తాను మరియు దాని ఫీల్డ్‌లను డేటాబేస్‌లో సేవ్ చేయడానికి అంతర్నిర్మిత మెకానిజం ఉంటుంది. ఈ రకమైన వస్తువు నాశనం చేయబడి, ఆపై డేటాబేస్ నుండి మళ్లీ సృష్టించబడుతుంది. కానీ డేటాను నిల్వ చేయడం పక్కన పెడితే, దీనికి ఎటువంటి లాజిక్ లేదు."

"ఒక సెషన్ బీన్ ఒక ఫంక్షనల్ బీన్. ప్రతి సెషన్ బీన్ దాని స్వంత విధిని కలిగి ఉంటుంది. ఒకటి ఒక పని చేస్తుంది మరియు మరొకటి వేరొకటి చేస్తుంది. అలాంటి బీన్స్ ఇతర వస్తువులు మరియు బీన్స్‌తో పని చేస్తాయి, వాటి స్వంత డేటాతో కాదు."

" సెషన్ బీన్స్ రెండు వర్గాలుగా విభజించబడ్డాయి."

" స్టేట్‌లెస్ సెషన్ బీన్ అనేది బీన్, దీని అంతర్గత వేరియబుల్స్ పని చేయడానికి అవసరమైన ముఖ్యమైన డేటాను నిల్వ చేయవు. ఈ రకమైన బీన్‌ను నాశనం చేసి, ఆపై మళ్లీ సృష్టించవచ్చు మరియు ఇది మునుపటిలానే దాని పనితీరును నిర్వహిస్తుంది."

" స్టేట్‌ఫుల్ సెషన్ బీన్ అనేది పని చేస్తున్నప్పుడు ఉపయోగించే డేటాను అంతర్గతంగా నిల్వ చేసే బీన్. అటువంటి బీన్‌పై మేము పద్ధతులను కాల్ చేస్తే, ప్రతి తదుపరి కాల్ మునుపటి కాల్‌లలో బీన్‌కి పంపిన డేటాలో కొంత భాగాన్ని ఉపయోగించవచ్చు. ఇప్పటికీ, ఈ బీన్ సాధారణ వస్తువుతో సమానం కాదు."

"కానీ బీన్స్ ఉపయోగించడం అంత గొప్పది కాదు, కాబట్టి వెంటనే లోలకం వ్యతిరేక దిశలో ఊపింది. డెవలపర్లు సాధారణ వస్తువులను తరచుగా ఉపయోగించడం ప్రారంభించారు. వారు ప్రత్యేక పేరుతో కూడా వచ్చారు."

"ఒక POJO అనేది P lain  Old J అవ  వస్తువు . ఈ వస్తువులు ఎటువంటి సూపర్-ఫంక్షన్‌లను కలిగి లేవు మరియు సూపర్-ఆబ్జెక్ట్‌లను వారసత్వంగా పొందలేదు. అవి సాధారణ జావా వస్తువులు మాత్రమే.

"మీరు ఆచరణలో EJB గురించి తెలుసుకున్నప్పుడు, మీరు తేడాను అర్థం చేసుకుంటారు. స్థూలంగా చెప్పాలంటే, POJO ఒక కత్తి, మరియు EJB అనేది స్విస్ ఆర్మీ కత్తి, మీరు ఫోన్ కాల్స్ చేయడానికి కూడా ఉపయోగించవచ్చు."

"ఆసక్తికరమైన పోలిక."

"అవును మరియు ఇక్కడ మరొక విషయం ఉంది."

"కాలక్రమేణా, వస్తువులు మరియు తరగతులు ప్రత్యేకించబడ్డాయి. ఫలితంగా, డెవలపర్లు కొన్ని పాత్రలను గుర్తించారు మరియు సంబంధిత వస్తువులకు కొత్త పేర్లను ఇచ్చారు."

"డేటా ట్రాన్స్‌ఫర్ ఆబ్జెక్ట్ ( DTO ) అనేది డేటాను రవాణా చేయడానికి సృష్టించబడిన ఒక వస్తువు. ఈ వస్తువులు సాధారణంగా రెండు అవసరాలను కలిగి ఉంటాయి. అవి తప్పనిసరిగా: ఎ) డేటాను నిల్వ చేయగలగాలి, బి) సీరియలైజ్‌గా ఉండాలి. మరో మాటలో చెప్పాలంటే, అవి డేటాను బదిలీ చేయడానికి మాత్రమే ఉపయోగించబడతాయి. ."

"మీరు ఒక ఆబ్జెక్ట్‌ని సృష్టించి, వ్యాపార తర్కం నుండి అవసరమైన డేటాను అందులో వ్రాసి, దానిని JSON లేదా XMLకి సీరియలైజ్ చేయండి మరియు అది ఎక్కడికి వెళ్లాలో అక్కడకు పంపండి. లేదా మరొక విధంగా: సందేశం వస్తుంది, మీరు దానిని DTO ఆబ్జెక్ట్‌గా మారుస్తారు. , మరియు దాని నుండి డేటాను సంగ్రహించండి."

"ఒక ఎంటిటీ అనేది డేటాబేస్లో నిల్వ చేయబడిన ఒక వస్తువు. కానీ అవి ఎటువంటి వ్యాపార తర్కాన్ని కలిగి ఉండవు. ఇది వ్యాపార నమూనా యొక్క డేటా అని మీరు చెప్పవచ్చు."

"మాకు డేటా యాక్సెస్ ఆబ్జెక్ట్ ( DAO ) కూడా ఉంది. ఆబ్జెక్ట్‌లను డేటాబేస్‌లో సేవ్ చేయడానికి మరియు వాటిని తిరిగి పొందడానికి DAO ఉపయోగించబడుతుంది. ఎంటిటీ దీన్ని చేయదు, ఎందుకంటే దీనికి లాజిక్ లేదు, కాబట్టి ఇది సేవ్ చేయదు. ఎక్కడైనా ఏదైనా."

ఉదాహరణ:

DAO మరియు ఎంటిటీ మధ్య సంబంధం
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ని కవర్ చేస్తూ సంవత్సరాలు గడపవచ్చు."

"కానీ మీరు సంభాషణలు మరియు సందేశాలలో, ఫోరమ్‌లలో లేదా ఒక ఇంటర్వ్యూలో ఈ విషయాలను చూసినట్లయితే మీరు కనీసం ఏమి చెప్పబడుతున్నారో ఊహించగలరని నేను కోరుకుంటున్నాను."

"హ్మ్. ధన్యవాదాలు, బిలాబో. అవును, నాకు తగినంత సాంకేతిక పదాలు తెలియవని అనుకుంటున్నాను. మళ్ళీ, చాలా ధన్యవాదాలు."