zabika.ru 1 2 3 4

Архитектурные шаблоны WEB-приложений

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

Архитектуры Web-приложений могут быть самыми различными. Не секрет, что на современном рынке существует большое количество технологий и программных продуктов, связанных с Internet. Когда Internet попала в поле зрения крупных корпора­ций, многие устремились занять свое место в этой области. Все, что можно было най­ти "на полке", либо модифицировалось, либо просто продавалось для использования в Web и Internet. В результате появился широкий спектр продуктов и технологий, ко­торые могут быть частью архитектуры Web-приложений.

Web-приложения развивались на основе совершенствования и усложнения функций Web-узлов. Вообще, Web-приложение расширяет функции Web-узла, предоставляя его клиентам возможность использования бизнес-логики и, следовательно, изменения дан­ных на сервере. Это определение Web-приложения указывает, что в нем, как минимум, имеется три важных архитектурных компонента: клиентский броузер, Web-сервер и сервер приложений. Зачастую Web-приложение использует также сервер баз данных.

Более строго Web-приложение можно определить как программную систему кли­ент/сервер, в состав которой, как минимум, входят следующие архитектурные компоненты: HTML/XML-броузер на одном или более клиентских компьютерах, взаимодействующих с Web-сервером по протоколу HTTP, и сервер приложений, который управляет бизнес-логикой. Из этого более строгого определения вовсе не следует, что в Web-приложении нельзя использовать распределенные объекты или аплеты Java, а также то, что Web-сервер и сервер приложений не могут размешаться на одном и том же компьютере. Эти распространенные технологии позволяют улучшить базовую архитектуру Web-приложения.


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

Рассмотрим три самых общих шаблона.


  1. Thin Web Client (на основе "тонкого" Web-клиента) используется в большинстве приложений Internet и предоставляет ограниченные возможности по управле­нию конфигурацией клиента. В распоряжении клиента должен быть только стандартный броузер, поддерживающий формы. Все операции, связанные с бизнес-логикой, выполняются на сервере.

  2. Thick Web Client (на основе "толстого" Web-клиента) предполагает, что значи­тельная часть бизнес-логики выполняется на клиентской машине. Обычно для выполнения бизнес-логики клиентом используется динамический HTML, аплеты Java или управляющие элементы ActiveX. Взаимодействие с сервером по-прежнему происходит через протокол HTTP.

  3. Web Delivery (на основе механизма Web-доставки). При взаимодействии клиента и сервера, кроме протокола HTTP, используются и другие протоколы, такие как IOOP и DCOM, которые могут применяться для поддержки системы распреде­ленных объектов. В данном случае броузер функционирует как контейнерный модуль системы распределенных объектов.

Приведенный список нельзя считать исчерпывающим, особенно учитывая тот факт, что технологические революции происходят ежегодно. Он лишь представляет наиболее общие архитектурные шаблоны Web-приложений высокого уровня. Различ­ные шаблоны можно одновременно применять в одной архитектуре. Например, в сис­теме электронной коммерции шаблон Thin Web Client может использоваться в преце­денте, связанном с продажей товаров потребителю, а шаблон Thick Web Client или Web Delivery можно применять для поддержки офиса филиала компании. Выбор та­кой архитектуры вполне оправдан, поскольку уровень управляемости конфигураций "собственного" клиента должен отличаться от тех случаев, когда информация собира­ется от пользователей Internet по всему миру.

Рассмотрим более подробно подробному рассмотрению каждый из этих архитектурных шаблонов, который может применяться в Web-приложении.


следующая страница >>