Глава 4. Конфигурация системы
Правильная конфигурация системных средств, обеспечивающих работу коммерческого Web-сайта, является одной из составляющих его успеха. Настройка серверного комплекса играет важнейшую роль как для простых электронных магазинов с небольшим ассортиментом, так и для крупных сайтов, занимающих лидирующие позиции на рынке электронной коммерции.
Кроме того, в условиях работы в реальном времени по схеме 24x7x365' такие проблемы, как архивация данных, среда разработки, тестирование, управление исходными текстами и т. д., приобретают решающее значение, поскольку каждый простой оборачивается денежными потерями.
ПРИМЕЧАНИЕ
Предполагается, что с позиций бизнеса ваша организация уже готова к электронной продаже своих товаров и/или услуг.

Проектирование серверного комплекса
Серверный комплекс (server farm) объединяет все серверы, необходимые для работы сайта. Он может состоять как из одного сервера, так и из нескольких серверов, выполняющих разные функции (управление базой данных, обслуживание Web-сайта и т. д.) При разработке системы электронной коммерции необходимо учитывать многие аспекты конфигурации серверного комплекса. Ситуация с несколькими серверами, выполняющими разные функции, встречается относительно часто. Хотя все функции можно возложить на один сервер, это создаст потенциальную угрозу для системы безопасности. Рассмотрим возможные варианты построения серверного комплекса.
Web-серверы
Работа электронного магазина обеспечивается Web-сервером, находящимся под управлением Windows NT. В наших примерах, основанных на ASP и Visual Basic, им будет Internet Information Server 4.0. Для работы примеров, рассмотренных в конце книги, на Web-сервере также необходимо установить Site Server Commerce Edition.
СОВЕТ
Обычно Web-сайт не ограничивается функциями электронного магазина. Другие его возможности могут быть в большей степени ориентированы на специфику его содержания, а также не обязательно связаны с коммерцией.

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


Требование

Описание

Интерфейс управления электронным магазином

