Системы управления контентом "Joomla!" и "Wordpress"

Разработка и практическое внедрение контента "Joomla!", порядок установки и настройки системы управления им. Выбор дизайна, цветовой гаммы и анимации сайта, методика его добавления. Создание информационной структуры в системе управления контентом.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 22.06.2009
Размер файла 3,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

96

Оглавление

  • Введение 3
  • 1 Теоретическая часть 5
    • 1.1 Базовая информация о сети Интернет 5
    • 1.2 PHP: Процессор гипертекста 9
    • 1.3 СУБД MySQL 14
    • 1.4 Системы управления контентом 16
    • 1.5 Веб-сервера 27
    • 1.6 Принципы построения клиент / серверных систем. 33
  • 2 Практическая часть 36
    • 2.1 Установка системы управления контентом «Joomla!» 36
      • 2.1.1 Загрузка последней версии 36
      • 2.1.2 Загрузка файлов на FTP_сервер и установка разрешений 36
      • 2.1.3 Создание базы данных и выполнение установки 37
    • 2.2 Настройка системы управления контентом «Joomla 41
      • 2.2.1 Конфигурация системы 41
      • 2.2.2 Шаблоны дизайна 44
      • 2.2.3 Модули и компоненты 45
    • 2.3 Создание информационной структуры в системе управления контентом «Joomla!» на примере веб-сайта «Центр занятости населения г. Новомосковска» 49
      • 2.3.1 Создание разделов и категорий 49
      • 2.3.2 Создание информационного материала 53
      • 2.3.3 Создание элементов меню 58
      • 2.3.4 Заполнение главной страницы 66
    • 2.4 Обслуживание системы управления контентом «Joomla 67
      • 2.4.1 Изменение шаблонов оформления и позиций модулей 67
      • 2.4.2 Изменение категорий и разделов 69
      • 2.4.3 Изменение блоков меню 70
      • 2.4.4 Изменение информационного материала 71
      • 2.4.5 Создание резервной копии информации 73
      • 2.4.6 Восстановление резервной копии 75
    • 2.5 Функциональные возможности системы управления контентом «Wordpress» на примере веб-сайта ЗАО «Росинтел» 77
      • 2.5.1 Анализ исходного веб-ресурса 77
      • 2.5.2 Разработка и внедрение новой структуры представления данных 78
      • 2.5.3 Функциональные возможности «Wordpress» 80
    • 2.6 Анализ методов защиты систем управления контентом 84
    • 2.7 Сравнительный обзор систем управления контентом 86
  • Заключение 89
  • Список использованных источников 92
    • Приложения 94
    • Приложение А 94
    • Приложение Б 95
    • Приложение В 96

Введение

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

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

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

С развитием и распространением сети Интернет информационные системы стали более интерактивными, масштабируемыми и доступными обычным пользователям.

Перенос веб-ресурса «Центр занятости населения г. Новомосковска» на виртуальный хостинг, добавление новых функциональных возможностей и обновление версии системы управления контентом позволит организовать работу полноценного интернет-портала, ориентированного на жителей г. Новомосковска ищущих работу, работников кадровых агентств и сотрудников Центра занятости.

Разработка нового веб-сайта ЗАО «Росинтел» на базе системы управления контентом обеспечит: динамичность; удобство в использовании; легкую изменяемость любых элементов оформления; гибкую информационную структуру; модель каталогизации информации; возможности добавления интерактивных форм (формы связи, заявки, обращения); удобный административный интерфейс для редактирования структуры и добавления новой информации; инструменты статистики и мониторинга; возможность дальнейшей модернизации и добавления функциональных качеств без необходимости замены системы.

Посетители интернет-сайта ЗАО «Росинтел» получат возможность своевременно узнавать о новостях компании, акциях и изменениях тарифных планов, отправлять заявку на подключение, просматривать структурированную информацию о решениях технических неисправностей и правильных настройках операционных систем, участвовать в наполнении списка локальных ресурсов.

В основе идеи модернизации сайта «Центр занятости населения г. Новомосковска» лежит стремление к своевременному обеспечению соискателей работы всей необходимой для выбора информацией. Кроме того, следует создать информационную среду, объединяющую посетителей сайта и работников Центра занятости населения. Данная среда, в будущем, будет способствовать их взаимодействию.

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

Объектом дипломной работы студента являются системы управления контентом «Joomla!» и «Wordpress», в последствии ставшие основой для динамических веб-ресурсов ЦЗН г. Новомосковска и ЗАО «Росинтел».

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

1 Теоретическая часть

1.1 Базовая информация о сети Интернет

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

