Минимизация зависимостей

Для минимизации зависимостей между «Браузером» и Web-сервером необходимо, чтобы язык разметки HTML был задействован только в браузере, а Web-сервер предоставлял интерфейс для получения необходимых данных для страницы.

Для решения этой задачи необходимо:


  • Определить цели и область решаемых задач, которые будут решаться в рамках создаваемого интерфейса.
  • Определить API серверной части.
  • Выбрать протокол взаимодействия между серверной и клиентской частью. Создание протокола удобнее всего выбрать на базе XML, так как большинство современных браузеров имеют встроенную поддержку этого языка.
  • Написать документ, в котором будет изложен протокол.


Наша диаграмма может быть преобразована в следующий вид:

Далее «Браузер» преобразуется в UML диаграммы состояний. На этих диаграммах будет отражено, в каком случае вызывается тот или иной метод.



Данная модель достижима двумя путями


  1. Программа выполняемая «Браузером» написана на JavaScript и общается с Web-Сервером через AJAX, получая ответы в соответствие с определенным протоколом.
  2. «Браузер» интерпретирует только HTML код, а преобразования происходят посредством XSLT преобразований на стороне Web-Сервера.

 

В каждом из этих случаев достигается разделение программной части Web-Сервера и «Браузера». Т.е используя данную модель возможно вносить изменения в структурную единицу для «Браузера» и не вызывать косвенных изменений в серверной части. Это очень важно, так как ведет к уменьшению затрат на обработку запросов на изменения. Это происходит в силу того, что изменения в одной структурной единицы не выходят за ее рамки.


Взаимодействие Web-Сервера и Базы данных

Взаимодействие базы данных и web-сервера возможно организовать на основании двух принципиально разных сценариях:


  1. Бизнес логика находится в базе данных.
  2. Бизнес логика находится в коде web-сервера.

 

В первом случае база данных хранит данные и предоставляет интерфейс доступа к данным:


  1. Выборка данных — решается через представления.
  2. Модификация данных — решается через хранимые процедуры.

 

Программа для web-сервера является драйвером для доступа к бизнес-логике. Т.е она просто связывает Браузер с бизнес логикой, которая реализована в базе данных.

Во втором случае база данных хранит данные, и предоставляет прямой доступ к данным. Бизнес-логика реализована в коде web-сервера. В этом случае база данных предоставляет транзакции для проведения атомарных операций.

Для минимизации зависимостей между Web-Сервером и Базой данных, необходимо, чтобы бизнес-логика была определена только в одном месте. Т.е либо в коде Web-Сервера, либо в Базе данных. Это очень важно, так как ведет к уменьшению затрат на обработку запросов на изменения. Это происходит в силу того, что изменения в одной структурной единицы не выходят за ее рамки.



Иерархическая структура работ

На основании изложенного выше материала иерархическая структура работ примет следующий вид:


  1. Модуль для «Браузера».
  2. Модуль для Web-Сервера.
  3. Модуль для Базы данных.
  4. Протокол обмена между модулем «Браузера» и Web-Сервером.
  5. Интерфейс взаимодействия между модулем «Браузера» и Web-Сервером.
  6. Интерфейс взаимодействия между Web-Сервером и Базой данных.

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: