Выбор технического стека для некоторых вопрос очень тонкий. Для нас это вопрос издержек, простоты сопровождения и всего того, что называется сosts of ownership. Кроме того, не хотелось бы сильно ограничивать себя вендором, и не отставать от индустрии.



Таким образом мы пришли к решению использовать JBoss Wilfdly.



Кратко перечислю плюсы:

* WF это зрелое решение, достигшее версии 10. Поддерживает Java 8 и JavaEE 7 Full Profile, включая распределённые транзакции и JMS, асинхронную обработку запросов через XNIO, вебсокеты и другие модные штуки

* WF это опенсорсное решение, которое активно развивается. При необходимости можно докупить платной поддержки у JBoss, владелец которой — RedHat

* WF это просто набор модулей, конформных стандартам JavaEE. В отличие от закрытых продуктов, здесь можно отключить те или иные модули, или привезти с приложением свою реализацию. Ядро сервера — небольшая библиотека, читающая конфигурацию и организующая класс-лоадеры для того, чтобы приложение получило JavaEE API. Написать свой модуль или патч дефекта — не проблема, мы уже это успешно делали

* Предыдущий пункт значит так же, что замена модулей на более свежие для сервера в целом или для конкретного приложения задача понятная и несложная

* WF оборудован набором неплохих расширений. Среди них:

~~ JDG, JBoss Data Grid (Infinispan) — распределённый транзакционный кеш, который можно собрать в реплицируемый режим (с избыточностью) или DHT, write-trough или отложенную запись;

~~ Switchyard, позволяющее декларативно описывать бизнес-процессы и другой оркеструющий код (тоже на базе открытых проектов типа Apache Camel)

* На WF есть набор неплохой документации, не дающий нам погибнуть

* К нему есть консольный shell, позволяющий скрипты инициализации писать очень легко и просто

* У WF есть хорошая графическая консоль, включающая в т.ч. средства мониторинга. Управление сервером через JConsole не обременительно

* Система логгирования настраивается легко и пишет всё необходимое



Если вдруг вам понадобится поддержка JavaEE, предлагаю посмотреть в эту сторону