Интернет стал неотделимой частью современной цивилизации. Стремительно врываясь в сферы образования, торговли, связи, услуг, он порождает новые формы общения и обучения, коммерции и развлечений. «Сетевое поколение» - это настоящий социокультурный феномен наших дней. Для его представителей Интернет давно стал привычным и удобным спутником жизни. Человечество вступает в новый информационный этап своего развития, и сетевые технологии играют в нем огромную роль.

Интернет возник как воплощение двух идей - глобального хранилища информации и универсального средства ее распространения.

Человечество с давних пор стремилось упорядочить производимую им письменную информацию. Прообразы каталогов были еще в Александрийской библиотеке, а ранние религиозные тексты содержали развитый аппарат «параллельных мест», то есть указаний на места в рукописи, где описываются те же события.

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

Американские ученые Ванневар Буш (Vannevar Bush) и Теодор Нельсон (Theodor Holm Nelson) искали способы автоматизации мыслительной деятельности человека. Они хотели избавить его от утомительного труда по поиску и обработке нужной информации. Буш даже придумал несколько гипотетических устройств, организующих ассоциативные связи в картотеке данных, а Нельсон разработал теорию «документарной вселенной», в которой все знания, накопленные человечеством, представляли бы единую информационную систему, пронизанную миллиардами перекрестных ссылок. Работы этих ученых носили скорее философский, чем практический характер, но их идеи легли в основу того, что мы сейчас называем гипертекстом[1].

Ванневар Буш немало сделал для того, чтобы наукой заинтересовались военные. Щедрое финансирование исследований в области кибернетики несомненно способствовало ее быстрому развитию. Немалую роль в формировании теоретической базы будущей глобальной информационной системы принадлежит Норберту Винеру. Его блестящие семинары в Массачусетском технологическом институте (MIT) привлекли в компьютерную отрасль немало талантливой молодежи.

В конце 1950-х министерство обороны США учредило Агентство перспективных исследовательских проектов ARPA (Advanced Research Projects Agency), которое занималось компьютерным моделированием военных и политических событий. Талантливый организатор и ученый-компьютерщик Джозеф Ликлайдер (J.C.R. Licklider) убедил руководство ARPA сосредоточить усилия на развитии компьютерной связи и сетей. В своей работе Симбиоз человека и компьютера он развил идеи распределенных вычислений, виртуальных программных средств, электронных библиотек, разработал структуру будущей глобальной сети.

В 1960-х компьютерные сети стали бурно развиваться. Множество фирм-разработчиков создавали программное обеспечение и оборудование для локальных сетей университетов, исследовательских центров, военных учреждений[2]. Однако при передаче информации между сетями разных типов возникала проблема совместимости, когда компьютеры просто «не понимали» друг друга. Крупным недостатком больших сетей была их низкая устойчивость. Выход из строя одного участка мог полностью парализовать работу всей сети.

Перед агентством ARPA была поставлена задача решить эти проблемы, и наступило время воплотить в жизнь теоретические наработки. Поль Барен, Ларри Робертс и Винтсент Серф (Paul Baran, Larry Roberts, Vint Cerf) разработали и применили методы, ставшие основой дальнейшего развития сетевых технологий: пакетная коммутация, динамическая маршрутизация сообщений в распределенной сети, использование универсального сетевого протокола (то есть набора правил, по которым организуется и передается информация).

В 1969 была создана сеть ARPANET, которая и стала основой будущего Интернета. 1969 традиционно считается годом его возникновения.

В 1976 Серф разработал универсальный протокол передачи данных TCP/IP (Transmission control protocol/ Internet protocol). Название IP означало просто межсетевой протокол. Он стал стандартом для межсетевых коммуникаций, а сети, использующие его, так и назывались - интернет-сети.

ARPANET стала основой для объединения локальных и территориальных сетей в единую глобальную систему, которая постепенно разрослась до масштабов всей Земли. Это гигантское объединение сетей и называют Интернетом с большой буквы или Сетью.

В 1980_х Интернетом пользовались в основном специалисты. По сети передавалась электронная почта и организовывались телеконференции между научными центрами и университетами.

В 1990 программист Европейского центра ядерных исследований (CERN) в Женеве Тим Бернерс-Ли (Tim Berners-Lee) создал систему, реализующую идею единого гипертекстового пространства. Для описания гипертекстовых страниц служил специальный язык HTML (HyperText Markup Language), а для их пересылке по сети - протокол передачи HTTP (HyperText Transfer Protocol). Новый способ указания адресов с помощью URL (Uniform Resource Locator - универсальный указатель ресурсов) позволял легче запоминать их и лучше ориентироваться в информационном пространстве Интернета. Была написана также специальная программа отображения гипертекстовых страниц - первый браузер (browser - обозреватель). Бернерс-Ли назвал свой проект WWW - World Wide Web, то есть «Всемирная паутина».

