Сравнительный анализ серверов приложений

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 15.01.2019
Размер файла 23,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Сравнительный анализ серверов приложений

Шульгин Д.С., аспирант кафедры информатики СПбГУ, dan.shulgin@gmail.com

Аннотация

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

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

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

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

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

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

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

Сервер приложений

Размер (mb)

Oracle Glassfish

54.6(32.7*)

JBoss AS

127

IBM WebShepre

106

Apache TomEE

27.1

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

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

Сервер приложений

Размер (mb)

Oracle Glassfish

105(60*)

JBoss AS

78

IBM WebShepre

2200

Apache TomEE

31

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

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

Сервер приложений

Время старта (мс)

Oracle Glassfish

5756

JBoss AS

2218

IBM WebShepre

>40 000

Apache TomEE

734

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

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

Сервер приложений

Java.exe (mb)

Oracle Glassfish

119

JBoss AS

83

IBM WebShepre

150

Apache TomEE

53

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

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

Сервер приложений

Singleton (мс)

Stateless (мс)

Statefull (мс)

Oracle Glassfish

970

499

216

JBoss AS

290

281

120

Apache TomEE

234

196

115

Заключение

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

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

Литература

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

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

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

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

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

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

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

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

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

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

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

Размещено на Allbest.ru

...

Подобные документы

  • Разработка критериев оценки экрана веб-приложений. Основные подходы к защите веб-приложений. Анализ российских нормативных документов. Зарубежная практика выбора экрана веб-приложений. Разработка и обоснование общих требований к механизмам защиты.

    дипломная работа [68,7 K], добавлен 04.08.2016

  • Разработка приложений на платформе Win32 для исследования взаимодействия между процессами через отображение файла в память. Модель приложений "клиент - сервер". Описание алгоритма работы программы-клиента и программы-сервера. Результаты работы приложений.

    курсовая работа [869,3 K], добавлен 18.05.2014

  • Преимущество построения Web-приложений для поддержки стандартных функций браузера. Настройка проекта Web-приложения. Создание и изменение исходных файлов. Изменение файла JavaServer Pages по умолчанию. Основные проблемы при выполнении Web-приложений.

    контрольная работа [362,8 K], добавлен 10.11.2013

  • Методика создания приложений передающих данные в Microsoft Word. Технология взаимодействия приложений с текстовым редактором Microsoft Word. Создание и использование экземпляров серверов автоматизации. Взаимодействие с сервером на уровне документа.

    курсовая работа [120,7 K], добавлен 26.03.2010

  • Анализ архитектуры информационной системы, в структуру которой входят системы файл-сервер и клиент-сервер. Сравнение языков запросов SQL и QBE. Принципы разработки приложений архитектуры клиент-сервер при помощи структурированного языка запросов SQL.

    курсовая работа [88,9 K], добавлен 11.04.2010

  • Характеристика модели клиент-сервер как технологии взаимодействия в информационной сети. Разработка и описание алгоритмов работы приложений на платформе Win32 в среде Microsoft Visual Studio, использующих для межпроцессного взаимодействия сокеты.

    курсовая работа [544,6 K], добавлен 02.06.2014

  • План проекта настройки сервера для удалённого запуска приложений MS Visio 2007 и MS Project 2007 через RemoteApp. Сбор информации об установленном программном и аппаратном обеспечении; аудит событий безопасности объектов всех серверов с помощью подписок.

    дипломная работа [10,0 M], добавлен 11.09.2012

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

    курсовая работа [1,5 M], добавлен 04.12.2021

  • Основы создания мидлетов (midlet) - MIDP приложений для мобильных устройств на языке Java. Особенности устройств, для которых мидлеты предназначены. Библиотеки javax.microedition. Практические примеры создания MIDP приложений для телефона и их запуск.

    методичка [25,9 K], добавлен 30.06.2009

  • Основные приемы работы в среде программирования Delphi. Особенности технологии создания простейших приложений. Работа с компонентами среды разработки приложений. Ввод, редактирование, выбор и вывод информации. Аспекты использования структуры ветвления.

    методичка [619,9 K], добавлен 17.11.2011

  • Вопросы программирования в Maple версий 6-11 и разработка приложений. Рассматривает эффективные приемы программирования и разработки приложений для многих разделов техники, математики, физики, для решения которых пакет не имеет стандартных средств.

    монография [4,8 M], добавлен 13.03.2008

  • Устройство веб-приложений, преимущества их построения. Характеристика технологий веб-программирования, используемых на стороне сервера и на стороне клиента. Формирование и обработка запросов, создание интерактивного и независимого от браузера интерфейса.

    контрольная работа [76,4 K], добавлен 08.07.2014

  • Функции технологии Ajax разработки Web-приложений: выполнение HTTP-запросов в клиентской части и анализ ответа XML-сервера. Создание данных объекта XMLHttpRequest для разных браузеров. Обработка с помощью сервлета. Функциональность задач в Ajax.

    лабораторная работа [54,8 K], добавлен 06.06.2009

  • Обзор существующих приложений в сфере оказания автомобильной помощи. Рассмотрение алгоритмического конструирования комплекса мобильных приложений по оказанию автомобильной помощи на дорогах. Оценка тестирования авторизации в приложении для водителя.

    дипломная работа [1,9 M], добавлен 12.02.2018

  • Основные вехи на пути развития систем программирования. Microsoft Access - первая СУБД для персональных компьютеров, созданная для работы в среде Windows. Перенос файл-серверных приложений в среду клиент-сервер. Использование ActiveX Data Objects.

    презентация [662,2 K], добавлен 11.04.2013

  • Использование Windows Installer с целью управления установкой и конфигурированием приложений. Работа в среде Microsoft Word: создание текстового документа со встроенным готовым рисунком. Разработка алгоритма и программы расчета ежемесячной квартплаты.

    контрольная работа [1,3 M], добавлен 31.05.2012

  • Подходы и алгоритмы автоматизации тестирования. Анализ специфики работы с локальными и веб-приложениями, внедрение автоматических тестов в процесс контроля качества приложений Global XB, GCube и Thistle. Оптимальный инструмент разработки скриптов.

    дипломная работа [1,5 M], добавлен 15.01.2012

  • Облачные технологии в бизнес-процессах. Модели использования бизнес-приложений в качестве интернет-сервисов. Практика применения облачных технологий. Приложения, созданные на основе Windows Azure. Создание систем и офисных приложений по запросу.

    реферат [25,3 K], добавлен 16.06.2013

  • Проектирование, кодирование и отладка службы Windows: "Контроль приложений", осуществляющей контроль набора приложений и управление ими; разработка приложения, управляющего этой службой. Взаимодействие службы и приложения; тестирование и сопровождение.

    курсовая работа [1,1 M], добавлен 22.05.2013

  • Проектирование системы управления базами данных. Особенности реализации в MS SQL. Разработка пользовательского интерфейса. Тестирование и отладка приложения. Руководство пользователя и системного администратора. Анализ и методы разработки приложений.

    курсовая работа [867,9 K], добавлен 16.07.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.