Нужна помощь в определении / понимании «стека» Java EE

LAMP - это стек, определенный слева направо (снизу вверх) как Linux / Apache / MySQL / PHP или, в общем, вы можете рассматривать его как Операционная система / Веб-сервер / База данных / Язык сценариев. В общей форме вы можете pop в любой операционной системе, такой как Windows вместо Linux, чтобы получить WAMP или вставить какую-либо другую БД, или даже запустить какой-либо другой язык, отличный от PHP, например Ruby. Однако, как правило, у вас будет только одно из каждого. Одна база данных , одна ОС, один веб-сервер, хотя ваш ap plication может переходить из одного стека в другой с некоторым конечным количеством изменений.

Я несколько лет занимался разработкой стека LAMP и читал о JSF и библиотеках компонентов RichFaces и IceFaces. Сама идея создания пользовательского интерфейса веб-сайта из компонентов с поддержкой AJAX и получения всевозможных отличных вещей, таких как проверка и беспорядочные вызовы AJAX бесплатно, действительно захватывающая.

Проблема в том, что мне сложно понять, что универсальные компоненты составляют стек Java EE. Судя по моему исследованию, у вас есть следующие категории, из которых можно построить «стек Java EE»:

Сервер приложений Java EE - JBoss, Tomcat

База данных - MySQL, Oracle

Абстракция базы данных - Hibernate, JPA

Библиотека компонентов JSF с поддержкой Ajax - ICEFaces, RICHFaces

Я чувствую, что мне определенно не хватает некоторых вещей. Я не уверен, где в это дело вписываются Шов или Спринг. Кроме того, Hibernate использует JPA? Или JPA - это полнофункциональный API, который я могу легко использовать самостоятельно? Как в это вписываются контейнеры? Могу ли я пойти и заставить контейнер работать на моем сервере приложений Java EE? Кроме того, как во все это вписывается Maven? Из того, что я почерпнул, это не похоже на часть стека веб-сервисов,но вместо этого инструмент, используемый перед развертыванием.

Я читал ICEfaces 1.8 Райнера Эшена, и эта диаграмма представлена ​​им как своего рода стек Java EE. Я предполагаю, что AppFuse относится к Java EE, как XAMPP - к LAMP. Это правда? Если бы кто-то мог разбить различные части на приведенной ниже диаграмме и разбить их вместе, это было бы очень полезно.

ICEcube Architecture Diagram

Я знаю, что это много разных вопросов. Если мне не удалось спросить что-то, что, по вашему мнению, я должен знать, не стесняйтесь сказать это, или если я сказал что-то неправильно, ПОЖАЛУЙСТА, поправьте меня! Стек Java EE и все составляющие с ним части пугают, если не сказать больше. Я просто хочу хорошо разобраться в высокоуровневом представлении, прежде чем погрузиться в него и начать что-либо строить.

Спасибо!

6
задан Glorfindel 11 August 2019 в 09:28
поделиться