Но по-настоящему популярным Интернет стал после выхода в свет графического браузера «Мозаика» (Mosaic), разработанного в 1992 сотрудником Иллинойского университета Марком Андресеном (Marc Andreesen). К этому времени возросла пропускная способность сетей, и появилась возможность быстро передавать цветные изображения, фотографии, рисунки. В Интернет хлынула не только научная, но и развлекательная информация. На рисунке 1.1.1 представлена динамика развития сети с августа 1995 по май 2009 года[3].

Рисунок 1.1.1 - Динамика развития интернет-ресурсов с августа 1995 г. по май 2009 г. по данным компании «Netcraft Ltd»

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

Границы применения Интернета в жизни человечества постоянно расширяются, появляются совершенно новые виды сетевого сервиса и использование телекоммуникационных технологий даже в бытовой технике[4].

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

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

1.2 PHP: Процессор гипертекста

PHP - это язык программирования, созданный для генерации HTML_страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров. Входит в LAMP - «стандартный» набор для создания веб-сайтов (Linux, Apache, MySQL, PHP (Python или Perl)).

Название PHP - рекурсивная аббревиатура, означающая «PHP: Hypertext Preprocessor» (ранее акроним расшифровывался как «Personal Home Page Tools»). Изначально PHP создавался в качестве надстройки над Perl для облегчения разработки веб-страниц[5].

В области программирования для Сети, PHP - один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т.п. Любой желающий может разработать своё собственное расширение и подключить его. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к веб-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI_приложения[6].

Кроме этого, он может использоваться для решения административных задач в операционных системах UNIX, GNU/Linux, Microsoft Windows, Mac OS X и AmigaOS. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript.

В настоящее время PHP используется сотнями тысяч разработчиков. Порядка 20 миллионов сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета.

В 1994 году датский программист (ныне живущий в Канаде) Расмус Лердорф (Rasmus Lerdorf) написал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML_документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl - интерпретатора скриптов - перестало хватать, и Лердорф написал на языке C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter - «Личная Домашняя Страница / Интерпретатор форм». PHP/FI включал базовую функциональность сегодняшнего PHP: оформление переменных в стиле Perl ($имя_переменной для вывода значения), автоматическую обработку форм и встраиваемость в HTML_текст и многое другое. Новорожденный язык отличался от своего прародителя более простым и ограниченным синтаксисом.

В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C - PHP/FI 2.0. Её использовали около 1% (приблизительно 50 тысяч) всех интернет-доменов мира.

PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году два израильских программиста Энди Гутманс (Andi Gutmans) и Зив Сураски (Zeev Suraski), разработчики из израильского института технологий (Technion), переписали код с нуля: разработчики сочли PHP/FI 2.0 непригодным для разработки приложения электронной коммерции, над которым они работали для проекта Университета расположенного в Хайфе, Израиль. Для совместной работы над PHP 3.0 с помощью базы разработчиков PHP/FI 2.0 Энди, Расмус и Зив решили объединиться и объявить PHP 3.0 официальным преемником PHP/FI, разработка же PHP/FI была практически полностью прекращена.

Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра. Впоследствии интерфейс написания расширений привлёк к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое число API. Фактически, это и был главный ключ к успеху, но стоит добавить, что немаловажным шагом оказалась разработка нового, намного более мощного и полного синтаксиса с поддержкой ООП.

Абсолютно новый язык программирования получил новое имя. Разработчики отказались от дополнения о персональном использовании, которое имелось в аббревиатуре PHP/FI. Язык был назван просто PHP - аббревиатура, содержащая рекурсивный акроним (англ. PHP: Hypertext Preprocessor - «PHP: Препроцессор Гипертекста»).

К концу 1998 года PHP использовался десятками тысяч пользователей. Сотни тысяч веб-сайтов сообщали о том, что они работают с использованием этого языка. В то время PHP 3.0 был установлен приблизительно на 10% веб-серверов Интернета.

PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичного тестирования.

К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Расширения дали PHP 3.0 возможность успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали неэффективно.

Новый движок, названный Zend Engine (от имён создателей, Зива и Энди, также основателей Zend Technologies), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника PHP 3.0. В дополнение к улучшению производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

Обновления PHP 4 выпускались только до конца 2007 года. До этого же времени осуществлялась официальная поддержка четвертой версии. Далее до 8 августа 2008 года по мере необходимости будут появляться только критические обновления безопасности. С 9 августа четвертая версия PHP уйдет в историю.

Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов.

