"Da bist du ja."

„Ich habe darüber nachgedacht und beschlossen, Ihnen noch eine kleine Lektion zu erteilen, die für Sie sehr hilfreich sein wird. Bis Sie als Programmierer arbeiten, werden Sie wahrscheinlich nie auf eine spezielle Terminologie stoßen, deshalb möchte ich Ihnen jetzt einige gängige Konzepte vorstellen.“

„Vor etwa 10 Jahren wurde Enterprise  Java Beans  ( EJB ) weit verbreitet .

„Was bedeutet JavaBeans?“

„JavaBeans bedeutet im Grunde Kaffeebohnen (Java ist eine Kaffeesorte). Es ist IT-Humor.“

„Die Geschäftslogik eines Programms hatte die Form einer Gruppe von High-Level-Objekten oder Beans, die Nachrichten austauschen, sich selbst speichern, einander anhand des Namens finden und vieles mehr. Normalerweise wurde dies durch eine spezielle Super- ausgefallene Elternklasse, obwohl es auch andere Ansätze gab. Das Verhalten solcher Objekte war stark reguliert.

„Die drei bekanntesten Arten von EJB-Bohnen sind:“

„Ein Entity Bean ist ein Bean, dessen Zweck darin besteht, bestimmte Daten zu speichern. Dieser Bean-Typ verfügt über einen integrierten Mechanismus zum Speichern sich selbst und seiner Felder in einer Datenbank. Dieser Objekttyp kann zerstört und später aus der Datenbank neu erstellt werden.“ Aber abgesehen von der Datenspeicherung gibt es keinerlei Logik.“

„Eine Session Bean ist eine funktionale Bean. Jede Session Bean hat ihre eigene Funktion. Eine macht eine Sache und eine andere macht etwas anderes. Solche Beans funktionieren mit anderen Objekten und Beans, nicht mit ihren eigenen Daten.“

Session Beans sind in zwei Kategorien unterteilt.“

„Eine Stateless Session Bean ist eine Bean, deren interne Variablen keine wichtigen Daten speichern, die sie zum Funktionieren benötigt. Diese Art von Bean kann zerstört und dann neu erstellt werden und sie wird ihre Funktion wie zuvor ausführen.“

„Eine Statefull Session Bean ist eine Bean, die intern die Daten speichert, die sie bei der Arbeit verwendet. Wenn wir Methoden für eine solche Bean aufrufen, kann jeder nachfolgende Aufruf einige der Daten verwenden, die in vorherigen Aufrufen an die Bean übergeben wurden. Dennoch diese Bean ist nicht dasselbe wie ein normales Objekt.

„Aber die Verwendung von Bohnen war auch nicht so toll, also schlug das Pendel bald in die entgegengesetzte Richtung aus. Und die Entwickler begannen, häufiger gewöhnliche Objekte zu verwenden. Sie haben sich sogar einen besonderen Namen ausgedacht.“

„Ein POJO ist ein einfaches altes  Java - Objekt . Diese Objekte hatten keine Superfunktionen und erbten keine Superobjekte. Sie waren nur normale Java- Objekte“ 

„Wenn Sie EJB in der Praxis kennenlernen, werden Sie den Unterschied verstehen. Grob gesagt ist ein POJO ein Messer und ein EJB ein Schweizer Taschenmesser, mit dem man auch telefonieren kann.“

„Interessanter Vergleich.“

„Ja, und hier ist noch etwas.“

„Im Laufe der Zeit begannen sich Objekte und Klassen zu spezialisieren. Infolgedessen identifizierten Entwickler bestimmte Rollen und gaben den entsprechenden Objekten neue Namen.“

„Ein Datenübertragungsobjekt ( DTO ) ist ein Objekt, das zum Transport von Daten erstellt wurde. Diese Objekte haben normalerweise zwei Anforderungen. Sie müssen: a) in der Lage sein, Daten zu speichern, b) serialisierbar sein. Mit anderen Worten, sie werden nur zum Übertragen von Daten verwendet ."

„Sie erstellen ein Objekt, schreiben die erforderlichen Daten aus der Geschäftslogik hinein, serialisieren es in JSON oder XML und senden es dorthin, wo es hin muss. Oder umgekehrt: Wenn eine Nachricht ankommt, deserialisieren Sie sie in ein DTO-Objekt.“ und extrahieren Sie Daten daraus.

„Eine Entität ist ein Objekt, das in einer Datenbank gespeichert ist. Sie enthält jedoch keine Geschäftslogik. Man könnte sagen, dass es sich hierbei um die Daten des Geschäftsmodells handelt.“

„Wir haben auch das Datenzugriffsobjekt ( DAO ). Ein DAO wird verwendet, um Objekte in einer Datenbank zu speichern und aus dieser abzurufen. Die Entität tut dies nicht, da sie keine Logik hat und daher nicht speichern kann.“ irgendetwas irgendwo.

Beispiel:

Beziehung zwischen einem DAO und einer Entität
UserEntity user = UserDAO.getUserById("1535");
if (user.getAge() > 18)
{
 user.setMobilization(true);
 UserDAO.save(user);
}
Kommentare
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.

„Das ist alles für den Moment.“

„Auch wenn dies nur eine kleine Einführungslektion ist, werden Sie jetzt noch nicht mehr verstehen können. Wir könnten Tage damit verbringen, über jedes dieser Themen zu reden, und wir könnten Jahre damit verbringen, uns mit EJB zu befassen.“

„Aber ich möchte, dass Sie sich zumindest vorstellen können, was gesagt wird, wenn Sie in Gesprächen und Nachrichten, in Foren oder in einem Interview auf diese Dinge stoßen.“

„Hmm. Danke, Bilaabo. Ja, ich glaube, ich kenne nicht genug Fachbegriffe. Nochmals vielen Dank.“