Какое приложение будет служить выделенным сервером приложений? - PullRequest
1 голос
/ 10 января 2010

В очень популярном магазине электронной коммерции я бы предположил, что фактическая обработка кредитной карты будет перенесена на какой-то выделенный сервер приложений и превращена в более асинхронный процесс.

Какой это будет тип Java-приложения? то есть сервис, который будет принимать сообщение очереди, и начинать обрабатывать запрос и обновлять некую таблицу БД после ее завершения.

В .net, я думаю, можно использовать службу Windows. Что бы вы использовали в мире Java?

Ответы [ 5 ]

2 голосов
/ 10 января 2010

Обычно это приложение J2EE, которое использует интерфейс веб-службы HTTP или интерфейс обмена сообщениями JMS. HTTP-интерфейсы доступны через URL-адрес, а JMS подключается к очереди, чтобы забрать отправленные ей сообщения. Приложение может работать на любом из крупных коммерческих (WebSphere, Weblogic, Oracle) или бесплатных (Glassfish, JBoss) серверов.

1 голос
/ 10 января 2010

Для критически важной системы вам может потребоваться что-то вроде IBM MQ series в качестве промежуточного программного обеспечения и простое Java-приложение, которое использует интерфейс MQ для обработки запросов.

В нескольких банках, о которых я знаю, это их архитектура. Первоначально серверы приложений были написаны на C, как и промежуточное программное обеспечение. Они смогли переключиться на Java, потому что код, который фактически выполнял критическую работу (отправка и получение сообщений, обеспечение гарантированной доставки, защита от прерываний в случае сбоя компонента), был IBM MQ.

1 голос
/ 10 января 2010

В Java у вас уже есть отличные проекты с открытым исходным кодом, которые делают все это для вас, как Glassfish , Tomcat и т. Д.

0 голосов
/ 10 января 2010

Или используйте среду OSGI.

0 голосов
/ 10 января 2010

В нашем случае мы используем сервер приложений от Sybase, который может содержать компоненты Java. Это в значительной степени стандартные классы Java, которые имеют открытые методы, которые доступны для вызова через CORBA. Компоненты также могут быть запланированы на постоянную работу или по расписанию (например, служба) для поиска работы (с помощью элементов в таблице базы данных, очереди Oracle AQ или очереди JMS). Все это содержится на сервере приложений, и сервер приложений предоставляет нам управление транзакциями, ресурсами и пул соединений с базой данных.

...