Нововведения, однако, были сделаны с расчётом сохранить наибольшую совместимость с кодом на предыдущих версиях языка. На данный момент самыми стабильными и часто используемыми являются именно версии 5.xx, даже несмотря на то, что уже имеется dev_версия PHP 6 [7].

Шестая версия PHP находится в стадии разработки с октября 2006 года.

В ней уже сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, php_magic_quotes и register_globals из конфигурационного файла php.ini. Также много внимания уделено поддержке Юникода. Загрузить текущую версию разрабатываемого кода для GNU/Linux/BSD и скомпилированные версии для Microsoft Windows можно на сайте PHP Snapshots.

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

Массивы (array) поддерживают числовые и строковые ключи и являются гетерогенными. Массивы могут содержать значения любых типов, включая другие массивы. Порядок элементов и их ключей сохраняется.

PHP поддерживает широкие объектно-ориентированные возможности, полная поддержка которых была введена в пятой версии языка.

Класс в PHP объявляется с помощью ключевого слова class. Методы и поля класса могут быть общедоступными (public, по умолчанию), защищёнными (protected) и скрытыми (private). PHP поддерживает наследование (родительский класс указывается с помощью ключевого слова extends после имени класса) и интерфейсы (ставятся в соответствие с помощью implements). Разрешается объявление финальных, абстрактных методов и классов. Множественное наследование классов не поддерживается, однако класс может реализовывать несколько интерфейсов[8].

Код, созданный для более ранних версий языка, зачастую не работает или работает некорректно с более поздними версиями языка. В более поздних версиях исключаются конструкции, методики, функции, применявшиеся ранее. В результате, приложения, созданные несколько лет назад, практически теряют работоспособность для современных версий языка и требуют значительной модификации. Такие изменения обусловлены двумя факторами: устранение несогласованного синтаксиса и устранение конструкций, поощряющих создание небезопасного кода. Справедливости ради, следует отметить, что отсутствие обратной совместимости вообще характерно для современных интерпретируемых языков.

1.3 СУБД MySQL

Программное обеспечение MySQL представляет собой очень быстрый многопоточный, многопользовательский надежный SQL_сервер баз данных (SQL - язык структурированных запросов). Сервер MySQL предназначен как для критических по задачам производственных систем с большой нагрузкой, так и для встраивания в программное обеспечение массового распространения.

MySQL имеет двойное лицензирование. Это означает, что пользователи могут выбирать, использовать ли ПО MySQL бесплатно по общедоступной лицензии GNU General Public License (GPL) или приобрести одну из стандартных коммерческих лицензий MySQL AB[9].

MySQL является решением для малых и средних приложений. Входит в LAMP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Благодаря открытой архитектуре и GPL_лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

26 февраля 2008 года Sun Microsystems приобрела MySQL AB за $1 млрд.

MySQL возникла как попытка применить mSQL к собственным разработкам компании: таблицам, для которых использовались ISAM - подпрограммы низкого уровня. В результате был выработан новый SQL_интерфейс, но API_интерфейс остался в наследство от mSQL. Откуда происходит название «MySQL» - доподлинно не известно. Разработчики дают два варианта: либо потому, что практически все наработки компании начинались с префикса My, либо в честь девочки по имени My, дочери Майкла Монти Видениуса, одного из разработчиков системы[10].

MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista. Существует также порт MySQL к OpenVMS. Важно отметить, что компания MySQL AB предоставляет для свободной загрузки не только исходные коды СУБД, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули, которые можно загрузить с зеркал, представленных на официальном сайте.

MySQL имеет API для языков C, C++, Java, Perl, PHP, Python, Ruby, Smalltalk и Tcl, библиотеки для языков платформы.NET, а также обеспечивает поддержку для ODBC посредством ODBC_драйвера MyODBC.

В MySQL 5.0 значительно расширена функциональность, которая ставит MySQL в один ряд с коммерческими СУБД. Если раньше СУБД MySQL обвиняли в недостаточной поддержке стандарта SQL, то с появлением пятой версии этой популярной базы данных, появилась практически полная поддержка стандарта SQL. MySQL 5.0 содержит следующие нововведения: хранимые процедуры и функции; обработчики ошибок; курсоры; триггеры; представления; информационная схема (так называемый системный словарь, содержащий метаданные).

Версия MySQL 6.0 пока находится в стадии альфа-тестирования. Одно из главнейших нововведений версии 6.0 - новый механизм хранения данных Falcon, разработанный компанией MySQL AB, в качестве потенциальной замены для InnoDB компании InnoBase, приобретённой компанией Oracle.

1.4 Системы управления контентом

