Связь между J2EE и Java автономными приложениями

1

Каковы наилучшие методы работы с двумя приложениями на одном и том же хосте, один J2EE и другой автономный Java, обмениваются данными друг с другом?

Дополнительная информация:

  • Приложение j2ee будет использовано в Wildfly AS
  • Ява сама по себе - это Netty NIO Server

EDIT ONE Еще информация:

  • Netty-сервер - это сервер с карточной игрой, который будет поддерживать бизнес-логику для самой игры и позволит игрокам играть синхронно друг с другом (до четырех игроков за игру, до максимального количества игр, разрешенных с моих ресурсов сервера hw)
  • Приложение J2ee (развернутое в Wildly) позаботится об аутентификации и авторизации
  • Приложение J2ee позаботится о соединении БД и о стойкости
  • Приложение J2ee должно будет перенаправить на автономный сервер java адрес удаленного сокета аутентифицированного игрока и, в конечном итоге, объект, содержащий состояние этого игрока
  • Приложение J2ee потенциально может инициировать сообщение, хотя для моего текущего потока мне нужна полная дуплексная связь с обоих концов (следовательно, мой страх перед WS или Rest, разве это не асимметрично для полного дуплекса канал связи?)
  • Сервер Netty можно рассматривать как фоновую задачу AS, которая запустит ее (и, в конечном итоге, другие серверы карточных игр), в попытке масштабирования псевдооризонтальной
  • 0
    Делайте это так, как вам удобно и удобно. J2EE-сущность приложения не влияет на то, как оно может взаимодействовать с другими приложениями.
Теги:
java-ee
rmi
wildfly-8

2 ответа

0
Лучший ответ

Попросите одного открыть сокет и установить связь с другим.

Вы можете делать больше экзотических вещей, но если что-то изменится в окружающей среде, оно сломается. Для нескольких идей "экзотических вещей"

  1. Запись и чтение из именованных каналов
  2. Настройте буфер общей памяти или два. и т.д...
  • 0
    Просто хочу добавить, что сокетная связь не зависит от Java или Jee. Вы можете общаться и интегрировать Java с любым сетевым приложением, и лучшим способом будет не изобретать велосипед, а использовать http (иначе отдых) или веб-сервисы, а не какой-то собственный проприетарный протокол сокетов.
  • 0
    Хотя я склонен согласиться, HTTP обычно включает в себя нечто большее, чем простое взаимодействие с сокетами. Во многих случаях, если вам нужна обработка без сохранения состояния, это правильный выбор; однако, если вам нужна обработка с отслеживанием состояния, количество материала, которое вам нужно поместить поверх этого протокола без сохранения состояния, ошеломляет.
Показать ещё 2 комментария
0

Я думаю, что невозможно создать хорошую схему реализации, если вы не будете ясны/ясны относительно следующих актуальных вопросов:

  1. Является ли автономное приложение фоновой задачей (возможно, запущенной с контейнером)?
  2. Если да, то и J2EE, и автономный должны обмениваться данными сеанса или беседы?
  3. Кто вызывает связь при общении?
  4. Возможно ли, что оба приложения могут использовать одну и ту же базовую базу данных?
  • 0
    я отредактировал свой вопрос соответственно
  • 0
    Не зная Netty NIO, я не уверен, что уместно / применимо: как насчет постоянного общения через хранилище данных?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню