Архитектура распределенного приложения - PullRequest
1 голос
/ 02 февраля 2011

Мы создаем приложение, в котором клиенты будут установлены на многих сайтах. Каждый клиент работает самостоятельно, имеет свою базу данных и рабочие процессы. Однако каждый клиент должен представить некоторые данные в основное приложение, установленное в центральной позиции. Приложение в центральном местоположении должно получать обновления (например, уровни запасов) от распределенных модулей. Все приложения сделаны на Java. Каков наилучший способ / технология отправки обновлений из распределенных модулей в центральное приложение? JMS, JDBC, ...?

1 Ответ

2 голосов
/ 15 марта 2011

Я собираюсь предположить, что серверы на клиентских сайтах имеют сетевой доступ, и что вы можете настроить центральный сервер так, чтобы другие клиенты могли подключаться к нему. Это может быть либо Интернет, либо внутренняя сеть WAN.

В этом случае это просто случай поиска механизма для подачи некоторых правильно отформатированных данных, которые принимаются и обрабатываются центральным сервером. Это дает вам большое количество вариантов, я собираюсь перечислить только несколько:

  • Создайте веб-сервис с чем-то вроде Apache Axis
  • Используйте ESB - что-то вроде Mule или JBoss
  • Используйте простой веб сервлет на сервере и отправляйте данные с помощью HTTP POST. Для этого вы можете использовать простой встраиваемый веб-сервер Java, такой как Jetty .
  • Используйте протокол обмена сообщениями , такой как Kryonet или Google , буферы протокола
  • Используйте более общие сетевые приложения , такие как Netty

Все это будет работать, поэтому это действительно зависит от разработки, которая лучше всего подходит для вашей архитектуры. Я подозреваю, что самым простым будет что-то вроде Kryonet, наиболее полным может быть что-то вроде полного стека JBoss ESB / сервера приложений.

...