Требуется помощь по инфраструктуре Java EE, чтобы выбрать правильное сочетание - PullRequest
1 голос
/ 16 февраля 2012

В настоящее время я немного растерялся со всеми доступными библиотеками. Я хотел бы иметь небольшой сервер приложений (лучше всего: jboss as7, так как он очень легкий и основан на OSGI) и имеет легкую, но эффективную соа-подобную инфраструктуру. Я искал на Apache Service Mix, хотя это выглядит довольно сложно / сложно. То, что я в основном хочу иметь это:

  • Простое определение служб без сохранения состояния (легко, как в простом классе Java Pojo)
  • Модуляризация с автоматическим обнаружением службы с помощью osgi
  • Сервисы могут автоматически представлять себя в виде JS-формата WebService ИЛИ (!!), например REST Service
  • Интегрированная, простая в обращении аутентификация с использованием OpenId для защиты любой конечной точки сервиса, включая обработку всех процессов валидации / верификации

Я не мог с легкостью понять, какая из всех фреймворков действительно подойдет, например, в Apache Service Mix. Я не могу найти поддержку для представления сервисов в виде JSON-подобных сервисов RESET и не могу найти никакой интеграции безопасности.

1 Ответ

5 голосов
/ 16 февраля 2012

Звучит так, будто ты хочешь GlassFish 3.1 для меня. Я не могу говорить с JBoss или любым другим контейнером Java EE 6.

Java EE 6 в значительной степени удовлетворяет большинству ваших требований:

  • Простое определение услуг без сохранения состояния - это сеанс без сохранения состояния EJB, и это всего лишь Pojo - поставьте @Stateless наверху, если оно есть.

  • Сервисы могут автоматически представлять себя как веб-сервис - это также EJB без сохранения состояния - поместите @WebService на вершину.

  • Интегрированная, простая в обработке аутентификация с использованием OpenId - JSR 196 (Java Authentication SPI для контейнеров) покрывает это, но вам потребуется реализация специально для Open ID. О, по-видимому здесь равно единице.

Это просто Java EE 6.

Для OSGi GlassFish 3.1 - это полнофункциональная платформа OSGi, и все EJB-модули также доступны для OSGi. Так что, думаю, вы получите это бесплатно.

Что касается HTTP JSON WebServices, JAX-RS сделает это, но не «бесплатно», как @WebService. Но создание фасада HTTP RPC поверх Session Bean должно быть тривиальным, поскольку JAXB на Джерси (реализация JAX-RS в GlassFish) опубликует Java как JSON или XML.

Итак, я бы начал там с GF 3.1 и сгибал его до тех пор, пока он не сломался, вместо того, чтобы бегать по сети, играя ала карт.

...