INFO.Z-PDF.RU
БИБЛИОТЕКА  БЕСПЛАТНЫХ  МАТЕРИАЛОВ - Интернет документы
 

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

СРАВНИТЕЛЬНЫЙ АНАЛИЗ СЕРВЕРОВ приложений

FILLIN "Авторы статьи"Шульгин Д.С., аспирант кафедры информатики СПбГУ, [email protected]

Аннотация

Сервер приложений является одной из ключевых составляющих в многозвенной архитектуре приложений. Он обеспечивают масштабируемую, высокопроизводительную инфраструктуру, предоставляет модель разработки и развертывания, а также различные программные компоненты, значительно облегчающие процесс разработки. Говоря о Java Enterprise, существует несколько вендоров, предоставляющих свои продукты с поддержкой Java EE 6. Каждый из них был по-разному спроектирован и разработан, имеет разную стратегию развития и поддерживает разные компоненты спецификации. Это позволяет проводить сравнение между серверами приложений, оценивать эффективность, надежность и скорость их работы.

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

Введение

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



Рассмотрим наиболее распространенные сервера приложений и проведем их общее сравнение с целью в дальнейшем выделить критерии сравнения их работы с компонентами бизнес-логики приложений. В Таблице 1 перечислены сервера приложений, которые будут рассмотрены, и их поддержка Java EE – полная или вэб-профиль.

Application Server Version Java EE Compatibility

Oracle Glassfish 3.1.2.2 Full

Oracle WebLogic 12c(12.1.1) Full

JBoss AS 7.1.

1 Web Profile

IBM WebShepre 3.0.0.3 Full

Apache TomEE 1.5.1 Web Profile

Таблица 1: JavaEE Compability [1]

Oracle Glassfish Server

Когда Oracle овладел всеми продуктами Sun Microsystems, активнее стала использоваться стратегия разделения на бесплатное и платное решение. Также произошло и с Glassfish [2]: Glassfish Server Open Source Edition & Oracle Glassfish Server. Open Source версия позиционируется как лучший бесплатный сервер приложений и полностью поддерживает Java EE 6. Коммерческая версия расширяет функционал бесплатной версии поддержкой Oracle и некоторыми интересными функциями, такими как Active Redeploy - возможность взаимодействовать с приложением во время его переразвертывания.

Примечательно, что в состав Glassfish входит Apache Tomcat в качестве контейнера сервлетов.

Говоря о продуктах Oracle, стоит упомянуть и Oracle WebLogic Server [3], зародившийся еще в 1997м году. Последняя версия 12 также обеспечивает полную поддержку Java EE 6.

Представители Oracle утверждают, что оба этих сервера приложений важны, т.к. их предназначение несколько разнится: Glassfish больше рассчитан на легковесные приложения, в то время как WebLogic лучше подходит для приложений с большим количеством транзакций и работы с базами данных Oracle.





JBoss AS

Продукт компании Red Hat. Основанный на Java, JBoss [4] имеет лишь вэб-профиль лицензию JavaEE6: например, нет поддержки JNDI (Java Naming and Directory Interface). Однако, поддержки этой и других технологий нет в Open source версии JBoss AS. Покупая лицензию Red Hat, можно получить поддержку необходимой технологии поверх JBoss AS. JBoss Enterprise Application Platform – это платформа, с настройкой производительности под высоко нагруженные, масштабируемые приложения. Помимо поддержки Java EE, JBoss EAP предоставляет и различные инструменты для управления. Например, JBoss Operating Networks, позволяющий администрирования все окружения для тестирования и разработки.

IBM WebSphere

Флагман бренда WebSphere [5] компании IBM. Также разделен на коммерческую версию и с открытым исходным кодом. Обе версии обеспечивают полную поддержку Java EE 6. Основан на Apache Geronimo, в состав которого входит Apache Tomcat в качестве контейнера сервлетов. Geronimo, к слову сказать, также полностью поддерживает Java EE 6.

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

Apache TomEE

Осенью 2011го увидел свет новый продукт от Apache – TomEE [6]. JavaEE Web Profile on Tomcat. Поддержка EJB в нем осуществляется за счет Open EJB - контейнера EJB с открытым исходным кодом по лицензией Apache 2.0. Ранее Open EJB уже интегрировался в другие сервера приложений, например, тот же Geronimo. Open EJB в текущей версии 3.1.4 полностью поддерживает EJB 3.0 и частично 3.1. В октябре 2011 TomEE получил сертификат Oracle как совместимая реализация Java EE 6 (вэб-профиль).

