Преимущества / недостатки сервера Glassfish v3 Prelude и Springsource dm для веб-приложений? - PullRequest
7 голосов
/ 19 декабря 2008

Оба эти сервера приложений по крайней мере частично основаны на OSGI. Один (Glassfish), очевидно, Java EE, а другой нет. Сейчас я нахожусь на этапе выбора платформы для нового проекта, и естественным выбором является Glassfish v3 Prelude. Это поднимает вопрос о том, возможно, мы должны использовать вместо этого S2AP.

Тогда возникает вопрос: предлагает ли сервер springsource dm убедительную причину использовать его поверх Glassfish? И наоборот.

Ответы [ 6 ]

4 голосов
/ 23 декабря 2008

Серверы приложений Java EE имеют распределенные диспетчеры транзакций. Если это вообще важно, то, возможно, захотите узнать, включает ли SpringSource dm такие.

Можно сделать XA TX с Spring-Framework, просто вы можете самостоятельно найти подходящего менеджера XA и интегрировать его.

Курс XA TX очень сильно обесценился. Большинство людей стараются избегать их как чумы. Amazon.com, например, не использует их.

В настоящее время мы используем Spring-Framework и Tomcat в комбинации. Мы делаем всю нашу интеграцию. Многие люди сделали подобный выбор стека среднего уровня. Мы привязаны к API Spring-Framework - точно так же, как люди Java EE привязаны к Java EE / EJB. Не позволяйте весенней риторике дурачить вас об этом. Тем не менее, он продолжает оставаться открытым исходным кодом, доступным для сообщества пользователей.

Как только вы переходите на Java EE, вы привязываетесь к конкретному поставщику Java EE, так как трудно переходить между реализациями. EJB3 предположительно облегчит это, но готов поспорить, что он по-прежнему будет основной задачей по переключению серверов приложений Java EE.

Откровенно Spring-Framework предоставляет более полезные API, чем стандарт Java EE / EJB, и вводит новшества с более высокой скоростью.

3 голосов
/ 24 июня 2010

Это старая ветка, но я подумал, что людям, сталкивающимся с этим (как и я), было бы полезно поделиться недавними усовершенствованиями в GlassFish OSGi, в основном в области OSGi Enterprise RFC: http://wiki.glassfish.java.net/Wiki.jsp?page=OsgiDashboard

Конечно, есть также @-ресурсная инъекция декларативных сервисов OSGi, которая существует с v3 в декабре 2009 года.

2 голосов
/ 13 января 2009

Использование OSGi в Glassfish вводит в заблуждение. Glassfish использует OSGi для сервера; OSGi недоступен для приложений, развернутых в Glassfish.

С помощью сервера Spring dm приложения могут быть написаны для использования OSGi.

Является ли OSGi важным фактором для вас? Единственный другой настоящий сервер приложений OSGi - Infiniflow от Paremus. Все остальные серверы приложений сейчас говорят об OSGi, но это внутренняя деталь реализации; это не для развернутых приложений.

2 голосов
/ 23 декабря 2008

Я думаю, что приобретение SpringSource Covalent Technologies ставит их в лучшую позицию, чтобы помочь любому, кто использует стек Spring / Tomcat. Оптимизация Tomcat, поставляемая вместе с Spring dm Server, может стоить столько же или больше, чем функции OSGi.

1 голос
/ 20 января 2009

SpringSource dm Server поддерживает модульные приложения - вы можете разделить свое приложение на пакеты OSGi и совместно использовать любые инфраструктурные услуги, которые вы хотите предоставить, между приложениями. Это отдаляет вас от монолитных структур, таких как WAR, определенных Java EE. Как правило, это означает, что вы получаете очень быстрый цикл редактирования / сохранения / повторного развертывания во время разработки. Затем OSGi позволяет создавать версии модулей и экспортируемых пакетов, а также динамически обновлять модули без необходимости перезагружать весь сервер.

Сервер SpringSource dm был создан с нуля в виде OSGi-пакетов. Таким образом, вы можете настроить, какие подсистемы сервера dm загружаются, если вам не нужен стандартный набор.

1 голос
/ 22 декабря 2008

Я не использовал сервер SpringSource dm, но я считаю, что лучше подождать, прежде чем попробовать его в работе. Причина в том, что это довольно новая технология. Кроме того, то, как схема лицензирования работает со SpingSource (GPL), мало помогает, поскольку практически означает, что вы будете полагаться только на SpringSource сейчас и в будущем. Если вам нужна поддержка сервера, тогда вы можете выбрать SpringSource.

...