Интерфейс управления создается в процессе проектирования магазина. Ключевым фактором является безопасность, поэтому URL интерфейса управления (например, http://admin.ecstore.com) должен отличаться от интерфейса пользовательского сайта (например, http://www.ecstore.com). Безопасность может быть реализована несколькими способами. При защите на уровне каталогов может использоваться механизм аутентификации NT Challenge and Response. Как будет показано ниже, система безопасности также может быть реализована на уровне базы данных

Безопасность SSL

Механизм SSL (Secure Sockets Layer) обеспечивает шифрование конфиденциальной информации при обмене данными между броузером и сервером

Связь с базой данных

Если сервер базы данных находится на другом компьютере, на Web-сервере электронного магазина должно существовать подключение ODBC к базе данных. Также предполагается наличие постоянного сетевого доступа к серверу базы данных

Коммерческий Web-сервер имеет много общего с обычным Web-сервером. Но ,в отличие от серверов, главной функцией которых является предоставление статических страниц, этот сервер в первую очередь предоставляет Web-страницы, сгенерированные на основании шаблонов и переменных данных.
Web-сервер
Если наряду с сервером электронного магазина создается другой, дополнительный Web-сервер, он настраивается практически так же, как и коммерческий Web-сервер. Главное требование заключается в наличии удобной ссылки на Web-магазин. Хорошим примером является Американская ассоциация борьбы с диабетом. Ее главный Web-сайт расположен по адресу http://www.diabetes.org, а электронный магазин - по адресу http://merchant.diabetes.org.
Сервер базы данных
Как правило, сервер базы данных не должен быть доступен для внешнего мира. Он располагается за брандмауэром (firewall), и прямой доступ к нему из Интернета невозможен. В этом варианте обращения к серверу базы данных осуществляются из локальной сети, находящейся за брандмауэром. Если Web-сервер работает на одном компьютере с сервером базы данных, появляется возможность обращения к серверу базы данных извне. При этом возникает опасность несанкционированного доступа к конфиденциальной информации (данным кредитных карт и т. д.) Хотя SQL Server обеспечивает проверку обращений к базе и другие средства блокировки, полная изоляция базы данных от внешнего доступа помогает повысить уровень безопасности системы.
Поддержка нескольких серверов
Как упоминалось выше, в простейшем варианте Web-сайт представляет собой один Web-сервер, на котором сосредоточены все функциональные средства. На следующем уровне детализации Web-сервер отделяется от сервера базы данных. В этом случае серверный комплекс состоит из двух серверов. Следующая проблема возникает в ситуации, когда необходимый объем операций обеспечивается несколькими Web-серверами и серверами базы данных. Хотя основные принципы программирования и функциональность базы данных остаются прежними, возникают такие проблемы, как синхронизация данных, синхронизация содержания, распределение нагрузки и т. д. Их подробное рассмотрение выходит за рамки книги, однако перед запуском Web-сайта с потенциально высоким объемом операций эти проблемы необходимо тщательно проанализировать.
СОВЕТ
На стадии разработки вся функциональность вполне может быть сосредоточена на одном сервере. Однако впоследствии вы должны провести тестирование полного серверного комплекса и убедиться в правильной работе связей между серверами.

ВНИМАНИЕ
Если в конфигурации с несколькими серверами возникла необходимость в распределении нагрузки, то вам, вероятно, придется создать дополнительные средства для передачи Web-запросов на разные серверы. Также необходимо проследить за тем, чтобы на протяжении всего сеанса покупатель взаимодействовал с одним и тем же сервером (тем, на который он был направлен изначально). Если запросы клиента будут попадать на разные Web-серверы, уследить за состоянием его корзины и другими важными данными будет практически невозможно.

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

Управление серверами
Многие традиционные проблемы управления серверным комплексом в модели "клиент/сервер" возникают и при управлении комплексами Web-серверов. Среди ключевых факторов нормального процесса разработки и текущего функционирования сайта - контроль над исходными текстами, архивация и т. д. В этом разделе будут рассмотрены некоторые из этих факторов. Кроме того, мы познакомимся с основными принципами построения Web-сайта, чтобы в следующей главе перейти непосредственно к программированию.
Среда разработки
Электронные магазины строятся практически на тех же принципах, что и традиционные приложения "клиент/сервер", предназначенные для внутреннего использования. Решающее значение имеют хорошие навыки программирования и правильный выбор инструментов.
Visual SourceSafe является отличным средством для управления исходными текстами проекта. Кроме того, программа превосходно справляется с проверкой программного кода на входе и выходе в условиях групповой работы над проектом. База данных SourceSafe может находиться на сервере разработки или, что более предпочтительно, на отдельном сервере в сети.
При создании Web-серверов из области электронной коммерции действует одно специфическое требование - вся работа с файлами исходных текстов должна происходить на центральном сервере разработки.
В этих условиях разработчик подключается к Web-серверу через Visual InterDev. На Web-сервере должны быть установлены расширения FrontPage для IP-адреса рабочего Web-сайта. В дальнейшем по этому адресу подключается InterDev.
Конфигурация Web-сервера
Для создания среды разработки необходимо выполнить некоторые действия по настройке Internet Information Server и расширений FrontPage, а также подключению через Visual InterDev.
1. Запустите Internet Information Server. Для управления процессами на сервере применяется ММС (Microsoft Management Console). В данном случае используются snap-ins1 для настройки различных служб Интернета, в том числе FTP, HTTP и SMTP. Окно ММС.
Программа администрирования, поддерживаемая ММС (Microsoft Management Console). К примеру, MTS Explorer в Windows NT. - Примеч. ред.
2. Следующей задачей является настройка Web-сайта. В примерах этой книги будет использоваться Web-сайт, создаваемый IIS по умолчанию. Вы можете создать новый Web-сайт и присвоить ему IP-адрес. Панель настройки Web-сайта изображена на рис. 4.6. Локальному Web-сайту соответствует IP-адрес 127.0.0.1.

3. Для нормальной настройки Web-сайта также необходимо задать домашний каталог. Флажок FrontPage Web должен быть установлен, чтобы сайт поддерживал расширения FrontPage. Остальным параметрам можно оставить значения по умолчанию.
4. На этом основная настройка Web-сайта завершается. Теперь на сайте необходимо установить расширения FrontPage. Запустите программу FrontPage Server Administrator, входящую в группу Windows NT 4 Option Pack.
Выберите в списке созданный Web-сайт. Затем нажмите кнопку Install, чтобы установить расширения на Web-сервере.
5. Теперь к Web-сайту можно подключаться через Visual InterDev. Чтобы создать новый проект, перейдите на вкладку New и выберите категорию Visual InterDev Projects. Присвойте проекту имя.
6. Visual InterDev предложит ввести IP-адрес Web-сайта, к которому вы хотите подключиться. Для локальных сайтов на Web-сервере используется IP-адрес 127.0.0.1 или имя localhost.
7. После выбора Web-сайта Visual InterDev спросит, к какому Web-приложению вы хотите подключиться. В нашем примере будет создано новое приложение с именем ECStore..
8. На этом процесс подключения к Web-сайту завершается. При создании нового Web-приложения создается новый файл global.asа. Этот файл содержит глобальные параметры и процедуры уровня сеанса нашего Web-приложения. На этой стадии можно начинать работу над Web-сайтом.
Архивация сервера
Архивация серверных данных всегда важна. Вероятно, на Web-серверах она играет еще более заметную роль, что обусловлено транзакционной природой Web-сайта и необходимостью работы по схеме 24x7x365. Основные архивируемые объекты перечислены в табл. 4.2.
Таблица 4.2. Архивируемые объекты на Web-сервере


Объект

Описание

Страницы ASP и другие ключевые файлы

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

Объекты СОМ

Бизнес-объекты, которые мы будем создавать на Visual Basic 6, также необходимо регулярно архивировать. При этом должны архивироваться и исходные тексты этих объектов (хранящиеся в Visual SourceSafe)

Сертификаты SSL

В процессе архивации часто упускается необходимость создания резервных копий сертификатов SSL. При утрате сертификатов остается единственный выход - запросить новые сертификаты

ODBC DSN

Еще один объект, о котором часто забывают при архивации - параметры ODBC DSN на Web-сервере. Если вы используете файловые DSN, возможна непосредственная архивация источников данных

Параметры конфигурации IIS

При внесении изменений в стандартную конфигурацию IIS необходимо сохранить эти изменения на случай восстановления Web-сервера

Параметры конфигурации SQL Server

To, что говорилось выше о параметрах IIS, относится и к параметрам конфигурации SQL Server

Операционная система и другие файлы сервера

Как и при любой стандартной архивации, обеспечивающей быстрое восстановление, вся система также должна регулярно архивироваться

Безопасность
Как упоминалось выше в этой главе, безопасность является одним из ключевых факторов настройки Web-сайта. Безопасность может обеспечиваться средствами IIS непосредственно на уровне Web. Другой подход заключается в реализации безопасности на уровне базы данных и запрете доступа к содержимому сайта через ASP.
Панель безопасности Web-сайта в IIS. Как правило, для предоставления всеобщего доступа к Web-сайту используется анонимный доступ. Если возникает необходимость в дополнительной защите некоторого виртуального узла или каталога, можно реализовать базовую аутентификацию или механизм Windows NT Challenge/Response. При базовой аутентификации пароль пересылается по Интернету в виде незашифрованного- текста. В механизме Windows NT Challenge/Response доступ к Web-сайту осуществляется средствами Internet Explorer. В любом случае пользователю предлагается ввести имя и пароль в диалоговом окне.
В вопросах безопасности существенное внимание также уделяется управлению сертификатами SSL. В основном интерфейсе управляющей консоли IIS присутствует значок Key Manager. Если щелкнуть на нем, откроется окно Key Manager.
В Key Manager можно создать новый ключ, установить сертификаты, полученные от авторитетной службы (например, Verisign), а также импортировать и архивировать сертификаты.
Настройка базы данных
Настройка базы данных не уступает по важности настройке Web-сервера. Хотя подробное рассмотрение всех аспектов конфигурации баз данных выходит за рамки книги, некоторые ключевые факторы перечислены в табл. 4.3.
Таблица 4.3. Факторы конфигурации базы данных


Фактор

Описание

Пиковая нагрузка

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

Дисковое пространство

Журналы транзакций и другие служебные файлы, а также сами данные, полученные из Web, влияют на требования к объему дискового пространства. Вы должны организовать постоянное наблюдение за эффективным использованием дисков и т. д.

Поддержка нескольких серверов

При наличии нескольких серверов баз данных в процессе базового проектирования системы необходимо учесть проблемы синхронизации данных товаров, заказов, пользовательских профилей и другой информации

Архивация и репликация также относятся к числу важнейших факторов. При организации избыточности данных и архивации на сервере базы данных следует рассмотреть несколько возможных сценариев. Эти сценарии перечислены в табл. 4.4.
Таблица 4.4. Сценарии архивации и репликации на серверах баз данных


Сценарий

Описание

Создание резервных копий устройств

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

Теплая архивация

Существуют различные сценарии "теплой архивации" (warm backup), при которой содержимое базы данных архивируется или реплицируется через некоторый период времени (обычно час или меньше). Если сервер базы данных вдруг перестает работать, простая перенастройка параметров ODBC позволяет восстановить работу Web-узла с момента последней теплой архивации

Репликация в реальном времени

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

Другим критическим фактором является поддержка усовершенствований базы данных, которая бы обеспечивала плавную синхронизацию и обновление.

Планирование нагрузки
Как было показано при обсуждении многих аспектов проектирования системы, планирование нагрузки является одним из критических факторов. Возможно, при программировании базовой функциональности коммерческих приложений это обстоятельство не учитывается, но если предполагается существенная нагрузка, вы должны позаботиться о том, чтобы программный код был надежным и удовлетворял требованиям конфигурации с несколькими серверами.
В Сети можно найти отличные инструменты для планирования нагрузки. Если работа вашего серверного комплекса и управление им осуществляется Интернет-провайдером, у провайдера обычно имеются средства тестирования нагрузки, при помощи которых можно моделировать различные варианты трафика. В ходе тестирования необходимо обратить особое внимание на проверку ключевых секций сайта.
Требования к броузеру
Наконец, одним из ключевых факторов планирования системы является хорошее понимание тех требований, которые предъявляются к броузеру со стороны системы. Хотя эти требования в значительной степени обусловлены архитектурой системы, при кодировании сайта с применением расширенных возможностей броузера (например, ActiveX и DHTML) они могут повлиять на выбор типа броузера. Примером этого является программа управления электронным магазином, ориентированная на использование конкретного броузера с расширенными возможностями. Иногда для применения механизма Windows NT Challenge/ Response требуется Internet Explorer. Реже возникает необходимость в службах RDS (Remote Data Services) броузера Internet Explorer.

Итоги
Системное проектирование Web-сайта имеет решающее значение для конечного успеха всех усилий, затраченных на его программирование. В некоторых отношениях эта задача напоминает проектирование серверного комплекса в модели "клиент/сервер". Основные различия заключаются в планировании разных вариантов нагрузки, применении несколько иных инструментов, других клиентов и возможности быстрого изменения среды.

 

 
На главную | Содержание | < Назад....Вперёд >
С вопросами и предложениями можно обращаться по nicivas@bk.ru. 2013 г. Яндекс.Метрика