Преимущества / недостатки Glassfish v3 Prelude vs Springsource DM server для веб-приложений?
оба этих сервера приложений, по крайней мере, частично основаны на OSGI. Один (Glassfish), очевидно, является Java EE, а другой-нет. Теперь я нахожусь на этапе выбора платформы для нового проекта, и естественным выбором является Glassfish v3 Prelude. Это поднимает вопрос о том, возможно, мы должны использовать s2ap вместо этого.
вопрос заключается в следующем: предлагает ли сервер springsource DM какие-либо веские причины использовать его над Glassfish? И наоборот.
6 ответов
серверы приложений Java EE имеют распределенные менеджеры транзакций. Если это вообще важно,то может потребоваться посмотреть, включает ли SpringSource dm такое.
можно сделать XA TX с Spring-Framework, просто вы остались сами по себе, чтобы найти подходящий менеджер XA и интегрировать его.
курс XA TX очень сильно упал в дурную славу. Большинство людей стараются избегать их, как чумы. Amazon.com например, не использует их.
в настоящее время мы используйте Spring-Framework и Tomcat в combo. Мы делаем всю нашу собственную интеграцию. Многие люди сделали аналогичный выбор стека среднего уровня. Мы привязываемся к API Spring-Framework-так же, как люди Java EE привязываются к Java EE/EJB. Не позволяй весенней риторике одурачить тебя. Тем не менее, он по-прежнему остается открытым исходным кодом, доступным для сообщества пользователей.
Как только вы идете Java EE, вы привязываетесь к определенному поставщику Java EE, поскольку трудно перемещаться между реализациями. EJB3 предположительно облегчит это, но, держу пари, это все равно будет основным предприятием по переключению серверов приложений Java EE.
откровенно Spring-Framework предоставляет более полезные API, чем стандарт Java EE/EJB, и он внедряет инновации более быстрыми темпами.
Это старая тема, но я подумал, что было бы полезно для людей, столкнувшихся с этим (как и я), поделиться недавними улучшениями GlassFish OSGi, в основном в области OSGi Enterprise RFC: http://wiki.glassfish.java.net/Wiki.jsp?page=OsgiDashboard
конечно, есть также @ Resource-based инъекция декларативных сервисов OSGi, которая была там с v3 в декабре '09.
Я думаю, SpringSource приобретение ковалентных технологий ставит их в лучшее положение, чтобы помочь любому, кто использует стек Spring/Tomcat. Оптимизация Tomcat, которая поставляется вместе с Spring DM Server, может стоить столько же или больше, чем функции OSGi.
использование OSGi в Glassfish вводит в заблуждение. Glassfish использует OSGi внутренне для сервера; OSGi недоступен для приложений, развернутых в Glassfish.
с сервером Spring dm приложения могут быть написаны для использования OSGi.
является ли OSGi важным соображением для вас? Единственный другой реальный сервер приложений OSGi-это Infiniflow Паремуса. Все остальные серверы приложений теперь говорят об OSGi, но это внутренняя деталь реализации; это не для развернутое приложение.
Я не использовал SpringSource DM server, но я считаю, что лучше подождать некоторое время, прежде чем попробовать его в производстве. Причина в том, что это довольно новая технология. Кроме того, то, как работает схема лицензирования с SpingSource (GPL), не очень помогает, так как это практически означает, что вы будете полагаться только на SpringSource сейчас и в будущем. Если вам нужна поддержка сервера, то ваш единственный вариант-пойти с SpringSource.
SpringSource DM Server поддерживает модульные приложения - вы можете разделить приложение на пакеты OSGi и обмениваться любыми инфраструктурными услугами, которые вы хотите предоставить между приложениями. Это уводит вас от монолитных структур, таких как войны, определенные Java EE. Обычно это означает, что вы получаете очень быстрый цикл редактирования/сохранения/повторного развертывания во время разработки. Затем OSGi позволяет вам экспортировать модули версий и пакеты, а также динамически обновлять модули без необходимости перезагрузки весь сервер.
сервер SpringSource dm был построен с нуля как пакеты OSGi. Таким образом, вы можете настроить, какие подсистемы сервера dm загружаются, если вы не хотите стандартный набор.