Гура М.Ю., магистрант WDU
Вступление. Современные веб-технологии. Технологии
Open Source.
Совокупность открытых технологий Linux, Apache, MySQL, PHP/Perl получила самое широкое признание и повсеместное
распространение в сети Интернет. Причин для этого несколько:
·
доступность.
LAMP - это свободно распространяемое
и практически бесплатное ПО;
·
высокая
степень надежности и отказоустойчивости - программный код многократно проверен и использован
разработчиками со всего мира (сообщество Open Source);
·
уровень
встроенных средств безопасности соответствует требованиям, которые выдвигает
"агрессивная" интернет-среда.
Веб-проекты на основе
технологии LAMP. Примеры реализации.
1.
LAMP:
Linux, Apache, MySQL, PHP/Perl
LAMP –
необходимый и достаточный набор программных средств для
создания веб-проектов практически любой сложности и решения самых различных
задач. Среди веб-приложений архитектура LAMP в настоящее время самая распространенная.
Формула LAMP – это:
·
серверная
(исходя из выполняемых задач) операционная система Linux, которая своим
рождением обязана студенту Линусу Торвальдсу,
студенту отделения компьютерных наук университета г.Хельсинки,
написавшему ее ради собственного удовольствия и подарившему всему миру;
·
веб-сервер
Apache, под управлением
которого в интернете функционирует большая часть сайтов.
Для Apache было создано множество
дополнительных модулей, которые решают вопрос совместной работы веб-сервера и сценариев, написанных на самых разных языках
программирования;
·
серверный
язык динамических сценариев PHP
(либо Perl), изначально задуманный
как инструмент для разработки веб-приложений и вобравший в себя возможности,
которые имеют такие языки, как C, Perl, Java;
·
СУБД
MySQL, демонстрирующая отличную
скорость выполнения SQL-запросов и идеально подходящая для небольших и средних
проектов. MySQL работает как на Unix, так и на платформе Windows, СУБД очень проста и удобна в
работе. Для нее написана подробная техническая документация в доступной форме (Поль
Дюбуа), освещающая самые разные аспекты, включая
сетевую безопасность в контексте совместной работы MySQL и PHP/Perl.
2. Модульная реализация веб-проектов. Повторное использование ПО, программные
библиотеки.
Одним из преимуществ технологий Open Source является свободное распространение открытых исходных
программных текстов и целых библиотек, позволяющих многократно применять
однажды написанный программный код. Данное обстоятельство освобождает
разработчика от рутинных операций по созданию программы “с нуля”.
Процедура повторного использования ПО приобретает особую актуальность при создании
веб-приложений в условиях жестко ограниченных сроков выполнения проекта. Кроме
того, в структуре сайта могут быть выделены функциональные модули, отвечающие
за выполнение специфических задач: лента новостей, каталог товаров, поисковый
модуль и т.д.
В идеальном варианте все программные
модули должны быть независимы друг от друга, не зависеть от дизайна конкретного
сайта, быстро включаться в действующую структуру веб-приложения
и безболезненно отключаться. Для управления состоянием и настройкой
функциональных модулей существуют системы управления контентом (CMS).
3. CMS - системы управления контентом на основе LAMP.
Значение систем управления контентом
(Content Management System, CMS)
трудно переоценить. Для конечного пользователя, не имеющего навыков веб-программирования, не владеющего как минимум знаниями о
таких технологиях, как HTML, CSS, JavaScript наибольшее удобство для управления
контентом (содержанием) сайта представляет CMS.
Рынок CMS активно развивается. Наряду с коммерческими CMS-продуктами существует ряд
бесплатных систем, функционирование которых основано на технологии LAMP. К наиболее известным относятся
следующие: PHPNuke, sPaiz-Nuke,
MamboServer.
В частности, пакет Mambo получил серьезное признание в
сообществе Open Source, завоевав приз "Best Open Source Solution" на выставке-конференции LinuxWorld, проходившей в августе 2005 года в
Центре Москона (Сан-Франциско,
США), обогнав такие бренды как Firefox, IBM и LTSP.
4. Примеры создания и развития интернет-проектов.
В качестве примера
LAMP-ориентированных веб-приложений можно перечислить ряд следующих проектов,
разработанных на протяжении 2004-2005 гг:
·
www.prostore.ru – Интернет-представительство
компании “Простор”;
·
www.mebel-store.ru - дистрибьюция
мягкой мебели;
·
www.concpart.ru - агентство имидж-технологий “Концепт Партнер”;
·
www.runed.ru – агентство недвижимости “Русская
Недвижимость”
Интернет-представительство компании
“Простор” (www.mebel-store.ru) – дистрибьюция мягкой мебели эстонского производства. При
проектировании сайта было принято решение, что вся текстовая информация,
новости, статьи, характеристики продукции будут храниться в базе данных MySQL, а не в виде текстовых файлов.
Данный способ хранения информации
вызван необходимостью дальнейшего редактирования данных и является наиболее
удобным. В частности, при удаленном доступе к вебсерверу
не всегда имеется возможность FTP-подключения. Редактирование в БД MySQL требует наличия
веб-интерфейса (то есть обычного браузера) и
установленного на сервере бесплатного пакета ПО PHPMyAdmin. Практически
все хостинговые компании предоставляют данный
инструмент в числе прочих сервисов. Данный
мощный инструмент по взаимодействию с MySQL может быть установлен без труда и
самостоятельно.
Второй веб-проект
компании “Простор” (www.prostore.ru) – сетевой
ресурс, ориентированный на оптовых покупателей бытовой техники. Основное
назначение – предоставление посетителям сайта информации о новинках, ценах и
характеристиках продукции. Первая версия
веб-ресурса представляла собой набор статических HTML-страниц. По мере роста объема информации,
публикуемой на сайте, осуществлять быстрое редактирование сайта стало
практически невозможно. Более того, сайт не соответствовал требованиям
поисковой оптимизации. Новая версия (на основе LAMP) устранила данные недостатки.

Повторное использование ПО - PHP-скриптов, написанных в период
создания www.mebel-store.ru - позволило запустить в эксплуатацию описываемый
сайт через две недели после начала разработки. Некоторые функциональные модули
остались без модификации. Разработка свелась в основном к редизайну
и изменению структуры навигационной панели. Динамически формируемые разделы –
это новости и каталог продукции. Особенностью
веб-проекта является следующее: лента новостей хранится в БД MySQL, характеристики товарных единиц – в
БД SQL Server (СУБД от компании Microsoft). Каталог продукции формируется
путем выборки характеристик из уже существовавшей БД действующего
розничного Интернет-магазина (www.v-dom.ru).
Фактически необходимость в специальной поддержке и обновлении каталога
продукции отпала.

Специализация агентства имидж-технологий “Концепт Партнер” (www.concpart.ru) - имидж-проектирование и разработка концепций
для объектов любого уровня сложности. Все, что касается разработки и
функционирования двух описанных выше проектов,
относится также и к Интернет-представительству
Агентства “Концепт Партнер”.

Агентство недвижимости “Русская
Недвижимость” (www.runed.ru).
Сайт был разработан в соответствии с такими требованиями со стороны заказчика,
как релевантность текста поисково-тематическим запросам (сфера недвижимости) и
удобство поддержки ресурса в целом. Поддержка – собственными силами заказчика.
В пользовательский раздел
Интернет-представительства агентства недвижимости “Русская Недвижимость”
интегрирована административная консоль (CMS),
позволяющая исключительно с помощью веб-браузера
управлять большей частью информации, представленной на сайте. Предусмотрена
защита от неправильного ввода информации как на клиентской стороне (JavaScript), так и на стороне сервера (PHP). Как показал начальный этап
эксплуатации веб-ресурса, это позволило избежать большого
количества ошибок при работе с сайтом сотрудников агентства – конечных пользователей,
формирующих контент и управляющих им. Минимальные
требования SEO (поисковая оптимизация) также соблюдены. За квартал (июнь-август
Перечисленные сайты имеют различную структуру и
тематическую направленность. Но несмотря на это их
функционирование стало возможным благодаря повторному использованию написанных
на PHP библиотек процедур и программных
модулей.
Процедуры облегчают подключение к БД
MySQL (или MS SQL-Server) и выборку данных, а также выполняют
генерирование конечного кода XHTML. На стороне клиента (браузера) XHTML-страницы форматируются посредством CSS-процессора. Таким образом визуальное представление XHTML-страниц и дизайн сайта в целом не
зависят от программной части приложения и легко поддается редактированию.
Программные модули также легко
подключаются и часто остаются в неизменном виде.

