"Daar ben je."

"Ik heb erover nagedacht en heb besloten je nog een klein lesje te leren dat erg nuttig voor je zal zijn. Totdat je als programmeur werkt, zul je waarschijnlijk nooit een speciale terminologie tegenkomen, dus ik wil je nu kennis laten maken met verschillende algemene concepten."

"Ongeveer 10 jaar geleden werd E nterprise  Java B eans ( EJB ) op grote schaal gebruikt.

"Wat betekent JavaBeans?"

"JavaBeans betekent eigenlijk koffiebonen (Java is een soort koffie). Het is IT-humor."

"De bedrijfslogica van een programma nam de vorm aan van een groep objecten van hoog niveau, of bonen, die berichten konden uitwisselen, zichzelf konden redden, elkaar op naam konden vinden en nog veel meer. Meestal werd dit bereikt door een speciale super- mooie ouderklasse hoewel er andere benaderingen waren. Het gedrag van dergelijke objecten was sterk gereguleerd. "

"De drie bekendste soorten EJB-bonen zijn:"

"Een Entity Bean is een bean waarvan het doel is om bepaalde gegevens op te slaan. Dit type bean heeft een ingebouwd mechanisme om zichzelf en zijn velden op te slaan in een database. Dit type object kan worden vernietigd en later opnieuw worden gemaakt vanuit de database. Maar afgezien van het opslaan van gegevens, heeft het geen enkele logica."

"Een Session Bean is een functionele bean. Elke session bean heeft zijn eigen functie. De één doet het ene en de ander doet iets anders. Zulke bonen werken met andere objecten en bonen, niet met hun eigen data."

" Sessiebonen zijn onderverdeeld in twee categorieën."

"Een Stateless Session Bean is een bean waarvan de interne variabelen geen belangrijke gegevens opslaan die nodig zijn om te functioneren. Dit type bean kan worden vernietigd en vervolgens opnieuw worden gemaakt, en het zal zijn functie net als voorheen uitvoeren."

"Een Statefull Session Bean is een bean die intern de gegevens opslaat die het gebruikt tijdens het werken. Als we methoden op zo'n bean aanroepen, kan elke volgende aanroep een deel van de gegevens gebruiken die in eerdere aanroepen aan de bean zijn doorgegeven. Toch is deze bean is niet hetzelfde als een gewoon object."

"Maar het gebruik van bonen was ook niet zo geweldig, dus al snel sloeg de slinger de andere kant op. En ontwikkelaars begonnen vaker gewone voorwerpen te gebruiken. Ze bedachten zelfs een speciale naam."

"Een POJO is een gewoon oud Java  - object . Deze objecten hadden geen superfuncties en erfden geen superobjecten. Het waren gewone Java - objecten  "

"Als je EJB in de praktijk leert kennen, snap je het verschil. Grof gezegd is een POJO een mes en een EJB is een Zwitsers zakmes waarmee je ook kunt bellen."

"Interessante vergelijking."

"Ja, en hier is nog iets."

"Na verloop van tijd begonnen objecten en klassen zich te specialiseren. Als gevolg hiervan identificeerden ontwikkelaars bepaalde rollen en gaven ze nieuwe namen aan de overeenkomstige objecten."

"Een gegevensoverdrachtobject ( DTO ) is een object dat is gemaakt om gegevens te transporteren. Deze objecten hebben meestal twee vereisten. Ze moeten: a) gegevens kunnen opslaan, b) kunnen worden geserialiseerd. Met andere woorden, ze worden alleen gebruikt voor het overbrengen van gegevens ."

"Je maakt een object, schrijft de benodigde data uit de bedrijfslogica erin, serialiseert het naar JSON of XML en stuurt het waar het heen moet. Of andersom: er komt een bericht aan, je deserialiseert het naar een DTO-object en haal er gegevens uit."

"Een entiteit is een object dat is opgeslagen in een database. Maar ze bevatten geen bedrijfslogica. Je zou kunnen zeggen dat dit de gegevens van het bedrijfsmodel zijn."

"We hebben ook het data access object ( DAO ). Een DAO wordt gebruikt om objecten op te slaan in en op te halen uit een database. De entiteit doet dit niet, omdat het geen logica heeft, dus het kan niet opslaan iets waar dan ook."

Voorbeeld:

Relatie tussen een DAO en een entiteit
UserEntity user = UserDAO.getUserById("1535");
if (user.getAge() > 18)
{
 user.setMobilization(true);
 UserDAO.save(user);
}
Opmerkingen
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.

"Dat is het voor nu."

"Hoewel dit een kleine inleidende les is, zul je op dit moment nog steeds niet meer kunnen begrijpen. We zouden dagen kunnen besteden aan praten over elk van deze onderwerpen, en we zouden jaren kunnen besteden aan EJB."

"Maar ik wil dat je je in ieder geval kunt voorstellen wat er wordt gezegd als je deze dingen tegenkomt in gesprekken en berichten, op fora of in een interview."

"Hmm. Dank je, Bilaabo. Ja, ik denk dat ik niet genoeg technische termen ken. Nogmaals, heel erg bedankt."