2015-12-29 3 views
1

У меня есть приложение Python для анализа данных и приложение Java EE для веб-мониторинга. Теперь мне нужно установить прочную связь между ними, чтобы перенести результат анализа с python на java.Как реализовать сокет для приложения Java EE в Tomcat

Поскольку оба приложения расположены на одном сервере, я хочу реализовать TCP-сокет. Что касается объема данных, то в секунду передается около 10 данных датчиков. Я использую Tomcat 8.0 для Java EE и простой скрипт для python. Итак, мои вопросы:

  • Является ли реализация сокетов хорошей идеей?
  • Если да, то как его реализовать, может ли кто-нибудь дать мне учебник или пример?
  • Если нет, что мне делать дальше?

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

Я видел, связанный с этим вопрос о StackOverflow How to serve a socket from a Java EE application, есть уже некоторые предложения:

  • Реализовать Connector (JCA). Но я думаю, что целевое время исполнения - JBoss, а не Tomcat.
  • Внедрение интерфейса именования и интерфейса Java (JNDI). Это то, что я пытаюсь, как вы можете видеть, как мой предыдущий вопрос. Why JNDI resource can only be called once in Tomcat? Люди используют JNDI для использования ресурсов, например. db. Поэтому я не уверен, что это хороший способ общения в реальном времени. И я познакомился с множеством проблем, узнав об этом.
  • Я думал о веб-разъем. Но означает ли это, что мне нужен сервер python?
+0

Отсутствие Python будет клиентом, поэтому вам понадобится клиентский модуль python websocket. Но, скорее всего, вы хотите сделать браузер клиентом, выполнив его из Javascript, используя socket.io. – Gimby

ответ

1

Я считаю, что существует сто способ сделать это для обмена данными между этими технологиями. Но для Java вы должны держать его простым. В Tomcat вам не нужно писать реализацию сокета, вам просто нужна базовая реализация Servlet. Так что в основном для ваших вопросов.

Является ли реализация сокетов хорошей идеей?

Вскоре NO.

Если да, то как его реализовать, может ли кто-нибудь дать мне учебник или пример ?

Уже ответили NO.

Если нет, что мне делать дальше?

Напишите основное приложение сервлета, которое прослушивает адрес URL-адреса сервера. Ваш phyton-скрипт - всего лишь клиент. На phyton-сайте вы просто отправляете запрос POST на url сервлета и на стороне Java получаете запрос, считывая ваши данные и обрабатывая его. Вы можете начать изучать сервлет с Mkyong.

+0

Это действительно отличное решение! –