Разница между ejb 2.0 и ejb 3.0

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 предоставляет основу для определения нового упрощенного EJB API, который облегчает разработку. Его дополнительной функцией является новый API Java Persistence для управления постоянством и объектно-реляционным отображением с помощью Java EE и Java SE..

ejb 2.0 использует бины сущностей для доступа к базе данных, но ejb 3.0 поддерживает API персистентности Java для всех своих потребностей в данных, которые достаточно обобщены для решения всех проблем переносимости. 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 в объектный компонент или наоборот..

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 использует объектный компонент для доступа к базам данных, но 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 Query очень гибок, и через усовершенствованный EJB-QL можно включить несколько уровней соединений..