Допустим, у меня есть серверная часть Java / Scala, и я хочу разработать для нее промежуточное ПО на Python. У меня нет опыта разработки промежуточного программного обеспечения, но я предполагаю, что это означает, что изнутри Python мне нужно будет выдавать команды для запущенных серверных программ Java / Scala и, в свою очередь, получать обратную связь от этого внутреннего интерфейса. Для этого мне нужно связать два языка, и есть несколько вариантов взаимодействия Python и Java. Согласно эти pages есть несколько вариантов:
- JPI
- JNI
- JPype
- Джепп
- Jython
- JCC
К сожалению, JPI, JNI, JPype и Jepp, похоже, больше не развиваются активно (последнее обновление более года назад). Jython все еще активен, но я читал, что невозможно импортировать все модули Python из Jython. JCC кажется своего рода слоем C ++ между Java и Python, что также кажется нелогичным.
Я также нашел несколько вопросов ТАК по теме, но большинству кажется, что ему больше 3-х лет, что в мире Интернета / Python, конечно, долгое время.
Поскольку у меня есть некоторый опыт работы с библиотекой обмена сообщениями ZeroMQ, я мог бы использовать ее, но мне пришлось бы настроить для нее программы Java (что не было бы такой большой проблемой, но если есть лучшее решение ...) .
Итак, мой вопрос: с учетом того, что я контролирую серверную часть Java / Scala, какой в настоящее время лучший способ написать уровень промежуточного программного обеспечения Python для этого бэкэнда?