Perbedaan Antara EJB2 dan EJB3

Perbedaan Antara EJB2 dan EJB3
Perbedaan Antara EJB2 dan EJB3

Video: Perbedaan Antara EJB2 dan EJB3

Video: Perbedaan Antara EJB2 dan EJB3
Video: Perbedaan Oven Listrik dan Microwave | INI BEDANYA - Episode 03 2024, September
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) adalah Java API (Application Programming Interface) yang ditemukan dalam spesifikasi Java EE (Java Platform, Enterprise Edition). EJB menjelaskan model arsitektur untuk pengembangan aplikasi perusahaan. Ini adalah model sisi server terkelola yang mampu menangkap logika bisnis aplikasi perusahaan. IBM adalah pencipta asli EJB yang mengembangkannya pada tahun 1997. Sun Microsystems mengadopsinya pada tahun 1999.

Sebelum pengenalan EJB, ditemukan bahwa solusi untuk masalah yang ditemukan dalam kode bisnis back-end sering diimplementasikan kembali oleh para programmer. Akibatnya, EJB diperkenalkan untuk mengatasi masalah umum ini seperti ketekunan, integritas transaksional, dan keamanan. EJB menyediakan cara standar untuk menangani masalah back end ini, dengan menentukan bagaimana server aplikasi harus memproses transaksi, berintegrasi dengan layanan JPA (Java Persistence API), menangani kontrol konkurensi, menangani Acara JMS (Java Message Service), menyelesaikan masalah penamaan dengan JNDI (Java Naming and Directory Interface), mengembangkan program yang aman dengan JCE (Java Cryptography Extension) dan JAAS (Java Authentication and Authorization Service), menyebarkan komponen, berkomunikasi jarak jauh dengan RMI-IIOP (Java Remote Method Invocation interface melalui Internet Inter-Orb Protocol), mengembangkan layanan web, memanggil metode asinkron dan menggunakan layanan Timer.

EJB2

EJB2 (EJB 2.0) dirilis pada 22 Agustus 2001. Ini menjelaskan spesifikasi untuk mengembangkan aplikasi berorientasi objek terdistribusi di Java dengan menggabungkan alat yang dikembangkan oleh vendor yang berbeda. Salah satu tujuan utama EJB2 adalah memungkinkan pemrogram mengembangkan aplikasi perusahaan dengan lebih mudah tanpa harus memahami detail tingkat rendah, seperti multi-threading dan penyatuan koneksi. Tujuan lain adalah untuk memungkinkan programmer menulis "Bean" sekali dan berjalan di mana saja tanpa kompilasi ulang (mengikuti slogan "tulis sekali, jalankan di mana saja" dari bahasa pemrograman Java). Selain itu, EJB2 dimaksudkan untuk memungkinkan komponen yang dikembangkan oleh vendor yang berbeda untuk saling beroperasi dengan mudah, dan memungkinkan vendor untuk menulis ekstensi untuk produk mereka yang dapat mendukung EJB.

EJB3

EJB3 (EJB 3.0) dirilis pada 11 Mei 2006. EJB3 membuat hidup programmer menjadi sangat mudah dengan memungkinkan mereka menggunakan anotasi sebagai pengganti deskriptor penerapan yang digunakan di versi sebelumnya. EJB3 berisi antarmuka bisnis dan kacang entitas tertentu yang dapat mengimplementasikan antarmuka bisnis tersebut, menghilangkan kebutuhan untuk menggunakan antarmuka rumah/jauh dan file ejb-jar.xml. Kinerja EJB3 secara keseluruhan jauh lebih baik dibandingkan dengan EJB2, dan terdapat peningkatan yang cukup besar dalam hal konfigurasi, fleksibilitas, dan portabilitas dalam rilis EJB ini.

Apa perbedaan antara EJB2 dan EJB3?

EJB3 memiliki peningkatan yang nyata dalam konfigurasi dan kinerja dibandingkan EJB2. Salah satu alasan untuk peningkatan kinerja ini adalah penggunaan POJO (Objek Java Lama Biasa) dengan metadata dan XML Deployment Descriptors oleh EJB3 alih-alih pencarian JNDI yang digunakan di EJB2 untuk referensi objek. Konfigurasi EJB3 jauh lebih sederhana karena programmer tidak perlu mengimplementasikan antarmuka Home/Remote dan lainnya (misalnya SessionBean), yang menghilangkan kebutuhan untuk menggunakan metode callback container (seperti ejbActivate dan ejbStore).

Selanjutnya, EJB3 lebih baik daripada EJB2 dalam hal fleksibilitas dan portabilitas. Misalnya, mudah untuk mengonversi entitas EJB3 ke DAO (Objek Akses Data) dan sebaliknya karena entitas EJB3 ringan (berlawanan dengan entitas EJB2 kelas berat, yang mengimplementasikan antarmuka yang disebutkan di atas). Kueri basis data yang ditulis dalam EJB3 sangat fleksibel karena menggunakan EJB-QL yang disempurnakan, menggantikan versi EJB-QL yang lebih lama, yang memiliki beberapa keterbatasan. EJB3 menghapus semua masalah portabilitas EJB2 (yang menggunakan kacang entitas untuk akses database) dengan mendukung JPA yang lebih umum untuk semua transaksi data.

Tidak seperti EJB2, yang membutuhkan wadah EJB untuk dieksekusi, EJB3 dapat dijalankan dalam JVM (Java Virtual Machine) independen tanpa harus menggunakan wadah (ini dimungkinkan karena tidak mengimplementasikan antarmuka standar). Tidak seperti EJB2, EJB3 mudah dipasang dengan penyedia persistensi yang ditawarkan oleh pihak ketiga. Perbedaan penting lainnya antara EJB3 dan EJB2 adalah bahwa EJB3 dapat menggunakan keamanan berbasis anotasi, sedangkan EJB2 menggunakan keamanan berbasis deskriptor penyebaran. Ini berarti bahwa tugas konfigurasi dan pengaturan jauh lebih mudah di EJB3, dan ada pengurangan yang cukup besar dalam overhead kinerja dibandingkan dengan EJB2.

Direkomendasikan: