ejb 2.0 проти ejb 3.0
І ejb 2.0, і ejb3.0 є версією Enterprise Java Beans (EJB), яка користується широкою популярністю завдяки керованій, серверній архітектурі для модульної побудови корпоративних додатків. ejb2.0 і ejb3.0 обидва обслуговують своїх користувачів однаково, але центральним моментом щодо EJB 3.0 є те, що це спростило життя розробникам порівняно з ejb2.0. ejb 2.0 розроблений в рамках JCP (Java Community Process), дозволяє архітектурі EJB полегшити реалізацію та розгортання програм веб-служб на основі технології Java. З іншого боку, ejb 3.0 забезпечує базу для визначення нового спрощеного API EJB, що сприяє простоті розробки. Його додатковою функцією є новий API Java Persistent для управління стійкістю та об'єктно-реляційним відображенням за допомогою Java EE та Java SE.
ejb 2.0 використовує сутність об'єктів для доступу до бази даних, але ejb 3.0 підтримує API Java Persistence для всіх його потреб у даних, що є достатньо узагальненим для вирішення всіх проблем з портативністю. ejb 3.0 має кращі показники, оскільки він використовує POJO з нещодавно введеною анотацією метаданих, яка порівняно швидша, ніж файли XMLDescriptor та JNDI Використовується ejb 2.0 для посилання на об'єкт.
ejb 2.0 має велику вагу в плані вимоги писати домашній та віддалений інтерфейси, а також виконувати стандартні інтерфейси, такі як javax.ejb.SessionBean. ejb 3.0 не обмежує використання будь-яких стандартних інтерфейсів. Це простий та добре налаштований POJO, який не потребує впровадження методів зворотного виклику контейнерів, таких як ejbActivate, ejbLoad, ejbStore тощо. POJO, наприклад, об'єкти EJB 3.0, мають невелику вагу і його легко перетворити з DAO в біт Entity або навпаки.
ejb 2.0 має обмеження та гнучкість для запитів запитів до бази даних за допомогою EJB-QL, тоді як ejb 3.0 полегшує вдосконалений EJB-QL, а отже запити до бази даних дуже гнучкі.
Захист забезпечується в ejb 2.0 за допомогою дескрипторів розгортання. EJB3.0 використовує примітки для спрощення задач налаштування та налаштування проблем безпеки. ejb 3.0 можна легко використовувати з підключеними сторонніми постачальниками стійкості, але ejb 2.0 має обмеження в цьому відношенні.
Підсумок:
1. ejb 2.0 використовує сутність Beans для доступу до баз даних, але ejb3.0 використовує JPA для доступу до бази даних.
2. ejb.0 потребує опису розгортання, але при використанні ejb3.0 немає вимоги в описі розгортання.
3. У ejb 2.0 ми повинні написати інтерфейс Home та Remote для доступу до баз даних, тоді як ejb3.0 не має таких обмежень і є зручнішим у цьому плані.
4. Питання безпеки вирішуються через дескриптори розгортання в ejb2.0, але ejb3.0 використовує анотацію.
5. ejb 2.0 має обмеження у своїй підключеності до сторонніх постачальників стійкості.
6. У ejb3.0, Запит дуже гнучкий і через вдосконалений EJB-QL ввімкнено кілька рівнів об'єднань..