Perbezaan Antara EJB2 dan EJB3

Perbezaan Antara EJB2 dan EJB3
Perbezaan Antara EJB2 dan EJB3

Video: Perbezaan Antara EJB2 dan EJB3

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

EJB2 lwn EJB3

EJB (Enterprise JavaBeans) ialah API Java (Antara Muka Pengaturcaraan Aplikasi) yang terdapat dalam spesifikasi Java EE (Platform Java, Edisi Perusahaan). EJB menerangkan model seni bina untuk pembangunan aplikasi perusahaan. Ini ialah model bahagian pelayan terurus yang mampu menangkap logik perniagaan aplikasi perusahaan. IBM ialah pencipta asal EJB yang membangunkannya pada tahun 1997. Sun Microsystems menerima pakainya pada tahun 1999.

Sebelum pengenalan EJB, didapati bahawa penyelesaian kepada masalah yang terdapat dalam kod perniagaan bahagian belakang sering dilaksanakan semula oleh pengaturcara. Hasilnya, EJB telah diperkenalkan untuk menangani masalah biasa ini seperti kegigihan, integriti transaksi dan keselamatan. EJB menyediakan cara standard untuk menangani masalah bahagian belakang ini, dengan menyatakan cara pelayan aplikasi harus memproses transaksi, menyepadukan dengan perkhidmatan JPA (Java Persistence API), mengendalikan kawalan serentak, mengendalikan Acara JMS (Java Message Service), menyelesaikan isu penamaan dengan JNDI (Penamaan Java dan Antara Muka Direktori), membangunkan program selamat dengan JCE (Java Cryptography Extension) dan JAAS (Java Authentication and Authorization Service), gunakan komponen, berkomunikasi dari jauh dengan RMI-IIOP (antara muka Invocation Kaedah Jauh Java melalui Internet Inter-Orb Protocol), bangunkan perkhidmatan web, gunakan kaedah tak segerak dan gunakan perkhidmatan Pemasa.

EJB2

EJB2 (EJB 2.0) telah dikeluarkan pada 22 Ogos, 2001. Ia menerangkan spesifikasi untuk membangunkan aplikasi berorientasikan objek teragih dalam Java dengan menggabungkan alatan yang dibangunkan oleh vendor berbeza. Salah satu matlamat utama EJB2 adalah untuk membolehkan pengaturcara membangunkan aplikasi perusahaan dengan lebih mudah tanpa perlu memahami butiran peringkat rendah, seperti penyatuan berbilang benang dan sambungan. Matlamat lain adalah untuk membenarkan pengaturcara menulis "Bean" sekali dan berjalan di mana-mana tanpa penyusunan semula (mematuhi slogan "tulis sekali, jalankan di mana-mana" bahasa pengaturcaraan Java). Tambahan pula, EJB2 bertujuan untuk membenarkan komponen yang dibangunkan oleh vendor yang berbeza untuk saling beroperasi dengan mudah, dan membenarkan vendor menulis sambungan untuk produk mereka yang boleh menyokong EJB.

EJB3

EJB3 (EJB 3.0) telah dikeluarkan pada 11 Mei 2006. EJB3 menjadikan kehidupan pengaturcara sangat mudah dengan membenarkan mereka menggunakan anotasi sebagai ganti deskriptor penempatan yang digunakan dalam versi sebelumnya. EJB3 mengandungi antara muka perniagaan dan kacang entiti tertentu yang boleh melaksanakan antara muka perniagaan itu, menghilangkan keperluan untuk menggunakan antara muka rumah/jauh dan fail ejb-jar.xml. Prestasi keseluruhan EJB3 jauh lebih baik berbanding EJB2, dan terdapat peningkatan yang ketara dalam kebolehkonfigurasian, fleksibiliti dan mudah alih dalam keluaran EJB ini.

Apakah perbezaan antara EJB2 dan EJB3?

EJB3 mempunyai peningkatan ketara dalam konfigurasi dan prestasi berbanding EJB2. Satu sebab untuk peningkatan prestasi ini ialah penggunaan POJO (Objek Java Lama Biasa) dengan metadata dan Deskriptor Penerapan XML oleh EJB3 dan bukannya carian JNDI yang digunakan dalam EJB2 untuk rujukan objek. Konfigurasi EJB3 adalah lebih mudah kerana pengaturcara tidak perlu melaksanakan antara muka Rumah/Jauh Jauh dan lain-lain (cth. SessionBean), yang mengalih keluar keperluan untuk menggunakan kaedah panggil balik bekas (seperti ejbActivate dan ejbStore).

Tambahan pula, EJB3 lebih baik daripada EJB2 dalam bidang fleksibiliti dan mudah alih. Contohnya, mudah untuk menukar entiti EJB3 kepada DAO (Objek Akses Data) dan sebaliknya kerana entiti EJB3 adalah ringan (berbanding dengan entiti EJB2 berwajaran berat, yang melaksanakan antara muka yang disebutkan di atas). Pertanyaan pangkalan data yang ditulis dalam EJB3 adalah sangat fleksibel kerana ia menggunakan EJB-QL yang diperhalusi, menggantikan versi lama EJB-QL, yang mempunyai beberapa batasan. EJB3 mengalih keluar semua isu mudah alih EJB2 (yang menggunakan kacang entiti untuk akses pangkalan data) dengan menyokong JPA yang lebih umum untuk semua transaksi data.

Tidak seperti EJB2, yang memerlukan bekas EJB untuk dilaksanakan, EJB3 boleh dilaksanakan dalam JVM bebas (Java Virtual Machine) tanpa perlu menggunakan bekas (ini mungkin kerana ia tidak melaksanakan antara muka standard). Tidak seperti EJB2, EJB3 mudah dipasang dengan pembekal kegigihan yang ditawarkan oleh pihak ketiga. Satu lagi perbezaan penting antara EJB3 dan EJB2 ialah EJB3 boleh menggunakan keselamatan berasaskan anotasi, manakala EJB2 menggunakan keselamatan berasaskan deskriptor penempatan. Ini bermakna tugas konfigurasi dan persediaan lebih mudah dalam EJB3, dan terdapat pengurangan yang ketara dalam overhed prestasi berbanding EJB2.

Disyorkan: