Автор статьи: alexvolkov
Как иногда упоминалось в наших рассылках, сервер Маркетер построен по технологии SSR. Настало время рассказать о ней подробнее.
Первое знакомство.
SSR расшифровывается как Сервер Своими Руками. Название это придумал еще в 1998 году Ларьяновский Александр. Спустя три года появился релиз технологии. Конечно, не все три года мы работали над разработкой, но у нас было время тщательно подумать над концепцией сервера. Проектируя технологию мы исходили, из принципа, что необходимо снизить время, затрачиваемое на разработку и максимально перенести труд с плеч высококвалифицированных сотрудников на верстальщиков и технологов. В итоге почти все операции по поддержке сервера сводятся к Copy&Paste. Это конечно лишь одно из преимуществ, далее мы рассмотрим еще ряд других.
Программные требования.
Сервер работает на языке PHP и используют в своей работе базу данных SQL. Но не стоит пугаться базы данных. Если ваш сервер обладает высокой посещаемостью и как следствия, высокой нагрузкой на аппаратуру, то вы можете включить режим статических страниц, о чем подробнее поговорим в соответствуюшей части.
В идеале мы хотели бы, что бы технология была настолько же популярна, как и WINDOWS. Поэтому мы старались создать ее способной работать в любых условиях.
В качестве операционной системы возможно использование как UNIX, так WINDOWS. Хотя реального тестирования не было, но мы уверенны, что работа под OS/S или SOLARIS тоже будет корректной.
Web-server рекомендуется Apache , но опять — таки работает на массе и других. Например, успешно протестированный E-Serv. Ядро не содержит, каких либо специфичных задач и функции, поэтому корректная работа будет обеспечена и в случае, если php стоит модулями и если запускается как CGI приложение.
Базы данных. Изначально был заложен метод абстракции запросов, в результате чего поддерживается MYSQL, POSTGRESQL, MSSQL, SYBASE. Хотя тут правильнее, было сказать теоретически поддерживается, так реально тестирование идет с использованием MYSQL. Хотя опять же операторы используются только универсальные (например, LAST-ID или NEXT избегаются) и это должно обеспечить необходимую совместимость. Мы приветствуем пользователей, выше перечисленных SQL серверов, кто мог бы оказать содействие в тестирование.
Версия РНР опять подходит любая. Корректная работа обеспечена и на РНР3 и на РНР4.
Почему была подобрано именно такое ПО? Оно бесплатно, распространено, к тому же весьма безопасно.
Объекты
Существуют 4 типа объектов, которыми оперирует ядро:
- Страницы
- Пункты меню
- Шаблоны
- Модули
Страницы. Их них-то и состоит сервер. Каждая страница принадлежит тому или иному типу, отображается, используя тот или иной шаблон, относится к тому или иному пункту меню.
Пункты меню. При увеличении объема сервера появляется необходимость в группировке и систематизации страниц. Хотя собственно, можно и располагать страницы без меню (тогда страницы относятся к корню).
Шаблоны. Шаблоны определяют внешний вид страниц, которые мы увидим на экране. Определили 1 раз внешний вид, нам больше нужно копировать его вручную.
Модули. Модули — краеугольный камень SSRTECH. Установленный модули определяют тип страницы, которые Вы можете создавать, отвечают за обработку тех или иных макросов в шаблоне, добавляются функционал в ядро. Использование модулей еще удобно тем, что при выходе тех или иных изменений проще изменить какую часть системы, чем пытаться переделать все заново.
Повторное использование кода.
Зарплата программиста, как правило, выше зарплаты технолога или верстальщика. Соответственно его время более ценно и было бы разумнее использовать по максиму верстальщиков, а не высоко квалифицируемого и высоко оплачиваемого программиста. Один из вариантов снижение затрат — повторное использование кода. С SSR нет необходимости переписывать программный код полностью для каждого проекта. Теперь это решается наблюдением и настройками. А освободившиеся силы мы можем потратить на создание новых features.
Разделение дизайна и данных.
Каждый человек, работающий на разработке интернет сайтов, неоднократно сталкивается с такой сложностью как релизы. Одной из основных проблем является необходимость вручную страница за страницей переделывать файлы. Позже мы сталкиваемся еще и с отличием имен файлов, ссылками на не существующие страницы и т.д. В SSR эта проблема решена. В концепции изначально заложена простая смена дизайна и удобная настройка.
Модули.
Концептуальной революцией является использование модулей. Они позволяют добавлять новые возможности серверу, не вызывая необходимости в модификациях уже созданных частей. Управление модулями происходит через www интерфейс. Инсталляция, удаление и т.д. происходят легко и не принужденно. Если Вы создадите шаблон «на вырост» добавляя в него макросы еще не установленных модулей, то система все равно будет работать корректно. Такой макрос будет просто удален или откомментирован, в зависимости от настроек.
Статические страницы.
Работая с базами данных, Вы рано или поздно столкнетесь с тем, что Вам не хватает производительности. Приходиться или вкладывать данные в аппаратуру или координально менять стиль программирования. И то и другое не приятно. SSR, как обычно, справляется и с этим. Есть три возможных варианта:
максимальная статика;
статика, но с использованием coreloader (о нем разговор будет позже);
полностью динамика.
Для начало саморекламы хватит. В ближайшее время я продолжу рассказ о плюсах SSR.