TomEE выступает как надстройка на Tomcat. Стоит сказать, что решение, наподобие TomEE уже существовали. Например, TCat, также основанный на чистом Tomcat и осуществляющий поддержку EJB за счет Open EJB. Однако, это платный продукт, в то время как Apache предоставляет бесплатное решение.

Сравнение

Переходя к сравнению серверов, стоит сказать, что на данный момент существует уже немало работ, однако, зачастую они направлены на выделение плюсов того или иного сервера. В связи с этим было принято решение произвести собственные независимые исследования, а затем сравнить их с существующими. Выделим критерии, по которым можно сравнить сервера приложений без развертывания на них самих приложений: объем дистрибутива, объем занимаемого места на диске, время старта, объем занимаемой процессом java.exe памяти процессора.

Для измерений была взята машина со следующими характеристиками:

OС Windows 7 Professional, SP1, 64bit, build 6.1.7601 (Win7 RTM)

Процессор Intel(R) Core(TM) i5-2430M, 2.40GHz

4GB оперативной памяти

Помимо общих следует описать и аппаратные характиристики, также влияющие на результаты измерений. Они были установлены с помощью программы диагностики и тестирования AIDA64 Extreme Edition v2.2.1800:

IDE Controller Intel(R) Mobile Express Chipset SATA AHCI Controller

Disk Drive TOSHIBA MK6476GSX (640 GB, 5400 RPM, SATA-II)

Disk File System NTFS

Memory Type DDR3 SDRAM

Memory Speed DDR3-1333 (667 MHz)

DRAM Manufacturer Samsung

Serial Number 61E2CAC5h (3318407777)

Проведенные тесты памяти на скорость чтения и записи показали следующие результаты:

Memory Read Speed 9817 MB/s

Memory Write Speed 10307 MB/s

Memory Copy Speed 9141 MB/s

Размер дистрибутива

Сервер приложений Размер (mb)

Oracle Glassfish 54.6(32.7*)

JBoss AS 127

IBM WebShepre 106

Apache TomEE 27.1

Таблица 2. Размер дистрибутива.

* - Web Profile

Объем занимаемого дискового пространства

Сервер приложений Размер (mb)

Oracle Glassfish 105(60*)

JBoss AS 78

IBM WebShepre 2200

Apache TomEE 31

Таблица 3. Объем занимаемого дискового пространства после установки.

* - Web Profile

Время развертывания

Сервер приложений Время старта (мс)

Oracle Glassfish 5756

JBoss AS 2218

IBM WebShepre >40 000

Apache TomEE 734

Таблица 4. Время старта сервера.

Память, используемая процессом java.exe

Сервер приложений Java.exe (mb)

Oracle Glassfish 119

JBoss AS 83

IBM WebShepre 150

Apache TomEE 53

Таблица 5. Память, используемая процессом java.

exe.

Дальнейшее сравнение невозможно без попытки развернуть на сервере какое-либо приложение. Т.к. исследование проводится в контексте технологии Enterprise JavaBeans, то в рамках сравнения на каждом из серверов приложений были развернуты тестовые приложения, представляющие собой имплементации типов EJB 3.1: Singleton, Stateless и Statefull бины. Эти примеры предоставляет официальный сайт Apache TomEE[6].

Сервер приложений Singleton (мс) Stateless (мс) Statefull (мс)

Oracle Glassfish 970 499 216

JBoss AS 290 281 120

Apache TomEE 234 196 115

Таблица 6. Время развертывания приложений (мс)

Заключение

Подводя итог сравнительному анализу, можно выделить Oracle Glassfish Server: два дистрибутива для full support и web profile, сравнительно быстрый старт и потребление ресурсов, поддержка Oracle. Также все большую популярность набирает продукт от Apache (TomEE и OpenEJB), во многом за счет открытого исходного кода и быстродействия. Безусловно, стоит отметить и тот факт, что IBM WebSphere - это единственный из представленных полностью платный сервер приложений, чтобы пользоваться им полноценно в любом случае придется приобрести лицензию.

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

Литература

