Послесловие к интервью
Технические требования и установка продукта
Создание JSP-приложений и применение сервлетов
Применение Enterprise JavaBeans
Использование библиотек тэгов (Taglibs)
Создание масштабируемых приложений с применением баланса нагрузки
Применение средств обеспечения защиты данных
Что нужно в дополнение к Total-e-Server
Интервью с Михаилом Потоцким побудило нас более внимательно изучить Bluestone Total-e-Server. Сразу же заметим, что и у вас, уважаемые читатели, есть такая возможность — ознакомительная версия этого продукта находится на нашем компакт-диске.
Приведем краткий обзор технических возможностей Total-e-Server.
Технические требования и установка продукта
Первое, что бросается в глаза еще до установки продукта, — это великолепно продуманный интерфейс самого компакт-диска, позволяющий практически не задумываться о технических деталях. Имея немалый опыт работы с разнообразными серверными продуктами и средствами разработки, а также участия в их бета-тестировании, могу честно сказать, что настолько удобную оболочку, совмещающую в себе и дистрибутив, и обучающий курс, и документацию, я вижу впервые. И это заставляет предположить, что и качество продукта должно быть соответствующим — ведь, как известно, «театр начинается с вешалки». Дальнейшие действия по установке продукта и изучению примеров лишь подтвердили это предположение и вдобавок заставили задуматься о том, что серверы приложений уже, по-видимому, больше не относятся к категории продуктов, сложных в освоении и предназначенных для ограниченного количества компаний и узкого элитарного круга разработчиков.
Для установки ознакомительной версии Bluestone Total-e-Server требуется операционная система Windows 98/NT 4.0/2000, Pentium II / 233 MГц, 128 Mбайт оперативной памяти, 55 Mбайт свободного места на жестком диске, Web-сервер, поддерживающий CGI-приложения, например Netscape 3.x/4.x, Internet Information Server 2.0-5.0, Apache 1.3.6, а также Java Development Kit 1.2.2 (он есть в составе дистрибутива ознакомительной версии Total-e-Server). Для продукта такого класса эти требования явно невысоки.
После установки и регистрации продукта (для этой цели требуется подключение к Internet) можно, руководствуясь обучающим курсом («Trial Map»), последовательно изучать возможности Total-e-Server на примерах, приведенных в комплекте поставки продукта, и пытаться создавать свои собственные приложения. Ниже мы кратко рассмотрим, что представляют собой эти возможности, а сами примеры вы сможете посмотреть, установив ознакомительную версию Total-e-Server.
![]() |
![]() |
Создание JSP-приложений и применение сервлетов
JSP (Java Server Pages) представляет собой технологию создания динамических Web-сайтов, страницы которых содержат как статические HTML-элементы, так и динамическое содержимое (response), где находятся любые данные (например, HTML- или XML-данные), генерируемые специальным приложением — JSP engine, которое управляется либо Web-сервером, либо сервером приложений.
В случае Total-e-Server для генерации динамической части HTML-страниц используется JSP Engine, входящий в состав сервера приложений — UBS (Universal Business Server). Он, в свою очередь, использует написанный для этой цели сервлет — Java-класс, выполняющийся внутри специального контейнера (Servlet container) в адресном пространстве UBS (рис. 1). Обычно сервлеты выполняются в адресном пространстве виртуальной Java-машины, запуск которой инициирован Web-сервером, но в случае Bluestone Total-e-Server сервлеты выполняются в адресном пространстве виртуальной Java-машины, запуск которой инициирован сервером приложений. Это позволяет защищать данную часть распределенного приложения брандмауэрами (что более предпочтительно с точки зрения безопасности) и иметь несколько экземпляров серверов приложений (что привлекательнее с точки зрения масштабируемости). На Web-сервере в этом случае размещается Load Balance Broker — сервис, перераспределяющий клиентские запросы между экземплярами серверов приложений.
Обычно один сервлет может генерировать содержимое для нескольких страниц — это зависит от потребностей приложения, для которого он создан. Естественно, в процессе разработки собственных решений потребуется создание собственных сервлетов.
Читатели, знакомые с технологией ASP (Active Server Pages), могут найти много общего между нею и JSP. В данном случае сервлеты по функциональности сходны с ASP-объектами, создаваемыми для генерации динамической части Web-страниц. Отличие здесь в том, что в данном случае используется не COM, а Java — язык, реализованный для всех популярных платформ, что позволяет при необходимости сменить серверную платформу без ущерба для уже готового приложения.
![]() |
![]() |
Применение Enterprise JavaBeans
EJB (Enterprise JavaBeans) — стандартный механизм, рекомендованный спецификацией J2EE (Java 2 Enterprise Edition) для реализации бизнес-логики. Компоненты EJB создаются с помощью Java и содержат исключительно бизнес-логику, что делает их независимыми от платформы. Сервисы же, связанные с особенностями операционной системы, такие как осуществление транзакций, использование потоков, обеспечение безопасности, поддержка времени существования объекта, реализуются не в самих компонентах EJB, а в обслуживающем их сервере приложений.
Total-e-Server полностью поддерживает технологию EJB и имеет в своем составе средства для развертывания EJB-приложений и обеспечения их безопасности. Как и сервлеты, EJB выполняются в специальном контейнере внутри адресного пространства виртуальной Java-машины, запуск которой инициирован сервером приложений, что положительно сказывается на безопасности, масштабируемости и производительности приложений (рис. 2).
![]() |
![]() |
Применение XML-документов
В состав Total-e-Server входит Bluestone XML-Server, позволяющий обрабатывать и генерировать XML-документы, предназначенные для обмена данными как с другими приложениями, так и внутри самого сервера приложений, например для обмена данными между JSP и JavaBeans. Отметим, что обмен XML-данными в последнее время стал практически стандартным средством обмена между Web-контентом и базами данных. Кроме того, он позволяет использовать механизм Dynamic Style Sheet Engine (рис. 3).
Dynamic Style Sheet Engine позволяет создавать таблицы стилей XSL, соответствующие типу клиентского устройства, пославшего запрос. Это позволяет одним и тем же JSP-страницам и EJB-компонентам поддерживать разные типы клиентских приложений, например браузеры разных производителей, мобильные телефоны с поддержкой WAP, карманные компьютеры, — просто для каждого устройства нужно создать свою таблицу стилей (рис. 4).
![]() |
![]() |
Использование библиотек тэгов (Taglibs)
Библиотеки тэгов (расширение, добавленное в спецификацию JSP 1.1) состоят из XML-тэгов, используемых в самой JSP-странице, XML-документа, содержащего определения этих тэгов (Tag Library Definition, *.tld), и набора обработчиков тэгов, представляющих собой Java-классы. Библиотеки тэгов позволяют разработчикам создавать собственные тэги для использования их в JSP-страницах. В состав Bluestone Total-e-Server входят библиотеки тэгов для применения EJB (Enterprise JavaBeans), SQL, форматирования, применения e-mail-сообщений, обеспечения безопасности. В настоящее время доступны библиотеки тэгов ряда независимых производителей. Естественно, такие библиотеки являются многоплатформенными, поскольку основаны исключительно на XML и Java.
Отметим, что библиотеки тэгов позволяют осуществить разделение труда между разработчиками: часть из них могут создавать библиотеки тэгов, другие — использовать их, реализуя бизнес-логику приложения. Многие типовые решения можно создать с использованием готовых библиотек тэгов, что позволяет сократить время разработки.
![]() |
![]() |
Создание масштабируемых приложений с применением баланса нагрузки
Load Balance Broker (LBB) представляет собой сервис, осуществляющий баланс нагрузки серверов, если их используется несколько. Он может выполняться на Web-сервере, на нескольких Web-серверах либо на отдельном компьютере (в этом случае он действует примерно так же, как proxy-сервер), позволяя Web-серверам взаимодействовать с серверами приложений. Соответственно он существует в виде библиотек NSAPI и ISAPI, в виде сервлета, в виде CGI-расширения Web-сервера Apache, в виде proxy-сервера (в последнем случае Web-сервер не требуется).
Load Balance Broker динамически обрабатывает клиентские запросы и при необходимости может подключать дополнительные экземпляры сервера приложений, если уже имеющиеся экземпляры перестали справляться с нагрузкой.
![]() |
![]() |
Применение средств обеспечения защиты данных
Средства обеспечения безопасности Total-e-Server позволяют осуществить защиту данных, основанную на применении механизма ролей (Role-based Access Control), на всех уровнях приложения. Уровень доступа может быть установлен для каждой части приложения (например, JSP-страницы или компонента EJB) и каждого ресурса, к которому приложение имеет доступ. Total-e-Server поддерживает шифрование, авторизацию и аутентификацию с использованием как паролей, так и сертификатов. Для обмена данными поддерживаются протоколы SSL (Socket Security Layer) и HTTPS.
Управление аутентификацией и авторизацией доступа к приложениям осуществляется при помощи утилиты Security Console (рис. 5).
Информация о пользователях может храниться в базе данных, в структуре LDAP либо в специально созданном репозитарии.
![]() |
![]() |
Применение Web-архивов
Любое Web-приложение представляет собой коллекцию ресурсов (сервлетов, Java-классов, HTML- и JSP-страниц и др.). Эти ресурсы могут быть объединены в Web-архив (WAR, Web Archive). В файле Web-архива имеется иерархия каталогов, содержащих ресурсы, необходимые для выполнения приложения. Web-архивы, как правило, содержат презентационную часть распределенного приложения. Total-e-Server поддерживает применение Web-архивов — они используются при поставке и развертывании приложений.
В качестве примера такого распределенного приложения в комплекте поставки Total-e-Server имеется приложение класса B2C — небольшой электронный магазин. Его презентационная часть содержится в Web-архиве, а часть, содержащая бизнес-логику и состоящая из компонентов EJB, — в jar-архиве, предназначенном для развертывания серверной части приложения.
Такое приложение просто нельзя было не протестировать — пришлось заказать игуану и парочку змей (рис. 6). Что удивительно — скорость обработки запросов этим приложением под управлением операционной системы Windows 2000 Server, установленной на компьютере с оперативной памятью 384 Mбайт, оказалась вполне приемлемой.
![]() |
![]() |
Что нужно в дополнение к Total-e-Server
В заключение — несколько слов о том, какие продукты требуются для создания решений на базе Total-e-Server.
Для создания сервлетов может понадобиться JSDK (Java Servlet Development Kit), который можно найти на сайте компании Sun Microsystems — http://www.java.sun.com/.
Серверный Java-код можно при желании создавать и в текстовом редакторе, однако рекомендуется приобрести какое-нибудь средство разработки Java-приложений, поддерживающее создание компонентов EJB, например Borland JBuilder Enterprise Edition либо WebGain VisualCafe Enterprise Edition.
![]() |
![]() |
Заключение
В настоящей статье мы кратко рассмотрели технические особенности Bluestone Total-e-Server. Мы узнали, что этот сервер приложений позволяет:
- создавать JSP-приложения и применять в них сервлеты, выполняющиеся в адресном пространстве сервера приложений;
- использовать в приложениях Enterprise JavaBeans;
- применять XML-документы для обмена данными как с другими приложениями, так и внутри самого сервера приложений;
- использовать библиотеки тэгов;
- создавать масштабируемые приложения с применением баланса нагрузки;
- обеспечивать защиту данных и компонентов на всех уровнях приложения.
Как уже было сказано выше, поставщики решений на рынке электронных услуг должны уметь оперативно и гибко адаптироваться к новым техническим и экономическим условиям, непрерывно совершенствовать созданное решение, тем самым обеспечивая себе репутацию передовой компании. И Bluestone Total-e-Server может стать одним из средств достижения данной цели.
КомпьютерПресс 6'2001