Эксперименты с оценкой и использованием прикладных серверов. Опыты с Оценкой и Использованием Прикладные Серверы Профессор доктор Александр Шиллинг, СИНХРОНИЗАТОР Дрезден, Германия Ключевые слова: Предпринимательство JavaBeans, EJB, Деятельность Резюме(выписка): Для бесшумности некоторое время теперь, приложения было разработано и разработано в Различные проекты нашей исследовательской группы, используя микропрограммные средства. Кроме того, Различные изделия(программы) микропрограммных средств были оценены. Существующий клиент / сервер Система была преобразована к EJB. Тема этой статьи(бумаги) будет исходы Из этих занятий(изучений), наряду с характеристиками проанализированных серверов другой Понятия и связанная работа. 1. ОБЩИЕ ВИДЫ(ПОЛОЖЕНИЯ) И ДЕЯТЕЛЬНОСТЬ ИСХОДЫ В ходе исследований деятельности, использование одиночных серверов и Кластеризуемые прикладные серверы испытались. Три коммерческих сервера имеют Рассматриваемый: Inprise Прикладной Сервер [4, BEA WebLogic Сервер, и IBM Websphere. Как испытание среды, NT-ЛАБОРАТОРИЯ в Кресле Сетей ЭВМ В Университете Науки и техники, Дрезден, использовался. Это Составы нескольких компьютеров С двойной Pentium 766Mhz, 512МБ, которые Связанный через переключенный 100Mbit ЛОКАЛЬНАЯ СЕТЬ. Операционная система использованный была Windows NT 4.0SP6a. На всех прикладных серверах, Универсальная IBM База данных 7.0, питаемый jdbc.db2.net. Драйвер - XA-способный JDBC2.0 Драйвер - использовался для эффективного доступа к данным. Внимание Экстренного выпуска давалось обеспечению как идентичные условия(состояния) как Возможный для испытания индивидуальных серверов [1, 2, 3]. Поэтому, тот же самый критерий(испытание) Данные и конфигурации использовались. До обсуждения сравнения деятельности, некоторого экстренного выпуска Виды(положения) прикладных серверов будут упоминать. 1.1 Развертывание Все испытываемые серверы снабжали графический инструмент для создания Описатели развертывания и опорный фактическое размещение. В большинстве случаев, Эти инструментальные средства легки в использовании. Однако, они не очень эффективны в Проявление EJBS как бобы, использованные в этом обрабатывает(воспроизводит фотомеханическим способом), должны быть заново Развернутый иногда. В таких случаях(делах) это печатало пробный оттиск быть более полезным представить Управляемое сценарием развертывание, если это поддержано сервером. 1.1.1 BEA Weblogic Сервер Управлять развертыванием, или графический инструмент или командная строка Может использоваться. Графический инструмент должен использоваться для первой конфигурации Потому что это учитывает простое создание описателей развертывания. Однако, случайные столкновения этого инструмента усложнили обычную работу. Однажды Описатели были созданы, исполняя развертывание, используя Командной строки может сохранять(экономить) много времени. Развертывать бобы в следующий раз Сервер начат, они должны быть добавлены к напильнику weblogic.properties. Один Мог фактически использовать приставку для горячего развертывания, или перебазировать уже Развертываемые бобы во время выполнения, но эти изменения были бы только правильны(допустимы) в то время как Сервер функционирует. Так, всегда необходимо записать изменения на напильник Weblogic.properties. 1.1.2 Inprise Прикладной Сервер Развертывание также выполнено со справкой графической приставки. Потребитель может решать, подчиниться ли более или менее строго J2EE Стандарты. После того, как развертывание было выполнено, возможно создать a Клиентская фляга, содержащая стержни нуждалась. Если штуцер развернулся, это существует Даже после того, как сервер был перезапущен; это может только быть удалено, если это Явно удаленный из сервера через приставку. 1.1.3 IBM Websphere Прикладной Сервер Развертывание в Websphere - довольно медленно, оба в отношении стремянки Необходимый до развертывания и фактического размещения обрабатывают(воспроизводят фотомеханическим способом). Сервер Позволяет(выплачивает) развертыванию нескольких бобов в одной ФЛЯГЕ одновременно. На наших критериях(испытаниях), Это упрощение потерпело неудачу каждый раз, так, чтобы каждый штуцер был должен развернуться Индивидуально. После успешного развертывания, бобы закреплены в Сервер даже после рестарта. Websphere использует преобразованный в последовательную форму Описатели развертывания EJB-ПОСТАНОВКИ 1.0. Поскольку описатели должны быть Недавно созданный, это сталкивается с один главный объектив J2EE " старого любимца ": Возможность многократного использования дискретных компонентов. Внутренний инструмент развертывания Использовался верхняя опока с этой проблемой. Этот инструмент, однако, является довольно Неустойчивый и поставит произвольные погрешности. Кроме того, изменяя(заменяя) конфигурацию Требует рестарта конверта, или двигателя сети, который является довольно время - Потребление. 1.2 Кластеризация Вся испытываемая кластеризация предложения серверов, чтобы поддержать " сбой по " и груз - Балансирование. Даже при том, что эти полнометражные фильмы были по-другому поняты(реализованы) на Соответствующие серверы, базисные понятия очень похожи. Кластеризация может быть Исполненный на по крайней мере две нормы. С одной стороны, это может быть понято(реализовано) Дистрибуция запросов servlets, то есть на норме сети, для другого, Прямо на норме EnterpriseBeans. 1.2.1 BEA Weblogic Сервер Используя знающие дубликат стержни, EJB'S автоматически кластеризуется на Weblogic сервер. Это может быть легко конфигурировано. Весь должен делать, должен начаться Несколько серверов так, чтобы они могут кластеризоваться. Эти серверы должны развернуться Те же самые бобы под теми же самыми JNDI-НАЗВАНИЯМИ. Важно помнить что Способность кластеризовать сделана возможной установкой свойством бобов. Для Балансировка нагрузки, различные процедуры типа циклического (" старого любимца "), вес - Основанное коллективное письмо, случайное, и параметр-основанное распределение может использоваться. Параметр-основанная кластеризация требует создания программы маршрутизации запроса это Вперед различные запросы к соответствующим образцам сервера. 1.2.2 Inprise Прикладной Сервер Кластеризация понята(реализована) через JNDI-ОБСЛУЖИВАНИЕ. Только один образец Блок преобразования имен начат в кластере, который должен быть создан. Чтобы достигать a " Сбой по " блоков преобразования имен, они могут также быть начаты в управляющем - управляемом Процедура. Это распределяет клиентские запросы среди образцов сервера согласно К циклическому методу. Это требуется что бобы на индивидуальных серверах Являются адресуемым идентичными JNDI-НАЗВАНИЯМИ и что свойство Vbroker.naming.propBindOn был урегулирован к 1. Inprise поддерживает кластеризацию Не имеющие гражданства Бобы Сеанса и иски, чтобы снабдить кластеризацию Statefull Сеанса Бобы через дополнительное Обслуживание(услугу) Состояния Сеанса. Однако, последний мог не Быть проверите на текущем критерии(испытании), поскольку никакие Stateful Бобы Сеанса не использовались. 1.2.3 IBM Websphere Прикладной Сервер Сервер поддерживает кластеризацию посредством административной базы данных. Все серверы администрации, использованные в кластере должны использовать тот же самый Административная база данных. Аналоги могут быть созданы основанными на пред-конфигурированном Прикладной сервер. Эти аналоги могут тогда быть установлены любой на тот же самый Материальная машина, или на других тренажерах. В дополнение к аналогам сервера, EJBs должен быть WLM-С ПОДДЕРЖКОЙ, то есть так называемые шикарные(сильные) стержни для обращения Различные серверы должны быть установлены на клиенте, чтобы позволить(выплатить) балансировке нагрузки или " Терпите неудачу по ", соответственно. Методы, циклические и случайные могут использоваться Распределите запросы. Эти методы могут быть урегулированы, чтобы дополнительно включить Опция предпочтения локального аналога. В настоящее время, IBM поддерживает кластеризацию Не имеющие гражданства бобы Сеанса и servlets, или JSPS, в то время как Statefull Бобы Сеанса Всегда назначаются на некоторый конверт. 1.3 Сравнение Рисунок 3: Точки измерения Для предоставления лучшей оценки свойства различных компонентов, Различные точки измерения были реализованы (престол фигурирует 3). - Точка измерения определяет время на маршруте выстрела, необходимое после Операция читалась от базы данных, пока сервер не имеет Обработанный(воспроизведенный фотомеханическим способом) запрос - включая время до, чтобы быть отображен данные имеют Полученный. - Точка измерения B была реализована в servlets, чтобы определить Времена обработки в бобах. Это - фактически не измерение сингла части(одиночного) Точка а скорее несколько очков, где бобы названы в servlets. - C Точки измерения определяет время, необходимое для внутренней обработки В базе данных. Рисунок 4: Исходы Точки Меры B. Рисунок 5: Средние величины C Точки Данные BEA и Inprise - относительно той же самой нормы. Inprise дубли Только слегка большее количество времени, и также преднамеренное исключение некоторых важных фактов выходов. Websphere потребляет Значительно большее количество времени. Более точно, полет по замкнутому маршруту IBM дольше Особенно для обработки логики в бобах. Диаграмма, показанная в Рис. 5 подводит итог среднего числа измеренные исходы Критерий(испытание) в точке измерения A. В то время как Websphere нуждается приблизительно в четырех разах Дольше чем BEA, исходы Инприс очень похожи к таковым BEA. Даже если Свойство преднамеренного исключения некоторых важных фактов Inprise принято во внимание, это выходы слегка Худшая деятельность, сравненная с BEA. В этом примере, измерения имеют Выполненный для 100 потребителей. К сожалению, даже с таким малым номером Перегонный куб погрешностей сервера произошел. Inprise регулярно остановленный с OutOfMemoryException, который не мог быть исправлен, увеличивая Память, назначенная на JVM, так предлагая сервер - внутренняя память Проблема. IBM не могла завершать некоторые известия(бюллетень) из-за внутреннего, Непостижимые проблемы МОНОСАХАРИДА. Оба на серверах IBM И BEA, критерии(испытания) имеют Выполненный с 1,000 потребителями. Однако, сбор к исходам погрешностей - нет Сопоставимый. 2. СВЯЗАННАЯ РАБОТА Эта статья(бумага) описывает различные виды(положения) на конструкции, обрабатывают(воспроизводят фотомеханическим способом) Приложения с EJB. Кроме того, это сообщает подробности относительно деятельности Комплексная заявка(применение). Сравнение [11] и [12] также как другой Эталонные тесты типа [10] усадки главным образом общий обзор реквизита сервера. Точный Исходы деятельности могут быть, основывают в [10]. Однако, имеются немногие Публично располагаемые факты относительно комплексных систем. Ля-мажорная проблема относительно Оценка комплексной системы - взаимная зависимость исходов, то есть. Ресурсы и компоненты зависят не только от равных составляющих типов. Для Эта причина мы выбрала реальную мировую заявку на страхование для наших критериев(испытаний). Кроме того, конструкция комплексных приложений подобно teleteaching / Системы телеобработки подаются, общий обзор чего возможен с EJB. Хотя имеются некоторые источники относительно моделей подобно [9], это - часто нет Очевидный, как применять эти понятия к реальным мировым приложениям, основанным на EJB. Цель этой статьи(бумаги) состояла в том, чтобы снабдить некоторые содействия к ним Виды(положения). 3. ССЫЛКИ(СПРАВОЧНИКИ) [1] Auswahl eines EJB-Applikations-Servers - 2/2000 Java - Spektrum С 12 [2] Группа пользователей с особой целью - Предпринимательство JavaBeans - http://www.mgm-edv.de/ejbsig/ [3] Прикладных Матрица Сравнения Сервера - http://www.flashline.com/components/appservermatrix.jsp [4] Inprise Applikation Сервер - Яванский Magazin 2/1999 С 71 [5] Рида все относительно EJB 2.0 http://www.javaworld.com/javaworld/jw-06-2000/jw- 0609-ejb.html [6] Предпринимательства JavaBean Стойкость 101 - http://www.sdmagazine.com/articles/2000/0004/0004b/0004b.htm [7] Предпринимательства JavaBean Стойкость 201 - http://www.sdmagazine.com/articles/2000/0004/0004c/0004c.htm [8] Eberhard Wolff: EJB некатехин das Java - Typsystem - Яванский Spektrum 6/2000 С. 62 [9] EJB DesignPatterns http://www.c2.com/cgi/wiki?EjbDesignPatterns [10] http://nenya.ms.mff.cuni.cz/thegroup/EJBCOMP/ejb-public.pdf [11] http://www.networkcomputing.com/1022/1022f2.html [11] http://www.informationweek.com/759/java.htm 2 3 1