"Anda disana."

"Saya memikirkannya dan memutuskan untuk mengajari Anda satu pelajaran kecil lagi yang akan sangat membantu Anda. Sampai Anda bekerja sebagai programmer, Anda mungkin tidak akan pernah menemukan beberapa terminologi khusus, jadi saya ingin memperkenalkan Anda pada beberapa konsep umum sekarang."

" Sekitar 10 tahun yang lalu, Enterprise  Java Beans  ( EJB ) banyak digunakan . "

"Apa artinya JavaBeans?"

"JavaBeans pada dasarnya berarti biji kopi (Java adalah sejenis kopi). Ini humor."

"Logika bisnis sebuah program mengambil bentuk sekelompok objek tingkat tinggi, atau kacang, yang dapat bertukar pesan, menyelamatkan diri, menemukan satu sama lain dengan nama, dan banyak lagi. Biasanya, ini dicapai melalui super- khusus kelas induk mewah meskipun ada pendekatan lain. Perilaku benda-benda tersebut sangat diatur."

"Tiga jenis kacang EJB yang paling terkenal adalah:"

"An Entity Bean adalah kacang yang tujuannya adalah untuk menyimpan data tertentu. Jenis kacang ini memiliki mekanisme bawaan untuk menyimpan dirinya sendiri dan bidangnya ke dalam database. Jenis objek ini dapat dihancurkan dan kemudian dibuat ulang nanti dari database. Tapi selain menyimpan data, itu tidak memiliki logika apapun."

" Sesi Kacang adalah kacang fungsional. Setiap kacang sesi memiliki fungsinya sendiri. Seseorang melakukan satu hal, dan yang lain melakukan sesuatu yang lain. Kacang semacam itu bekerja dengan objek dan kacang lain, bukan dengan datanya sendiri."

" Sesi Kacang dibagi menjadi dua kategori."

" Kacang Sesi Tanpa Negara adalah kacang yang variabel internalnya tidak menyimpan data penting yang diperlukan untuk berfungsi. Jenis kacang ini dapat dihancurkan dan dibuat ulang, dan akan menjalankan fungsinya seperti sebelumnya."

"A Statefull Session Bean adalah kacang yang secara internal menyimpan data yang digunakannya saat bekerja. Jika kita memanggil metode pada kacang seperti itu, maka setiap panggilan berikutnya dapat menggunakan beberapa data yang diteruskan ke kacang di panggilan sebelumnya. Tetap saja, kacang ini tidak sama dengan objek biasa."

"Tapi menggunakan kacang juga tidak terlalu bagus, jadi pendulum segera berayun ke arah yang berlawanan. Dan pengembang mulai lebih sering menggunakan benda biasa. Mereka bahkan menemukan nama khusus."

"A POJO adalah P lain  O ld  O  ld Java O objek . Objek-objek ini tidak memiliki fungsi super dan tidak mewarisi objek super. Mereka hanya objek Java biasa."

"Saat Anda mengenal EJB dalam praktik, Anda akan memahami perbedaannya. Secara kasar, POJO adalah pisau, dan EJB adalah pisau Swiss Army yang juga dapat Anda gunakan untuk melakukan panggilan telepon."

"Perbandingan yang menarik."

"Ya, dan ini satu hal lagi."

"Seiring waktu, objek dan kelas mulai terspesialisasi. Akibatnya, pengembang mengidentifikasi peran tertentu dan memberi nama baru pada objek yang sesuai."

"Objek transfer data ( DTO ) adalah objek yang dibuat untuk mengangkut data. Objek ini biasanya memiliki dua persyaratan. Mereka harus: a) dapat menyimpan data, b) dapat diserialisasi. Dengan kata lain, mereka hanya digunakan untuk mentransfer data ."

"Anda membuat objek, menulis data yang diperlukan dari logika bisnis ke dalamnya, membuat cerita bersambung menjadi JSON atau XML, dan mengirimkannya ke tempat tujuan. Atau sebaliknya: pesan datang, Anda membatalkan serialisasi ke objek DTO , dan mengekstrak data darinya."

" Entitas adalah objek yang disimpan dalam database. Tapi mereka tidak mengandung logika bisnis apa pun. Bisa dibilang ini adalah data model bisnis."

"Kami juga memiliki objek akses data ( DAO ). DAO digunakan untuk menyimpan objek dan mengambilnya dari database. Entitas tidak melakukan ini, karena tidak memiliki logika apa pun, sehingga tidak dapat menyimpan apapun dimanapun."

Contoh:

Hubungan antara DAO dan entitas
UserEntity user = UserDAO.getUserById("1535");
if (user.getAge() > 18)
{
 user.setMobilization(true);
 UserDAO.save(user);
}
Komentar
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.

"Itu saja untuk saat ini."

"Meskipun ini adalah pelajaran pengantar kecil, Anda masih tidak akan dapat memahami lebih banyak sekarang. Kita bisa menghabiskan waktu berhari-hari membicarakan masing-masing topik ini, dan kita bisa menghabiskan waktu bertahun-tahun meliput EJB."

"Tapi saya ingin Anda setidaknya bisa membayangkan apa yang dikatakan jika Anda menemukan hal-hal ini dalam percakapan dan pesan, di forum, atau dalam wawancara."

"Hmm. Terima kasih, Bilaabo. Ya, saya rasa saya tidak cukup paham istilah-istilah teknis. Sekali lagi, terima kasih banyak."