Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:JAVA. Серверные приложения
.pdf
Часть 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).
Программные модули, используемые на сервере, реализованы на Java, что позволяет работать с динамическими страницами, создавать и
обрабатывать процессы бизнес-логики, организовывать доступ к другим
источникам информации, использовать новые Java-компоненты, JSP,
servlet, bean.
Для осуществления контроля над http-сессией в WEBSphere Application 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 имеет встроенную способность автоматической перезагрузки, применяемой при изменении классов servlet, используемых 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-страниц, используя технологию dragand-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, VisualAge создает абсолютно переносимый 100%-ный чистый Java-код,
выполняемый на всех платформах, имеющих поддержку Java VM 1.1 и
выше.
VisualAge for Java (VAJ) — прекрасный инструмент для создания,
отладки, тестирования и создания Java-приложений, имеет много интересных возможностей, главная из которых Web Sphere Test Environment, представляющий собой необходимый набор для разработки и тестирования 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 как основного источника информации ecommerс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. Как одну из разновидностей бизнес-сценария Business-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-toBusiness и User-to-Online Buying — два варианта одного бизнес-сценария, более известного как B2C. В экономической и компьютерной литературе данная идиома встречается значительно чаще, чем User-to-Business
или User-to-Online Buying, поэтому будем следовать общим правилам.
Уже давно замечено, что коммерческие отношения клиента с большим бизнесом основываются не только на покупательской способности
клиента User-to-Online Buying, но и на его заинтересованности в определенных услугах, которые он покупает, но за которые платит, например, банковские услуги или страховые. Именно для этой цели выделен
еще один бизнес-сценарий User-to-Business.
Для каждого бизнес-сценария проектируются основные этапы работы компонентов системы.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
