Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

JAVA. Серверные приложения

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
2 Мб
Скачать
Часть 1. Электронная коммерция 61
ans. VisualAge for Java может экспортировать Java-код и class­файлы в WebSphere Application Server и WebSphere Studio.
VisualAge for Java — позиционируется как продукт для команды разработчиков приложений и имеет все возможности для организации труда полной команды разработчиков.
Web-приложения могут иметь доступ к различным источникам, та­ким, как DB2, CICS, MQSeries, IMS и другим, большая часть которых поставляется или разрабатывается не без помощи IBM.
Net.Data и Net.Commerce — готовые модули создания Web-приложе­ний, используемых в e-commerсe.
4.1. HTTP-server
IBM HTTP Server является усовершенствованной версией широко распространенного Web-сервера Apache. IBM HTTP Server версии 1.
3.12 почти тот же самый и не отличается от Apache версии 1. 3.6, за исключением того, что это включает некоторые дополнительные изме­нения для Apache версии 1.3.6.
IBM HTTP Server включает некоторые функции, не доступные в
Apache. Поддержка SSL.
Встроенный кэш, использующий потоки операционной системы (в
версии только для NT и AIX). Кэш реализован как мини-движок, управляющий системными потоками.
Утилита WebDAV для редактирования и управления файлами на удаленном Web-сервере.
Добавлена возможность работы с FastCGI.
Дополнение этих особенностей требовало незначительных изменений и доработок основного Web-сервера.
4.2. WEBSphere Application Server
Версия Application Server фирмы IBM носит название WEBSphere Application Server. Имеет следующие встроенные возможности обработ­ки Web-приложений.
Основное звено, реализованное на Java по обработке клиентских за­просов, располагается на WebSphere Apllicattion Server (WAS).
Программные модули, используемые на сервере, реализованы на Ja­va, что позволяет работать с динамическими страницами, создавать и обрабатывать процессы бизнес-логики, организовывать доступ к другим источникам информации, использовать новые Java-компоненты, JSP, servlet, bean.
Для осуществления контроля над http-сессией в WEBSphere Appli­cation Server реализован исполнительный механизм контроля.
Управление пользовательской информацией осуществляется через встроенный набор API, облегчающий обслуживание информации о по­сетителе Web-страницы. В этом наборе также имеются необходимые
62 Часть 1. Электронная коммерция
функции хранения пользовательских переменных в базе данных, без использования SQL.
Модуль, обеспечивающий секретность приложения, использует практически все возможные способы обеспечения безопасной работы клиента. Службы безопасности включают установление подлинности, разрешение, целостности (честности) данных, шифрование и услуги не­отказа WebSphere.
Application Server поддерживает широко распространенные протоко­лы SSL, LDAP и т. д.
Управление системой достаточно гибко осуществляется при помощи встроенных сервисов.
WEBSphere Application Server имеет встроенный EJB-контейнер, обеспечивает полную поддержку и EJB-версии 1.0.
Работает с самыми распространенными версии JSP 0.91 и 1.0. Имеет собственные теги, предназначенные для работы с базами данных, и под­держивает теги, созданные пользователем.
Использует servlet API 2.1, включая автоматическое управление по­льзовательской сессией и клиентским соединением.
Имеет встроенный высокоскоростной пул доступа к базам данных, таким, как DB2, Oracle и Microsoft SQLServer, используя JDBC.
Инструменты, предназначенные для работы с XML, трансформатор и синтаксический анализатор.
Инструменты для анализа трафика на Web-странице.
Динамические обработчики для динамических языков, используемых в Web-странице. Добавочные модули, обеспечивающие тесную интегра­цию со средствами разработки VisualAge.
WebSphere Application Server V3 имеет встроенную способность ав­томатической перезагрузки, применяемой при изменении классов serv­let, используемых Application Server. При внесении изменений в код приложения не обязательно перезагружать всю систему, Application Server сам произведет необходимые действия.
4.3. WEBSphere Studio
WebSphere Studio используется для разработки, управления и тес­тирования ресурсов Web-сайта HTML, JSP, CSS и т. д. Содержит не­сколько очень полезных «помощников» сильно помогающих разработчи­ку в часто встречающихся задачах, таких, как создание EJB, организа­ция работы с базами данных, генерация servlets. WEBSphere Studio имеет ряд встроенных компонентов, облегчающих создание Web-прило­жений без использования внешних инструментов.
Workbench environment — позволяет создавать и организовывать Web-проекты.
Для создания Java-приложений имеется встроенный Java-компи­лятор фирмы IBM.
Созданный и проверенный проект можно размещать на Application Server, для чего служит File Publishing.
Часть 1. Электронная коммерция 63
Page Designer — удобный графический редактор — предназначен
для генерации JSP- и HTML-страниц, используя технологию drag­and-drop. SQL wizard, Database wizard, JavaBean wizard — для работы с ба-
зами и создания bean на основе выполненных операций с базой данных используются соответствующие «помощники». JAR wizard — конвертер созданных классов в стандартный jar-ар-
õèâ. Animated GIF Designer, WebArt Designer для работы с изобра-
жениями и создания анимированных gif-файлов предусмотрены две программы. Version controller — при командной работе над проектом необхо-
дим инструмент по контролю за совместно используемыми фай­лами.
4.4. Семейство продуктов VisualAge
Существуют различные версии IBM VisualAge for Java, предназна­ченные для работы в различных операционных системах. Начиная от младших серий для Windows 9x и заканчивая версиям для OS/390, Vi­sualAge создает абсолютно переносимый 100%-ный чистый Java-код, выполняемый на всех платформах, имеющих поддержку Java VM 1.1 и выше.
VisualAge for Java (VAJ) — прекрасный инструмент для создания, отладки, тестирования и создания Java-приложений, имеет много инте­ресных возможностей, главная из которых Web Sphere Test Environ­ment, представляющий собой необходимый набор для разработки и тес­тирования Java Web-приложений JSP и servlets.
VisualAge for Java — интегрированная среда разработки (IDE), име­ет все необходимые инструменты полного цикла Java-приложений, и не только Web.
VisualAge for Java основан на репозиторном хранении рабочих про­ектов, имеет встроенный Java-компилятор и собственную версию управления проектами.
VisualAge for Java использует парадигму визуального программиро­вания компонентов, предназначенную для быстрого создания приложе­ния с минимальным использованием рукописного кода. VisualAge в пол­ной мере можно назвать CASE средством, но в отличие от обычных CASE, например Rational Rose, IBM-продукт больше предназначен для создания добротного кода. Проектирование осуществляется в одной плоскости, а именно в точки зрения модульности программы, в то время как за логикой программы следит сам VisualAge.
IBM VisualAge for Java позволяет программисту непосредственно за­ниматься сборкой и анализом прикладной программы, исключая стадию «ручного кодирования». Системному программисту предлагаются все современные средства создания компонентов Java Beans, включая от­ладчик и профилятор кода.
64 Часть 1. Электронная коммерция
Уникальной возможностью IBM VisualAge for Java Enterprise Edition является ведение корпоративного проекта группой программистов по сети Интернет.
Visual Composition Editor — визуальный редактор используется для:
конструирования пользовательского интерфейса (GUI);
описания поведения элементов GUI;
определения отношений между элементами GUI и остальной ча-
стью программы.
VAJ генерирует Java-код, смоделированный при помощи Visual Composition Editor. В большинстве случаев генерированной программой можно пользоваться сразу.
Также имеет ряд помощников, с помощью которых можно:
создавать новые applets;
создавать новые программные элементы;
определять свойства JavaBeans;
импортировать и экспортировать созданный код из (в) другие ис-
точники обработки, такие, как WEBSphere Studio или файловые системы.
4.5. Семейство продуктов DB2, база данных
Чтобы удовлетворить потребности самых сложных систем поддерж­ки принятия решений и хранилищ данных, фирма IBM уже в течение ряда лет выпускает и совершенствует свою базу данных DB2. DB2 по­ставляется для различных операционных систем. При этом производи­тельность СУБД DB2 не зависит от операционной системы, она всегда на достаточно высоком уровне.
DB2 — первая СУБД, поддерживающая мультимедийные данные, достаточно мощная для работы в крупных корпорациях и достаточно гибкая для применения в среднем и мелком бизнесе. DB2 поставляется как готовое решение для создания e-commerсe приложений, основан­ных на Web-технологиях. DB2 может с успехом использоваться в самых сложных программах электронной коммерции, планировании ресурсов в масштабах предприятия, управления работой с заказчиками, управ­лении цепочкой поставщиков, системах самообслуживания через Web и системах принятия деловых решений. DB2 — масштабируемая и мощ­ная система — может служить основой при переходе к электронной коммерции.
Самым большим преимуществом DB2 является способ управления данными; без участия администратора системы DB2 самостоятельно определяет, где хранить данные, как быстро получать их, как защитить их от утраты и как управлять базами данных для достижения оптима­льной производительности.
Множество версий DB2 под практически все используемые операци­онные системы обеспечивает прекрасную интеграцию с платформонеза­висимым приложениями на Java.
По своей природе DB2 обеспечивает работу в современных неодно­родных вычислительных средах. DB2 дает открытые решения для до-
Часть 1. Электронная коммерция 65
ступа к данным на разных платформах в географически разных местах и их интеграции.
Новый центр управления DB2 Control Center на основе JAVA суще­ственно упрощает управление системой, обеспечивая единое представ­ление всей среды. Способный работать на любом браузере Web, центр управления Control Center включает в себя интерфейс для доступа, ма­нипулирования объектами данных, планировщик заданий, контрольный журнал заданий, монитор производительности.
С помощью браузеров Web можно получить доступ к хранилищам данных DB2. DB2 имеет встроенную поддержку языка программирова­ния Java. А существующий набор API JDBC позволяет организовать доступ к любой базе данных. Другая новая технология, предназначен­ная для совместного использования Java- и SQL-операторов, называет­ся SQLJ. Также предназначена для работы с различными СУБД. Для совместной работы статистических операторов SQL в Java-приложении используется специальная программа SQLJ-транслятор.
Средства взаимодействия с базами данных через Web и средства ин­теграции с Java, реализованные с помощью программных продуктов фирмы IBM, таких, как Net.Data и WEBSphere Application Server.
В DB2 имеется поддержка разработки приложений баз данных с ис­пользованием продуктов VisualAge è набором инструментальных средств разработчика (SDK), поставляемых вместе с DB2.
Повысить производительность прикладных программ позволяет но­вый механизм генерирования хранимых процедур. Вложенные храни­мые процедуры позволяют разработчикам программ настраивать про­граммы других поставщиков и создавать очень эффективные работы с DB2 хранимые процедуры. Поддержка Java отражает возможность вы­зывать из клиентских программ, написанных на Java, хранимые проце­дуры для DB2. При помощи загрузчика классов виртуальной машины JVM, DB2 позволяет улучшить производительность хранимых проце­дур, написанных на языке Java и расширить их доступность для серве­ров. Загрузчик классов позволяет выполнить динамическую замену классов в созданных хранимых процедурах. При выполнении оператора CALL SQLJ.REFRESH_CLASSES() DB2 продолжает работу, и JVM остается в памяти, готовая к работе с обновленными классами процедур. Хранимые процедуры могут использовать новые классы без необходи­мости перезагрузки базы данных.
При использовании DB2 как основного источника информации e­commerсe приложения у разработчика появляется возможность строить распределенные запросы к любым базам данных семейства DB2 или ис­точникам OLE DB. Это значит, что для доступа к данным из разнород­ных источников программы могут использовать синтаксис SQL и API DB2. Для работы с разнородными источниками данных компания IBM поставляет отдельный продукт, интегрирующийся в DB2 — DataJoiner. В DB2 включена поддержка временных таблиц, создающихся только в момент клиентской сессии, что значительно повышает производитель­ность.
DB2 содержит очень полезные реляционные расширения для работы с большими текстами, видео- и аудиообъектами и изображениями. Если
66 Часть 1. Электронная коммерция
этих расширений не хватает, в DB2 имеется набор API по созданию собственных реляционных расширений.
Кроме стандартных версий DB2 IBM поставляет также версии для мобильных клиентов и встроенных систем, при этом ни теряется не од­ного плюса использования DB2.
4.6. Net.Data
Доступ к различным корпоративным данным — основная задача лю­бого Web-приложения. А разнообразие типов данных и их характери­стик значительно усложняет эту задачу. Одним из таких решений мож­но считать разработки IBM Net.Data.
Net.Data создан для превращения деловых приложений в настоящие Web-станицы. Встроенный кэш обеспечивает максимальную производи­тельность Web-приложений. Поддержка Java позволяет использовать любые Java-компоненты. Net.Data работает с большинством популяр­ных API, что обеспечивает значительный выигрыш производительности по сравнению со стандартным CGI, потому что Net.Data выполняется в отдельном адресном пространстве. Построение Net.Data-приложений не требует специальных навыков. Версия 2.0 работает на всех популярных платформах UNIX,OS/2 Windows.
Наконец, Net.Data предназначен для генерации динамических стра­ниц, что позволяет разработчику создавать динамические Web-прило­жения с минимальными затратами.
Глава 5. Создание e-commerсe приложения
Как указывалось выше, Web-приложение состоит из несколько их основных элементов, без которых Web-приложение либо не существо­вало вовсе, либо не было бы Web-приложением. Основным является все-таки Web-клиент — браузер. E-commerce подразумевает само от­ношение с клиентом. Каждое приложение должно отвечать минималь­ному времени ожидания при формировании ответа, уровень секретно­сти должен быть максимально возможным при минимальном участии клиента в формировании доступа к данным, достаточно быстро загру­жаться по сети независимо от удаленности клиента, иметь удобный по­льзовательский интерфейс, не обязательно отвечающий условиям креа­тивности. Создание e-commerce приложения не отличается от создания простого приложения, с небольшим добавлением элементов программи­рования сетевых возможностей, web-элементов и описание деловых ме­тодов.
Существуют три основных подхода для создания многозвенных рас­пределенных систем:
с сервером без состояния;
с сервером, ориентированным на сеансы связи с клиентом;
с сервером постоянных данных.
Часть 1. Электронная коммерция 67
В данном контексте сервером именуется приложение, выполняющее какие-либо действия, а не сервер, описывающий физическую единицу Web-архитектуры.
Сервером без состояния называется приложение, которое обеспечи­вает нужную функциональность путем предоставления набора опера­ций, но не сохраняющие состояния между вызовами этих операций. При обращении к такому серверу клиент не может полагаться на испо­льзование результата предыдущего вызова того же объекта. Подход, ориентированный на использование сеансов, предполагает создание в некотором промежуточном звене системы специального объекта — «се­анса» (или «сессии»), который является представителем клиента. Обыч­но время существования такого объекта явно определяется клиентом или серверным процессом, в котором существует данный объект. Кли­ент уничтожает объект, если он ему больше не нужен; сервер может уничтожить его, например, по тайм-ауту. Если серверный процесс за­вершен, имеющаяся у клиента ссылка на объект может потерять свой смысл. Модель системы с сохраняемыми объектами предполагает созда­ние некой программной оболочки вокруг данных, хранящихся в некото­рой БД, и создание набора операций для работы с этими данными. Со­зданный таким образом объект доступен одновременно для нескольких клиентов. Его время существования определяется временем существо­вания в хранилище данных, объектным представлением которых он яв­ляется.
Львиную долю e-commerсe приложения составляют описания взаи­модействий между тремя основными участниками бизнес-процесса. Бо­льшая часть описания будет посвящена созданию приложений, осно­ванных на языке Java, с использованием программных средств, постав­ляемых фирмой IBM. Использование различных технологий и систем предопределяют способность e-commerсe приложения к дальнейшему развитию. Обычное Web-приложение можно рассматривать как набор различных отношений между Web-клиентом и Web-сервером. Взаимо­действия начинаются с момента установки соединения между участни­ками процесса. Для Web-участников началом отношений можно считать формирование и отправку запроса Web-клиента Web-серверу. Прини­маемый запрос инициализирует внутренние процессы Web-сервера. Web-сервер, получив данные, рассматривает возможные варианты от­ветов и, согласно логике приложения, отправляет ответ обратно клиен­ту или еще дальше, в системы, способные обработать Web-запрос. Web­взаимодействия легче описать с помощью уже ставшей классической схемы Модель — Образ — Исполнитель (Model — View — Controller). MVC предназначена для проектирования приложений. С помощью MVC приложение делится на несколько логических уровней. Каждый уро­вень описывает только одну часть приложения. Описывается отдельно логика приложения, данные и механизмы, описывающие, как логика ис­пользует данные. В объектно-ориентированном программировании та­кая ситуация описывает отношение классов.
Модель — Model.
68 Часть 1. Электронная коммерция
Описывает приложение со всеми его свойствами. Модель описывает логику взаимодействия различных компонентов. Для каждого приложе­ния создается своя модель
Образ — View.
Данные модели отображаются с помощью образов, представляют по­льзовательский интерфейс. С помощью отображений строится образ данных и пользовательский интерфейс.
Исполнитель — Controller.
Выполняет действия над данными моделями, управляет созданным приложением.
Разработка сетевого e-commerce приложения включает несколько этапов:
выбор бизнес-сценария;
проектирование топологии приложений;
установка архитектуры выполнения;
организация использования продуктов;
обучение использованию приложений;
бизнес-логика;
проектирование графического интерфейса.
5.1. Выбор бизнес-сценария
Определяющее большинство коммерческого взаимодействия в сети можно свести к нескольким общим бизнес-сценариям:
User-to-Business. Более известный как B2C, сценарий, предназна­ченный для создания e-commerсe приложений, в которых клиент обращается к большому бизнесу.
User-to-Online Buying. Также, как и вышеуказанный сценарий, описывает взаимоотношения между продавцом и покупателем. Клиентом-покупателем является одиночный пользователь, а не компания. Данный сценарий частный случай отношений конечного пользователя с большим бизнесом.
Business-to-Business. Партнерские отношения между различными компаниями.
e-MarketPlace. Как одну из разновидностей бизнес-сценария Busi­ness-to-Business можно указать e-MarketPlace-сценарий, описыва­ющий отношения нескольких участников электронных торгов, еди­новременно в одном виртуальном месте.
User-to-Data. Сценарий описывает получение пользователем дан­ных из удаленного источника. Основной упор в данном сценарии концентрируется на удаленном источнике данных и способе ото­бражения информации для клиента. Как и всякий другой сцена­рий, может использоваться совместно с другими бизнес-сценария­ми. Главное при этом единоличная структура взаимодействия дан­ных, обязательна тождественность хотя бы протоколов передачи данных.
User-to-User. Самый простой бизнес-сценарий описывает отноше­ния пользователя к пользователю, User-to-User. В отличие от дру-
Часть 1. Электронная коммерция 69
гих сценариев, два пользователя описанного в данном сценарии ис­пользуют совместные ресурсы посредством стандартных протоко­лов передачи. Чаще всего данный сценарий является частью более обширного бизнес-сценария и используется, например, для уве­домления клиента о каких либо действиях. Не стоит проектировать приложение, использующее данный сценарий с особыми протоко­лами передачи данных и источниками данных, если предполагает­ся впоследствии расширить спектр использования данного сцена­рия в других бизнес-сценариях. Application Integration. Сценарий взаимодействия приложений,
возможно даже из различных сред, для осуществления совместной деятельности. Если опустить некоторые тонкости, то практически все бизнес-сценарии основываются на взаимодействии приложе­ний. Результатом этого взаимодействия и будут данные, передава­емые от клиента к серверу и обратно. Еще одной особенностью данного сценария можно считать участие во взаимодействии раз­нородных приложений, находящихся на различных уровнях сете­вого интерфейса.
Тесная интеграция нескольких сценариев позволяет добиться больше гибкости и мощности. Бизнес-сценарии описывают отправные точки проектирования e-commerсe приложения. Несмотря на слово «бизнес», в сценариях описывается взаимодействие источника и потребителя ре­сурсов. Бизнес- логика или бизнес-правила приложений описываются значительно позже, поэтому не стоит путать бизнес-сценарий и бизнес­логику приложений.
Практически для каждого сценария определены следующие роли:
Клиент — чаще всего Web-браузер или приложение, поддержива­ющее протоколы передачи данных, — работает как с распростра­ненными HTTP, WAP, IIOP, так и другими протоколами передачи. Клиент посылает на сервер запросы (request) и получает (response) сформированные ответы â âèäå различных данных HTML-, DHTML-, XML-страниц и applets или приложений.
Внешние данные — хранилище данных. Может быть как базой данных, файловой системой, транзакционной системой и т. д. Внешние данные могут быть любого типа, статические изображе­ния, динамические изображения, звук, текст, исполняемые модули и прочее, все то, в чем может нуждаться клиент или необходимое для удовлетворения потребности клиента. Согласно империалисти­ческой идеологи, есть три вещи, за которые люди всегда готовы платить: здоровье и красота и информация. Вот именно информа­ция находится в хранилищах данных.
Сетевая инфраструктура — определяет протоколы передачи дан­ных использования сетевых сервисов, уровня секретности, работа­ет с сетевыми ресурсами. Чаще всего работает на TCP/IP, CDSA, SSL, IPsec, x.509v3 сертификаты, LDAP, AFS/DFS, IPP.
Инструменты разработки — являются неотъемлемой частью Web­приложения, хотя и не используются непосредственно в транзак­циях клиента. Благодаря инструментарию клиент получает доступ к ресурсам предприятия, работая для создания компонентов и ис-
70 Часть 1. Электронная коммерция
полняемого окружения. В основном такими инструментами явля­ются генераторы HTML-страниц, компиляторы кодов, отладчики, графические пакеты. Исполняемое окружение — создается при помощи инструментов
разработки, содержит необходимые компоненты e-commerce при­ложения. Используя логические узлы, иллюстрирует различные взаимодействия между клиентом, данными и приложением. При реализации приложений с использованием технологии Java соот­ветствующие компоненты, такие, как servlet, EJB, JSP, JavaBean, будут описаны на языке Java и созданы с помощью Java-инстру­ментов. Наконец, основное ядро e-commerсe приложения — это бизнес-ло-
гика и бизнес-правила. Описание правил взаимодействия компо­нентов на уровне бизнес-проектирования, взаимодействие всех вы­шеперечисленных ролей на уровне бизнес-правил. Хотя на первый взгляд не видно явной связи между бизнес-правилами и сетевой инфраструктурой или инструментами разработки. Никакими пра­вилами не запрещено уведомлять покупателя по электронной поч­те, или использовать совершено другой способ. С помощью инстру­ментов разработки бизнес-правилам придается физическая сущ­ность, кроме того, в бизнес-логике может существовать правило о создании временного приложения с помощью какого либо инстру­мента. Ярким примером может служить обработка ошибочной си­туации трассировщиком, или проверка самой базой данных необ­ходимых бизнес правил. Кроме самих взаимодействий бизнес логи­ка приложения выполняет основную задачу, т. е. обеспечивает работу e-commerсe приложения.
Как будут взаимодействовать между собой данные роли, описывается при создании системы обработки приложений. Взаимодействие между клиентским приложением и данными осуществляется различными спо­собами. Выбор оптимального решения, а позже и архитектуры выполне­ния являются первоочередной задачей при проектировании e-commerce приложений. В топологии приложений отражается принцип построения приложений и взаимодействие данных между собой и клиентом.
Структура каждого приложения e-commerсe приложения для раз­личных сценариев различна. Похожими структурами обладают два наи­более распространенных в частном секторе бизнес-сценария. User-to­Business и User-to-Online Buying — два варианта одного бизнес-сцена­рия, более известного как B2C. В экономической и компьютерной литера­туре данная идиома встречается значительно чаще, чем User-to-Business или User-to-Online Buying, поэтому будем следовать общим правилам.
Уже давно замечено, что коммерческие отношения клиента с боль­шим бизнесом основываются не только на покупательской способности клиента User-to-Online Buying, но и на его заинтересованности в опре­деленных услугах, которые он покупает, но за которые платит, напри­мер, банковские услуги или страховые. Именно для этой цели выделен еще один бизнес-сценарий User-to-Business.
Для каждого бизнес-сценария проектируются основные этапы рабо­ты компонентов системы.