В последние годы стали популярны системы управления контентом (или как их еще принято называть CMS - от англ. «Content Managment System»). С помощью подобных систем опытный пользователь может при необходимости легко создать базовый веб-проект (без дополнительных трудозатрат), а веб-интегратор получает возможность развернуть масштабный проект в приемлемые сроки (модульность подобных систем расширяет их функционал).

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

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

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

Начало развитие веб-среды можно обозначить серединой 90_ых г. Этот период характеризовался относительно невысоким уровнем развития веб технологий, а многие динамические веб-проекты (т.е. способные на интерактивное взаимодействие) могли создаваться только программистами[11].

Вся динамика реализовывалась через CGI и другие сложные технологии, поэтому обычной пользователь, создающий собственный проект, мог рассчитывать только на статичный базовый проект масштаба сайта и не более того. Такой сайт обычно представлял собой набор статичных html_страниц, подготовленных в WYSIWYG1 html редакторах, которые начали появляться примерно с середины 1995 года. После набора, страницы объединялись ссылками (для осуществления возможности межстраничных переходов) и размещались на сервере. Вся работа по обновлению информации и проверке работоспособности проекта перекладывалась на его автора. Так, например, если требовалось изменить ссылку на странице, автор должен был найти эту страницу среди остальных, затем внести в нее изменения и снова загрузить страницу на сервер. Если же требовалось не просто изменить существующую страницу, а добавить новую, то приходилось также решать вопросы, связанные с логическим и физическим внедрением последней в весь проект. И если объем страниц возрастал, то «справляться» с ними становилось еще сложнее. А изменять и расширять динамические проекты было еще более проблематично.

Систем автоматизации всех этих процессов на тот момент практически не было, а точнее не было доступных и легких систем, не было выбора между открытыми и коммерческими системами, а популярность немногочисленных коммерческих систем была такова, что об их существовании практически никто не знал. Однако такое положение длилось относительно недолго, и в дополнение к статичным html_страницами CGI программированию появились более «дружественные» технологии - Asp (конец 1996 г.), ColdFusion (июнь 1995 г.), а позже и PHP (2_ая версия вышла в 1997 г.). Новые технологии позволили совместить разметку html_страниц и несложный программный код, сделав тем самым пассивные html_страницы активными. Активность последних позволила легко организовать интерактивное взаимодействие с пользователями, ведь каждый раз при обращении к одной и той же активной странице пользователь мог получать новые данные. В то же время стали создаваться активные страницы для автоматизации определенных действий, например, процесса загрузки файлов на сервер или же процесса создания новых страниц. Такие полезные страницы постепенно собирались во вспомогательные пакеты. Подобные пакеты применялись в типовых задачах, однако их возможностей не всегда хватало и многие клиенты предпочитали заказывать индивидуальные системы управления под свой собственный проект. Эти заказные системы изначально не были универсальными - когда требовалось изменять либо расширить их функциональность, заказчику приходилось снова обращаться к разработчикам. Вскоре и сами разработчики пришли к решению о необходимости создания универсальных систем. Таким образом и появились первые универсальные коммерческие системы управления.

Утвердилась и аббревиатура CMS, которая была заимствована и русскоязычными пользователями. Позже появились и открытые системы управления. Дальнейшая эволюция этих систем привела всю область к такому уровню развития, что нынешнее словосочетание «система управления содержанием» уже не совсем актуально, т. к. функциональность современных систем значительно расширилась, теперь они способны работать с темами, модулями, а также управлять другими элементами. Современные системы уже можно смело именовать «системами управления веб-проектом (класса n)» [12].

Сейчас системы управления это не только удобная оболочка-менеджер для пользователя, но и мощный инструмент для веб-разработчика (последнее справедливо далеко не для всех систем). Благодаря таким системам, все реже возникает необходимость в разработке веб-проектов «с нуля» - подготовленному пользователю или интегратору достаточно просто выбрать, установить и настроить существующую систему, чтобы быстро и без дополнительных финансовых затрат получить приемлемый результат профессионального уровня.

К сожалению некоторая часть существующих веб-сайтов создана без систем управления. Это так называемые «пустышки». Почему так происходит?

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

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

Теперь следует рассмотреть, как системы управления представляются различным пользователям. Кто такие пользователи? Фактически к пользователям систем управления можно причислить всех тех, кто хоть как-то с ними взаимодействует. К примеру, пользователями обычно становятся следующие лица:

- будущие и настоящие посетители разрабатываемого / разработанного веб-проекта (гости, зарегистрированные и незарегистрированные пользователи)

- контент-менеджеры, модераторы, редакторы, администраторы (владельцы);

