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, который облегчает разработку. Его дополнительной функцией является новый Java Persistence API для управления персистентностью и объектно-реляционным отображением с 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 - это тяжелый вес с точки зрения его требования писать Home и Remote Interfaces, а также выполнять стандартные интерфейсы, такие как 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 мы должны написать домашний и удаленный интерфейс, чтобы иметь доступ к базам данных, тогда как ejb3.0 не имеет такого ограничения и более удобен в этом отношении. 4. Проблемы безопасности обрабатываются через дескрипторы развертывания в ejb2.0, но ejb3.0 использует аннотацию. 5. ejb 2.0 имеет ограничение на возможность подключения к сторонним поставщикам персистентности. 6. В ejb3.0 Query очень гибкий, и через усовершенствованный EJB-QL включен несколько уровней объединений.