"Eccoti."

"Ci ho pensato e ho deciso di insegnarti un'altra piccola lezione che ti sarà molto utile. Fino a quando non lavori come programmatore, probabilmente non incontrerai mai una terminologia speciale, quindi ora voglio presentarti diversi concetti comuni."

"Circa 10 anni fa, Enterprise  J ava  Beans ( EJB ) è diventato ampiamente utilizzato . "

"Cosa significa JavaBeans?"

"JavaBeans significa fondamentalmente chicchi di caffè (Java è una specie di caffè). È umorismo IT."

"La logica di business di un programma prendeva la forma di un gruppo di oggetti di alto livello, o bean, che potevano scambiarsi messaggi, salvarsi, trovarsi reciprocamente per nome e molto altro ancora. Di solito, questo veniva ottenuto attraverso uno speciale super- classe genitore di fantasia anche se c'erano altri approcci. Il comportamento di tali oggetti era altamente regolamentato.

"I tre tipi più famosi di bean EJB sono:"

"Un Entity Bean è un bean il cui scopo è memorizzare determinati dati. Questo tipo di bean ha un meccanismo integrato per salvare se stesso e i suoi campi in un database. Questo tipo di oggetto può essere distrutto e quindi ricreato successivamente dal database. Ma a parte la memorizzazione dei dati, non ha alcuna logica".

"Un bean di sessione è un bean funzionale. Ogni bean di sessione ha la sua funzione. Uno fa una cosa e un altro fa un'altra. Tali bean funzionano con altri oggetti e bean, non con i propri dati."

" I Session Bean si dividono in due categorie."

"Un bean di sessione senza stato è un bean le cui variabili interne non memorizzano dati importanti di cui ha bisogno per funzionare. Questo tipo di bean può essere distrutto e quindi ricreato e svolgerà la sua funzione proprio come prima."

"Uno Statefull Session Bean è un bean che memorizza internamente i dati che utilizza durante il funzionamento. Se chiamiamo metodi su tale bean, ogni chiamata successiva può utilizzare alcuni dei dati passati al bean nelle chiamate precedenti. Tuttavia, questo bean non è la stessa cosa di un oggetto normale."

"Ma anche l'uso dei fagioli non era poi così eccezionale, quindi presto il pendolo ha oscillato nella direzione opposta. E gli sviluppatori hanno iniziato a utilizzare oggetti ordinari più frequentemente. Hanno persino inventato un nome speciale."

"Un POJO è un semplice oggetto Java  vecchio Questi oggetti non avevano alcuna super-funzione e non ereditavano super-oggetti. Erano solo normali oggetti Java "

"Quando imparerai a conoscere EJB nella pratica, capirai la differenza. In parole povere, un POJO è un coltello e un EJB è un coltellino svizzero che puoi usare anche per fare telefonate."

"Confronto interessante."

"Sì, ed ecco un'altra cosa."

"Nel corso del tempo, gli oggetti e le classi hanno cominciato a specializzarsi. Di conseguenza, gli sviluppatori hanno identificato determinati ruoli e hanno dato nuovi nomi agli oggetti corrispondenti".

"Un oggetto di trasferimento dati ( DTO ) è un oggetto creato per trasportare dati. Questi oggetti hanno solitamente due requisiti. Devono: a) essere in grado di memorizzare dati, b) essere serializzabili. In altre parole, vengono utilizzati solo per trasferire dati ."

"Si crea un oggetto, si scrivono i dati richiesti dalla logica aziendale, lo si serializza in JSON o XML e lo si invia dove deve andare. O viceversa: arriva un messaggio, lo si deserializza in un oggetto DTO ed estrarre i dati da esso."

" Un'entità è un oggetto archiviato in un database. Ma non contiene alcuna logica di business. Si potrebbe dire che questi sono i dati del modello di business."

"Abbiamo anche l'oggetto di accesso ai dati ( DAO ). Un DAO viene utilizzato per salvare oggetti e recuperarli da un database. L'entità non lo fa, poiché non ha alcuna logica, quindi non può salvare qualsiasi cosa ovunque."

Esempio:

Relazione tra una DAO e un'entità
UserEntity user = UserDAO.getUserById("1535");
if (user.getAge() > 18)
{
 user.setMobilization(true);
 UserDAO.save(user);
}
Commenti
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.

"È tutto per ora."

"Anche se questa è una piccola lezione introduttiva, non sarai ancora in grado di capirne di più in questo momento. Potremmo passare giorni a parlare di ciascuno di questi argomenti e potremmo passare anni a occuparci di EJB."

"Ma voglio che almeno tu sia in grado di immaginare cosa viene detto se ti imbatti in queste cose in conversazioni e messaggi, nei forum o in un'intervista."

"Hmm. Grazie, Bilaabo. Sì, penso di non conoscere abbastanza termini tecnici. Di nuovo, grazie mille."