Поддержка JAVA EE серверами приложений JavaEE Compability [Электронный ресурс] // http://java.sun.com/javaee/overview/compatibility.jsp [дата просмотра: 02.04.2013]

Oracle Glassfish Server [Электронный ресурс] // http://glassfish.java.net/ [дата просмотра: 02.04.2013]

Oracle Weblogic Server [Электронный ресурс] // http://www.oracle.com/technetwork/middleware/weblogic/overview/index.html [дата просмотра: 02.04.2013]

JBoss AS [Электронный ресурс] // http://www.jboss.org/jbossas [дата просмотра: 02.04.2012]

IBM Websphere [Электронный ресурс] // http://www-01.ibm.com/software/ru/websphere/ [дата просмотра: 02.04.2013]

Apache TomEE [Электронный ресурс] // http://openejb.apache.org/ [дата просмотра: 02.04.2013]

Application Servers Benchmark [Электронный ресурс] // http://agoncal.wordpress.com/2011/10/20/o-java-ee-6-application-servers-where-art-thou/ [дата просмотра: 02.04.2013]

Survey Results: Java EE Containers [Электронный ресурс] // http://zeroturnaround.com/blog/java-ee-container-heaven-hell-survey-results/ [дата просмотра: 02.04.2013]

Оценивая серверы приложений J2EE // Interface Ltd. — 2001

Буди Карниван. Программирование web-приложений на языке Java // Лори. — 2009. — 880с.

Х. М. Дейтел, П. Дж. Дейтел, С. И. Сантри. Технологии программирования на Java 2. Распределенные приложения // Бином-пресс. — 2009. — 466с.

Похожие работы:

«Проект Об утверждении регламентов электронных государственных услугВ соответствии с Законом Республики Казахстан от 27 ноября 2000 года "Об административных процедурах", Законом Республики Каза...»

«-701040-377825Секция точных наук-4 (физика, информатика, астрономия) ауд.3-3 № п/пФ.И.О. учащихся Учреждение образования Тематика работы 1 Андриянец Николай Степанович, 9а Государственное учреждение образования "Гомельское г...»

«УТВЕРЖДАЮ Зам директора по УМР _Венедиктова О.Н. "_" 2016 г.РАСПИСАНИЕ ЭКЗАМЕНОВ ГРУППЫ № 151 Дата Время Предмет Аудитория Комиссия 14.06.16(вторник) 12:00 Консультация Литература 300 16.06.16(вторник) 9:00 Экзамен Литература 300 Председатель –Елпатова О.И. Преподаватель –...»

«FCO770детектор утечек Опросный лист (заполняется на один прибор) Предприятие:     Заполнил:   Телефон:   Должность:   Адрес:   E-mail:  -1200159525 Код Диапазон давления A1 +/-99.9 мбарA2 +/-200 бар A3 +/-999 мбарA4 -1....»

«Руководство по авторизации в ПП "Сверка НДС" ЗАО "Калуга Астрал" г. Калуга, 2016 г.СОДЕРЖАНИЕ TOC \o 1-3 \h \z \u 1. Учетные данные PAGEREF _Toc450230873 \h 32. Авторизация в ПП "Сверка НДС" PAGEREF _Toc450230874 \h 31. Учетные данные Для целей проверки работоспособности Программного продукта "Астрал-ЭТ" при регис...»

«Календарно-тематическое планирование по предмету "Информатика" 7 класс I вид В неделю 2 часов, в год 70 часов. № п/п Тема урока/раздела Кол-во часов Тип урока Вид контроля Дом. задание дата словарь по плану по факту I Начальные сведения об информации 13ч. 1 2 Правила техники бе...»

«Условия реализации программы по информатике и ИКТ МБОУ "Школа №121" Помещение кабинетов информатики 305, 306, оборудование (мебель и средства ИКТ) удовлетворяют требованиям действующих Санитарно-эпидемиологических пр...»

«УТВЕРЖДЕНА приказом аппарата Губернатора Ямало-Ненецкого автономного округа от 19 января 2015 года № 3-О АНКЕТА(заполняется при помощи электронно-вычислительной техники) Местодляфотографии1. Фамилия Имя Отчество 2. Если изменяли фамилию,...»








 
2018-2023 info.z-pdf.ru - Библиотека бесплатных материалов
Поддержка General Software

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 2-3 рабочих дней удалим его.