Какая разница между Java Web Application и Java Enterprise Application?
Я изучал разницу между веб-приложением Java и корпоративным приложением, и я обнаружил, что у них немного похожая архитектура.
Например, Enterprise Application имеет клиентскую, презентационную, бизнес-логику и уровень данных.
Клиентский уровень может быть Java-клиентами, клиентами на базе браузера и мобильными клиентами.
Уровень представления может быть компонентами JavaBeans, сервлетами, порталами и компонентами JSP.
В уровне бизнес-логики вы можете иметь серверы, веб-службы (SOAP, Restful и другие) и компоненты MDB.
В Уровне данных вы можете иметь СУБД, LDAP и Канал данных.
Теперь, если мы сравним эти компоненты с веб-приложением, вы можете использовать их без создания приложения Java Enterprise. Например, я могу использовать множество различных технологий для реализации моего веб-приложения, такого как Hibernate, Maven, JSP или JSF, базы данных, сервлеты, JavaBeans и т.д.
Мой самый большой вопрос заключается в том, что является основным различием между приложением Java Enterprise и веб-приложением? Почему я должен использовать приложение Java Enterprise?
Ответы
Ответ 1
Почему я должен использовать приложение Java Enterprise?
Этот вопрос возник почти в то же время, когда сама спецификация увидела свет.
В этой теме написано несколько книг.
Эксперт по созданию J2EE без использования EJB
POJO в действии: разработка корпоративных приложений с облегченными платформами
А также такие технологии, как Spring, предлагают альтернативы.
Поэтому в большинстве случаев вы можете создать веб-приложение, которое удовлетворяет вашим требованиям клиента без необходимости создания корпоративного приложения.
Однако существуют приложения со специальными функциональными и/или нефункциональными требованиями, которые должны обладать бизнес-уровнем, работающим над инфраструктурой, которая предлагает определенные сервисы, такие как: распределенные транзакции, обмен сообщениями, услуги таймера и вызов удаленного метода.
Подобные инфраструктурные услуги недоступны на веб-серверах, поэтому вам необходимо разработать приложение (или, по крайней мере, некоторые компоненты), которые запускаются на серверах приложений с тяжелым весом.
Ответ 2
Как вы можете видеть из сайта oracle, Java Enterprise Edition является спецификацией. Существует множество реализаций от различных поставщиков. Основное отличие от стандартной версии и предприятия заключается в том, что для последнего вам нужен сервер приложений, а не веб-сервер, такой как tomcat. Это связано с тем, что