- программисты и интеграторы (пользователи cms «как продукта»).

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

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

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

На данном этапе будут рассмотрены два наиболее очевидных вида классификации:

- классификация по «степени открытости»;

- классификация по «разработчику системы».

а) классификация по «степени открытости»

Что такое степень открытости? Многие пользователи уже успели попробовать такие продукты как OpenOffice, Firefox, Linux, а также другие известные программы и системы, которые распространяются не просто бесплатно, но и с открытыми исходными кодами (в рамках движений OpenSource, GNU, FSF и других). Последнее означает, что каждый желающий может вносить изменения в исходный код таких программ и даже распространять их в модифицированном виде. Однако открытые проекты - это не просто программное решение и набор вседозволяющих лицензий - это еще и социальное явление, базирующееся на принципах взаимо помощи, а также движение, объединяющее своих участников по идейным интересам.

Какие уникальные возможности дают открытые проекты различным людям, и какими преимуществами обладают открытые продукты? Рассмотрим наиболее очевидные преимущества и возможности:

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

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

3. Любой желающий, от простого пользователя до программиста, может стать участником открытого проекта, ведь большим интернациональным открытым проектам всегда требуются локализаторы (переводчики), тестировщики и другие специалисты.

4. Программист / организация, выбирая за основу открытые решения, избавляет себя от необходимости подстраивания под чужой корпоративный «черный ящик». Также из открытого продукта можно позаимствовать новые и / или интересные идеи, что не только не запрещается, а даже приветствуется. Открытые проекты и продукты практически всегда ориентируются на стандарты, а не идут вразрез с ними. Это значительно упрощает процесс доработки продукта, а также гарантирует совместимость с другими продуктами, поддерживающими стандарты.

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

6. Открытый продукт можно «пересобрать» с учетом своих собственных требований и тем самым получить максимальный результат.

Возвращаясь к классификации по «степени открытости» все продукты можно разделить на две группы. В первую группу следует отнести все открытые продукты, во вторую - остальные (к остальным относятся коммерческие и бесплатно распространяемые продукты).

б) классификация по «разработчику системы»

Разработчик системы, как правило, является автором, и сопроводителем системы. В роли разработчика может выступать как открытое сообщество со своими идейными лидерами, так и целая коммерческая организация с серьезным штатом сотрудников. Для удобства отнесем проекты сообществ к первой группе, а проекты организаций, соответственно, ко второй. Для того чтобы понять, чьи продукты все же лучше, следует рассмотреть типичные сценарии появления новых cms (хотя это актуально и не только для cms).

Начнем с систем управления первой группы. Как появляются сообщества и как появляются продукты сообщества? В мире существует довольно много свободных профессионалов (высококлассных программистов, дизайнеров и т.д.), ценящих свой труд и свободу. Они никогда не соглашаются на роль эксплуатируемого звена, они предпочитают самостоятельно находить заказы и работать без посредников (а для больших проектов даже собирать целые команды) и, как результат, получать за свой труд достойное вознаграждение. В своем большинстве это идейные лидеры, которые не желают мириться с текущим положением вещей. Так или иначе, но в своей практике им приходится применять различные «решения» (готовые идеи и продукты). Со временем они понимают, что существующие решения обладают рядом недостатков (ограниченная функциональность, закрытость и т.д.) либо малопригодны в среде новых технологий, и тогда они берут на себя смелость создать нечто новое и более доступное. Так появляется новая идея. После воплощения задуманного, на свет появляется и «решение», пока еще, возможно и сырое, но уже перспективное. Далее автор принимает решение сделать все наработки общедоступными - так открывается новый проект. Это приводит к тому, что в скором времени, у проекта, появляются и свои последователи - образуется сообщество. Именно благодаря сообществу и его мощной поддержке в дальнейшем, все последующие «решения» будут эволюционировать (идея при этом останется неизменной). Как итог: уже через несколько лет полностью готовое и стабильное «решение» начнет вытеснять коммерческие продукты, а новый проект превратится в достояние сообщества.

Теперь о cms из второй группы. Ко второй группе были отнесены коммерческие системы. Системы такого класса разрабатываются преимущественно веб-студиями и крупными интеграторами.

Следует также заметить, что веб студии бывают различных типов - на роль веб-студий могут претендовать как команды из 2-3 человек, так и вполне серьезные организации. Причем в первом случае такая веб-студия может представлять собой самый примитивный «сайто-строительный» полигон и не более того. Теперь вернемся к коммерческим cms. Когда они стали появляться? Многие из ныне существующих коммерческих систем, т.е. систем второго потока, «зародились» в периоде между 1999 г. и 2003 г. - именно тогда начали стремительно появляться все популярные на данный момент веб-студии, которые в первые годы своего существования и стали создавать собственные системы управления. Схема разработки и поддержки систем управления контентом представлена на рисунке 1.4.1.

