Глава 22. Используемые инструментальные средства

Содержание

Пакет CGI-скриптов, обеспечивающих необходимую функциональность
Сервер приложений Midgard
Сервер приложений Zope

В последее время, появился ряд инструментальных средств, ориентированных на поддержку разработки интернет-проектов при соблюдении вышеприведенных требований. Хотя среди их производителей можно упомянуть такие известные названия как Software AG и Oracle, производящие хорошо масштабируемые и интенсивно разрабатываемые продукты, необходимо отметить: для 90% российского рынка интернет-проектов использование настолько масштабных решений неоправдано, ибо влечет за собой существенные финансовые затраты без получения существенных преимуществ. Бесспорно, Oracle - более мощная база данных, чем MySQL. Но не менее бесспорно то, что для поддержки базы данных из сорока таблиц длиной не более нескольких тысяч записей MySQL более чем достаточен. При этом накладные расходы на использование MySQL (лицензирование, контракты с хостинг-провайдерами) существенно ниже.

На сегодняшний день, в зависимости от требований клиента можно предложить один из трех вариантов архитектуры интернет-ресурса, основанных на свободно-распространяемом ПО. Это CGI-скрипты и сервера приложений - Midgard и Zope

Пакет CGI-скриптов, обеспечивающих необходимую функциональность

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

<оформление, информационное наполнение, метод доступа> .

Информационное наполнение хранится в реляционной базе данных (как правило, MySQL), откуда извлекается по запросу и заполняет слоты темплейтов, формирующих концепцию оформления. Практически, модуль может представлять собой удачное объединение трех общеизвестных модулей: HTML::Template, CGI, MySQL, допускающее использование ряда взаимозаменямых модулей, реализующих стандартные концепции веб-интерфейсов.

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

Возвращаясь к взаимозаменяемым модулям отметим следующее: использование такого модуля в новом проекте сводится лишь к дизайну нового интерфейса, затраты на переработку самого модуля близки к нулю. Могут быть созданы такие модули как "Гостевая книга", "Доска объявлений", "Каталог услуг", "Корзина покупателя" и другие.

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