Реализуйте бизнес-логику в сервере приложений с пружиной

Действительно ли возможная реализация является бизнес-логикой в Сервере приложений удаленное использование pojos или вместо EJB или вместо Сервлетов???. Основная идея, применяют модель 3 слоев, где клиенты могут быть и веб-браузерами и настольными приложениями, и они совместно используют бизнес-логику в Сервере приложений.

это было бы архитектурой

браузер-----> веб-сервер--------> |App Сервер (Распространенная бизнес-логика) |-------> |RDBMS распространенный |
настольное приложение (Swing, например)-> |App Сервер (Распространенная бизнес-логика) |-------> |RDBMS распространенный |

5
задан skaffman 24 May 2010 в 17:41
поделиться

1 ответ

Вы можете использовать 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! Это также применимо к нескольким другим хорошо написанным фреймворкам веб-сервисов.

Надеюсь, это ответ на ваш вопрос!

5
ответ дан 14 December 2019 в 19:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: