Хобрук: Ваш путь к мастерству в программировании

Как реализовать сокет для приложения Java EE в Tomcat

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

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

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

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

Я видел связанный с этим вопрос в StackOverflow Как обслуживать сокет из приложения Java EE, есть несколько предложений:

  • Реализуйте соединитель (JCA). Но я думаю, что целевой средой выполнения является JBoss, а не Tomcat.
  • Реализуйте интерфейс именования и каталогов Java (JNDI). Это то, что я пытаюсь, как вы можете видеть в моем предыдущем вопросе Почему ресурс JNDI может быть вызван только один раз в Tomcat? Люди используют JNDI для использования ресурсов, например. подключение к бд. Поэтому я не уверен, что это хороший способ общения в реальном времени. И я столкнулся со многими проблемами, изучая его.
  • Я думал о веб-сокете. Но значит ли это, что мне нужен сервер Python?

  • Ни один Python не будет клиентом, поэтому вам понадобится какой-то клиентский модуль веб-сокета python. Но, скорее всего, вы захотите сделать браузер клиентом, сделав это из Javascript с помощью socket.io. 29.12.2015

Ответы:


1

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

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

Короче НЕТ.

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

Уже ответил НЕТ.

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

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

29.12.2015
  • Это действительно отличное решение!! 29.12.2015
  • Новые материалы

    Блоги, которые обязательно нужно прочитать специалистам по обработке и анализу данных :
    Добро пожаловать в 2020! Новый год и новое десятилетие. Поскольку мы начинаем новый и захватывающий год в науке о данных, важно, чтобы профессионалы открыли для себя лучшие блоги по науке о..

    Универсальный базовый доход
    Универсальный базовый доход В последние годы концепция всеобщего базового дохода (УБД) набирает обороты как все более эффективное решение для борьбы с растущим неравенством доходов и..

    Освоение Python для анализа финансовых данных: руководство по получению данных о доходах от акций
    Если вы хотите научиться получать данные о доходах от акций с помощью Python, то это руководство для вас! В этой статье мы рассмотрим несколько примеров сбора данных о доходах от акций. Мы..

    Абсолютно имеет смысл.
    Абсолютно имеет смысл. Мой репетитор даже предложил то же самое. Одна проблема, с которой я столкнулся, заключается в том, что для каждой из категорий не было ярлыка «хорошо». Если я перебираю..

    МАШИННОЕ ОБУЧЕНИЕ И EDA
    Каковы шаги в машинном обучении Определение проблемы Генерация гипотез Извлечение данных Исследование данных Прогнозное моделирование Развертывание модели Зачем нам ЭДА? Идентификация..

    В чем основные различия между ReactJS и React-Native?
    В чем основные различия между ReactJS и React-Native? Что я узнал, создавая веб-приложения, а затем мобильные приложения на React React-Native существует уже около 2 лет и стал..

    LeetCode — Умножение строк
    Постановка задачи Даны два неотрицательных целых числа num1 и num2 , представленные в виде строк, вернуть произведение num1 и num2 , а также представлен в виде строки. Примечание . Вы..