2011-02-02 3 views
1

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

+0

Похоже, я не мог получить ответ на этот вопрос. – joshua

ответ

2

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

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

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

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

Смежные вопросы