Рисунок 1.4.1 - Различия в поддержке между открытыми и закрытыми системами управления контентом

Современная CMS система должна позволять, не прибегая к дополнительному программированию, выполнять: редактировать содержимое страниц, включая добавление / удаление графики; добавление новых страниц; изменение структуры сайта и различных мета данных; настройку регистрационных форм; управление опросами, голосованиями и форумами; вывод статистики посещений; распределение прав по управлению сайтом среди пользователей.

«Joomla!» - это система управления контентом, написанная на языке PHP и использующая в качестве хранилища содержания базу данных MySQL[13]. Joomla! является свободным программным обеспечением, защищённым лицензией GPL. Одной из главных особенностей «Joomla!» является относительная простота управления при практически безграничных возможностях и гибкости при изготовлении сайтов. Название «Joomla!» фонетически идентично слову «Jumla», которое в переводе с языка суахили означает «все вместе» или «единое целое», что отражает подход разработчиков и сообщества к развитию системы[14]. Это название было выбрано сообществом среди многих, прошло проверку профессионалами маркетинга, и было решено, что «Joomla!» - это самый удачный выбор. Административная панель «Joomla!» представлена на рисунке 1.4.2.

Рисунок 1.4.2 - Административная панель «Joomla!»

Система управления содержанием Joomla! является ответвлением широко известной CMS Mambo. Команда независимых разработчиков отделилась от проекта Mambo по причине несогласия в экономической политике. 16 сентября 2005 года в свет вышла первая версия Joomla!, являющаяся по сути переименованной Mambo и включающая в себя исправления найденных на тот момент ошибок и уязвимостей.

Разработчики обещают, что к выходу версии 2.0 движок будет полностью переписан и адаптирован под PHP 6. В данный момент последними версиями являются 1.0.15 и 1.5.10.

CMS Joomla! включает в себя различные инструменты для изготовления веб-сайта. Важной особенностью системы является минимальный набор инструментов при начальной установке, который обогащается по мере необходимости. Это снижает загромождение административной панели ненужными элементами, а также снижает нагрузку на сервер и экономит пространство на хостинге.

1.5 Веб-сервера

Веб-сервер - это сервер, принимающий HTTP_запросы от клиентов. Обычно в роли клиентов выступают веб-браузеры, и выдающий им HTTP_ответы, вместе с которыми передаются HTML_страницы, изображения, файлы, медиа-потоки или другие данные. Веб-серверы являются основой Всемирной паутины.

Фактически веб-сервером называют как программное обеспечение обеспечивающее все вышеперечисленные действия, так и компьютер, на котором это программное обеспечение работает. Клиенты получают доступ к веб-серверу по средствам единого указателя ресурсов - URL_адресу нужной им веб-страницы или другого ресурса располагаемого на сервере.

Единый указатель ресурсов (англ. URL - Uniform Resource Locator) - это единообразный локатор (определитель местонахождения) веб-ресурса. URL был изобретён Тимом Бернерсом-Ли в 1990 году в стенах Европейского совета по ядерным исследованиям (фр. Conseil Europйen pour la Recherche Nuclйaire, CERN) в Женеве, Швейцария. URL стал фундаментальной инновацией в Интернете. Изначально URL предназначался для обозначения мест расположения ресурсов (чаще всего файлов) во Всемирной паутине. [15]

Сейчас URL применяется для обозначения адресов почти всех ресурсов Интернета. Стандарт URL закреплён в документе RFC 1738, прежняя версия была определена в RFC 1630. Сейчас URL позиционируется как часть более общей системы идентификации ресурсов URI, сам термин URL постепенно уступает место более широкому термину URI. Cтандарт URL регулируется организацией IETF и её подразделениями.

Новая версия URI была определена в 1998 году в RFC 2396, тогда же слово Universal в названии было заменено на Uniform. В декабре 1999 года RFC 2732 ввёл в спецификацию URI небольшие изменения, обеспечив совместимость с IPv6. В августе 2002 года RFC 3305 анонсировал устаревание термина URL и приоритет URI. Текущая структура и синтаксис URI регулируется стандартом RFC 3986, вышедшим в январе 2005 года. Многие новейшие технологии семантической паутины (например, RDF) базируются на стандарте URI. Сейчас ведущая роль в развитии URI принадлежит Консорциуму Всемирной паутины.

На просторах сети Интернет в данный момент работает около 390 миллионов различных веб-серверов. Среди которых самыми популярными являются: Apache HTTP-Server от компании Apache и IIS от компании Microsoft. График роста количества веб-серверов представлен на рисунке 1.5.1

