Действительно ли возможная реализация является бизнес-логикой в Сервере приложений удаленное использование pojos или вместо EJB или вместо Сервлетов???. Основная идея, применяют модель 3 слоев, где клиенты могут быть и веб-браузерами и настольными приложениями, и они совместно используют бизнес-логику в Сервере приложений.
это было бы архитектурой
браузер-----> веб-сервер--------> |App Сервер (Распространенная бизнес-логика) |-------> |RDBMS распространенный |
настольное приложение (Swing, например)-> |App Сервер (Распространенная бизнес-логика) |-------> |RDBMS распространенный |
Вы можете использовать Spring вместо EJB. И рекомендую!
Но обе альтернативы отлично справятся с такими корпоративными функциями, как обработка транзакций и безопасность.
Используя Spring или нет, вам все равно понадобится контейнер сервлетов для ваших веб-страниц. Контейнер сервлетов может запускать контейнер Spring, если вы правильно настроили файл web.xml контейнера сервлетов.
Пример обработки транзакции с помощью Spring:
@Transactional
public void execute(..) {..}
И с EJB 3.x:
@TransactionAttribute
public void execute(..) {..}
Как видите, обе альтернативы предлагают вам декларативно добавлять корпоративные функции.
Обновлено после прочтения комментария HenryOS:
Можно иметь всю бизнес-логику на одном сервере.
Одним из решений может быть использование веб-служб между клиентами (веб-сервером и толстыми клиентами Swing). Это довольно красивое и слабосвязанное решение.
Если вам нужно больше скорости, вы можете подумать об использовании Google Protocol Buffer или аналогичной технологии.
Интересно то, что с веб-службами или буфером протокола вам по-прежнему нужен веб-контейнер, такой как Tomcat или Jetty, на сервере с бизнес-логикой, поскольку он должен предоставлять веб-службы для клиентов. Все фреймворки веб-служб, такие как Spring WS, CXF и Apache Axis 2, используют сервлет.
Когда дело доходит до слоев, я рекомендую два уровня на веб-сервере, поскольку вы только представляете и извлекаете данные перед их отправкой на бизнес-сервер. На бизнес-сервере я рекомендую три слоя. Верхний уровень для обработки веб-сервисов, бизнес-уровень посередине и уровень интеграции с базой данных и другими корпоративными системами внизу.
Наконец, если вы используете CXF или Spring WS вместе с JAXB, тогда все ваши классы на бизнес-сервере могут быть записаны как POJO! Это также применимо к нескольким другим хорошо написанным фреймворкам веб-сервисов.
Надеюсь, это ответ на ваш вопрос!