Сравнение OpenEjb и Glassfish - PullRequest
       48

Сравнение OpenEjb и Glassfish

9 голосов
/ 26 июля 2010

можно ли заменить Glassfish на Tomcat / OpenEJB для более легких приложений?Какова производительность OpenEJB по сравнению со glassfish как контейнером EJB.

Каковы ограничения OpenEJB вместо glassfish?

С уважением

Ответы [ 6 ]

9 голосов
/ 27 июля 2010

Обратите внимание, что комментарий Хани касался Geronimo 1.0 / OpenEJB 2.0. Хани был неправ в комментарии Франкенштейна, поскольку кодовая база OpenEJB 2.x была построена с нуля для Geronimo, и в результате она работала только в Geronimo; встроенный, tomcat и автономный режимы были потеряны. Мы обнаружили, что комментарий Хани был прав в том, что представление было не очень хорошим.

Для OpenEJB 3.x мы отказались от кодовой базы 2.x, взяли вещи с того места, где остановились в OpenEJB 1.x, и довели его до сертификации EJB 3.0. 2.x и 3.x не имеют общего кода. OpenEJB 3.x показал себя очень хорошо, и проект развивался довольно быстро со времени выхода первой версии 3.0 в 2008 году. Встроенный контейнер EJB 3.1 и функции EJB в .wars пришли из OpenEJB. У нас была первая реализация @Singleton, и мы надеемся завершить оставшуюся часть EJB 3.1 и сертифицировать веб-профиль к четвертому кварталу этого года. Failover и JMX-мониторинг интенсивно развивались с января, теперь они завершены и будут выпущены в 3.1.3 через пару недель. Аварийное переключение на самом деле является вторым поколением, первая поддержка аварийного переключения была выпущена в 3.1.1. В выпуске 3.1.1 была проделана значительная работа с удаленной производительностью, а также количество вызовов RPC в среднем составило 7300 TPS.

Менее важный для некоторых, но очень важный для других, Apache OpenEJB не является корпоративным проектом с открытым исходным кодом. Большинство коммиттеров - это пользователи, которые заработали коммит и используют OpenEJB на работе. Это имеет свои преимущества и недостатки, но суть в том, что OpenEJB заполнен людьми, которые любят его и используют его, а сообщество так же открыто, как и источник.

UPDATE

В октябре 2011 года мы получили сертификат веб-профиля Java EE 6 с помощью «Tomcat + OpenEJB», который теперь называется Apache TomEE.

Сертифицированный и с более четким названием, мы надеемся, что это облегчит и понимание, и сравнение стека.

Что касается личной заметки, я рассматриваю комментарии в этой теме как один из основных факторов, побуждающих к выполнению шага сертификации. Спасибо всем в StackOverlfow за отзывы, которые я нахожу как обнадеживающими, так и обоснованными. Соединение с этим сообществом привело к таким большим позитивным изменениям в OpenEJB / TomEE.

5 голосов
/ 26 июля 2010

Я предполагаю, что вопрос касается среды выполнения, но все же, я не понимаю, что означает более легкое приложение .След памяти?Время запуска?Время развертывания?Какая проблема у вас на самом деле?И, пожалуйста, определите свет.

Для чего это стоит, я считаю GlassFish 3 легким временем выполнения, и мой опыт работы с ним очень положительный.Из описания продукта :

Oracle GlassFish Server 3 реализует среду выполнения OSGi, которая позволяет динамически добавлять функции на сервер Java по мере необходимости и для наименьшего возможного Javaстек для поддержки приложений.Это помогает сохранить как можно меньшую площадь, загружая только модули, необходимые для обслуживания развернутых приложений, что сокращает время запуска и уменьшает использование ресурсов.

Во-вторых, мне лично не нравится подход Франкенштейна, Я полагаю, что склеивание между всеми частями, которые вы получаете с реальным сервером приложений, является частью добавленной стоимости , именно поэтому я и использую сервер приложений.

В-третьих, я никогда не пробовал OpenEJBЯ использовал его только для тестирования и никогда не планировал использовать его для производства, в основном из-за плохой репутации.См. комментарий о выступлениях Джеронимо на TSS (от Хани Сулеймана, не удивляйтесь, если это едко):

Я бы сказал, что высказывание о том, что уровень EJB - это '«Допустимый» - это самое приятное, что вы могли бы сказать.

Из того, что я знаю, код ejb Geronimo основан на openEJB, который исторически был худшим контейнером, который вы когда-либо могли найти.Вам бы тоже пришлось искать его довольно сложно, только чтобы наполнить его различными степенями сожаления / ярости, как только вы достигнете этой сомнительной цели.

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

Ситуация могла измениться, OpenEJB, вероятно, улучшился, хотя бы немного, но все же:

  • OpenEJB не полностью поддерживает EJB 3.1.
  • Tomcat + OpenEJB по-прежнему не является полной реализацией Java EE, возможно, вам все равно придется добавить некоторые элементы в ваше существо (даже не упоминаяJava EE 6).
  • А как насчет администрирования, кластеризации и т. Д.?
  • Если вам не нужен полный профиль Java EE 6, есть веб-профиль Java EE 6
  • IЯ доволен GlassFish 3, я не нахожу его «тяжелым» (и я предлагаю попробовать).
  • Я знаю, что он может хорошо работать.

Для всех этихПричины, я бы не стал рассматривать Tomcat + OpenEJB вместо GlassFish, особенно если нет проблем, которые нужно решить.

Смежные вопросы

См. Также

4 голосов
/ 30 июля 2010

Действительно интересный пост.Это было именно наше мнение (компании) до того, как мы попробовали OpenEJB 3.0 три или четыре года назад!

Теперь у нас хороший опыт работы с OpenEJB, и он широко используется в производстве / разработке.Это действительно легкий и простой в использовании.Благодаря OpenEJB разработчики экономят много времени (посты Мэтью Б. Джонса также являются хорошим отзывом).

Сообщество активно, открыто и все время готово помочь и улучшить продукт с полезнымфункции, основанные на реальных отзывах пользователей.

И, наконец, что немаловажно, производительность действительно великолепна!

Жан-Луи

4 голосов
/ 27 июля 2010

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

3 голосов
/ 09 октября 2010

OpenEJB как легкая и встроенная альтернатива автономным серверам приложений.Мы перенесли наше приложение из JBoss и Weblogic (оно должно было поддерживать оба) в Tomcat / OpenEJB без особых проблем.Тесты производительности показали улучшение или не худшие результаты.

Самое большое ограничение OpenEJB - это неполная документация.Его веб-сайт в порядке (на самом деле он довольно приличный для проекта с открытым исходным кодом), но он не может сравниться с JBoss, Glassfish и т. Д.

Еще одна вещь, о которой вы должны знать, - это использование ActiveMQ в качестве JMSпровайдер, который является еще одним проектом с открытым исходным кодом.Интеграция с ActiveMQ хороша, но имеет некоторые ограничения.Например, вы не можете просто обновить до последней версии ActiveMQ.

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

2 голосов
/ 27 июля 2010

Я думаю, что поддерживаю Дэвида Блевинса в том смысле, что Glassfish теперь означает Oracle, и мы все знаем наследие, которое они оставили с OC4J.Я боюсь, что Glassfish может потребоваться все больше и больше оборудования для того же сервиса.

В любом случае, лучший совет: настройте эталонный тест и попробуйте оба решения самостоятельно, это вопрос не более 20 часов экспертной работы.

...