Рисунок 1.5.1 - динамика внедрения веб-серверов в сети Интернет с Августа 2000 г. по Май 2009 г. по данным компании «Netcraft Ltd».

Появление Apache HTTP Server явилось одним из важнейших средств, стимулировавших развитие всемирной сети Интернет. Apache был первой бесплатной альтернативой веб-серверу от Netscape Communications (в настоящее время известен как Sun Java System Web Server). Приложение доступно для установки на многих платформах, таких как: Unix, FreeBSD, Linux, Solaris, Novell NetWare, Mac OS X, Microsoft Windows и т.д. Apache распространяется как бесплатное программное обеспечение с открытым исходным кодом, что позволяет множеству разработчиков со всего мира участвовать в процессе доработки и выпускать дополнительные надстройки, выполняющие специфические, нужные для определенных целей, функции.

Авторы проекта всегда говорили о том, что его имя было выбрано не случайно. На это были две причины. Первой причиной стала дань уважения к коренным жителям Америки - индейскому племени Апаче, чья выносливость и неповторимое боевое мастерство известны во всем мире. Вторая причина более предсказуема, дело в том, что изначально, проект разрабатывался как серия многочисленных «патчей» (заплаток) к уже существующему веб-серверу NCSA httpd.

Первая версия была выпущена Робертом МакКулом в 1994 году. После ее выхода сформировалась команда, позже ставшая знаменитой Apache Group. Вторая версия заметно отличалась от предшествующей. Она была выпущена только в 2002 году. Имея модульную структуру, новый API для разработчиков, поддержку IPv6 и улучшенную поддержку не-Unix платформ (например Windows) она стала самым используемым http_сервером в сети Интернет. На данный момент последним релизом является версия 2.2.8, выпущенная 19 января 2008 года.

Веб-сервер Apache имеет модульную структуру ядра, что помогает разработчику, определившись с целями проекта, использовать именно те средства разработки, которые он планирует, отключив все остальные возможности. Данная архитектура ядра делает программный продукт более безопасным и быстрым. Веб-сервер поддерживает различные модули интерпретаторов, например: perl, python, php, tcl. Кроме этого веб-разработчик может использовать модули безопасности и криптографии. В Apache встроена поддержка аутентификации, реализован протокол шифрования SSL, имеется прокси-модуль и модуль создающий отчеты. Кроме этого в возможности веб-сервера входит подключение внешнего модуля сжатия gzip.

Удобная конфигурация позволяет администратору использовать один веб-сервер для обслуживания нескольких узлов одновременно. В настоящее время Apache входит в комплекты поставки различных решений для производства, Например в Novell NetWare он является веб-сервером по умолчанию, как и в IBM WebSpere. Для организации собственных решений сервер используют Oracle и Borland. Apache также используют и для реализации других задач различной сложности. Одним из примеров является обмен файлов. Пользователь, на своем персональном компьютере устанавливает копию программы и помещая документы в определенную папку, делает их открытыми для всех остальных пользователей зашедших на страницу созданную его веб-сервером.

В апреле 1996 г. Apache стал самым популярным HTTP_сервером во Всемирной сети. Но к Ноябрю 2006 г. доля веб-серверов работающих на ПО от Apache Group значительно снизилась, почти половина всех веб-ресурсов перешла на сервер Microsoft Internet Information Services или сторонние разработки. Анализируя данные за Май 2008 г. можно сделать вывод о том, что доля узлов работающих на веб-серверах Apache составляет 52% от числа всех ресурсов сети.

Вторым по полярности является Microsoft Internet Information Services. Пользуясь данными, собранными компанией Netcarft можно сделать вывод - доля веб-ресурсов, обслуживаемых веб-серверами IIS, составляет 35% от общего количества узлов.

Выпуск IIS 7.0 совпадает с десятилетней годовщиной выпуска первой версии IIS в составе Windows NT® 4.0 в 2001 г. Четыре года спустя, IIS 5.0 стал самым распространенным сервером в Интернете, хотя спустя несколько месяцев он пал жертвой печально известных червей Code Red и Nimda. IIS 6.0, выпущенный в Windows Server® 2003, был серьезной переработкой сервера, в которой все усилия были сосредоточены на повышении безопасности, надежности и производительности. С тех пор IIS 6.0 доказал, что он является в высшей степени защищенным веб-сервером, обеспечивающим высокую надежность и безопасность. После его выпуска был издан только один важный бюллетень по безопасности исправляющий ошибку, которой невозможно воспользоваться в удаленном режиме.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.