JNI + платформа Java + сервер приложений на базе Java + веб-сервер HTTP - PullRequest
2 голосов
/ 25 января 2012

Мне нужно выбрать между различными технологиями Java для установки на сервер Linux.

Мой бэкэнд (логика бизнеса) - это Java-программа, которая должна взаимодействовать с функциями C с использованием JNI. Эта Java-программа также должна взаимодействовать с базой данных Oracle (11G) с помощью JDBC с одной стороны и BlazeDS, находящейся на сервере приложений на основе Java с другой стороны (для взаимодействия с плагином Flash на стороне клиента). Мне также нужен веб-сервер HTTP.

Не очень хорошо разбираясь в Java, я задаюсь вопросом, какой может быть самая высокая производительность (например, самая быстрая) и / или самое чистое решение.

Например, должен ли я установить JDK на сервер для обеспечения функциональности JNI, а затем использовать Tomcat для всего остального? Или Tomcat также включает JNI? Или что-то вроде JBoss, включающее J2EE и возможность подачи сервлетов, будет лучше, так как все в одном пакете?

Просто пытаюсь узнать какую-либо общепринятую мудрость о возможных решениях, а также о плюсах и минусах о том, как идти одним путем против другого.

Ответы [ 2 ]

1 голос
/ 25 февраля 2012

G-WAN - это HTTP-сервер (critera # 3), который выполняет сценарии Java, которые могут использовать Jar и другие классы Java (критерий № 2), тогда как одновременно запускает сценарии C / C ++ (критерии# 1).

Преимущество этого решения в том, что у вас будет работать только одна программа (без промежуточных слоев, без оболочек).

Отказ от ответственности: я участвую в разработке этого проекта.

1 голос
/ 25 января 2012

Любая среда выполнения Java может выполнять JNI - так что, если у вас запущен какой-либо сервер приложений (например, Tomcat или JBoss), то вы сможете нормально выполнять JNI.

Tomcat отлично подойдет для того, что вы описываете.

  • Это популярный легкий сервер приложений
  • Он поддерживает сервлеты и JSP, поэтому хорошо работает для обслуживания HTML
  • Наверное, начать с этого немного проще, чем с полной установкой JBoss

С другой стороны JBoss тоже отлично.

  • Больше внимания "Enterprisey" - вы можете получить отличную коммерческую поддержку от Red Hat
  • Может иметь смысл, если вы хотите использовать некоторые другие продукты в экосистеме JBoss

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

Еще одна вещь, которую стоит рассмотреть на раннем этапе, - поддержка инструментов - убедитесь, что вы чувствуете себя комфортно и довольны инструментами Java IDE для разработки приложений. Мой личный выбор - Eclipse, который имеет отличную поддержку через плагины для JBoss и Tomcat. Но большинство других основных Java IDE, таких как IntelliJ IDEA или Netbeans, также должны служить вашим целям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...