Диплом: Адаптивная динамическая информационная система управления сайтом

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
35
модульных систем. Основным же плюсом специализированных
тиражируемых систем является их более низкая стоимость внедрения,
особенно по сравнению с заказными системами;
3) заказные системы – это узкоспециализированные системы, разработка
которых ведется с учетом требований конкретного заказчика. Минусом
же заказных является цена, так как разработка программного обеспечения
под заказ никогда не была и не будет дешевым процессом. Плюсом же
является полное соответствие заявленным требованием, и в большинстве
случаях поддержка продукта разработчиком.
На уровне контента по назначению системы можно разделить на:
1) многофункциональные системы (или системы общего назначения);
2) галереи предназначены для размещения в сети интернет цифровых фото
или видео материалов;
3) социальные сети по уровню контента являются системами управления
содержимым, так как они позволяют пользователям размещать и
манипулировать различным контентом;
4) системы управления веб-форумами предназначены для создания и
управления форумами - класса веб-приложений для организации общения
посетителей веб-сайтов [32];
5) системы управления сайтами для создания блогов (интернет-дневников);
6) системы управления сайтами для интернет-магазинов (англ. online shop,
e-shop) предназначены для организаций, которые занимаются продажами
товарами или услугами в сети интернет. В них особый упор должен
делаться на безопасность финансовых операций, интеграции с
существующими платежными системами, системы доставки, рекламу и
партнерские программы;
7) узкоспециализированные системы предназначены для организации таких
интернет и интранет сервисов, как системы учета и планировки времени
36
работы сотрудников (англ. timetrackers), системы постановки и
отслеживания задач (англ. jobtrackers), и многих других. Эти системы
чаще всего используются в корпоративном секторе, и зачастую имеют
возможность глубокой доработки под конкретные нужды и задачи
предприятия, что позволяет довольно глубоко интегрироваться в текущие
бизнес-процессы. Исходя из этой специфики данные системы чаще всего
являются заказными, хотя встречаются как бесплатные или условно-
бесплатные, так и системы с открытым исходным кодом.
В первой части первой главы данной выпускной квалификационной
работы был проведен обзор и анализ литературы по используемым
технологиям и инструментам, так как для выполнения поставленной цели очень
важен выбор современных и полезных литературных источников. Так же в этой
части были раскрыты основные используемые термины и понятия.
Во второй части главы был рассмотрены основные понятия и этапы
создания информационных систем, описанные в стандарте ГОСТ 34.601-90 и
содержащие в себе восемь взаимосвязанных стадий (формирования требований,
разработки концепции, создании технического задания, эскизного проекта,
создании технического проекта, стадии рабочей документации, ввода в
действие и сопровождения информационных систем) с включенными в них
этапами.
В третьей, заключительной части первой главы была проведена
классификация систем управления содержимым на уровнях разработки и
контента по назначению, и были описаны особенности построения этих систем,
рассмотрены основные требования к обеспечению удобства использования
системы конечными пользователями, простоты инсталляции, модульности
системы, безопасности, способам обновления системы, резервирования
необходимых данных, поиска и исправлению существующих и будущих
ошибок в программном обеспечении.
37
Полученные выводы позволяют перейти к рассмотрению материала
следующей главы, посвященной исследованию основных аспектов архитектуры
и организации адаптивных динамических систем управления сайтами, а также
рассмотрению существующих на рынке систем с указанием их основных
достоинств и недостатков.
38
ГЛАВА 2. АДАПТИВНАЯ ДИНАМИЧЕСКАЯ
ИНФОРМАЦИОННАЯ СИСТЕМА УПРАВЛЕНИЯ САЙТОМ
2.1. Архитектура и основные сущности информационных систем
управления сайтами
Архитектура любого программного продукта напрямую влияет на
качество, удобство работы и обслуживания любых информационных систем, в
том числе и систем управления содержимым, так как она по сути является
генеральным планом приложения. При разработке хорошей архитектуры
приложения системы управления сайтом следует учитывать следующие
моменты:
Пользователи, использующие систему управления сайтом не
должны испытывать сложностей при работе с ней, должны иметь
все необходимые им рабочие средства, и не иметь доступа к тем
средствам, которые им не нужны в данный момент, или могут
отрицательно повлиять на работоспособность системы. Из этого
следует то, что обычные пользователи системы (как например
контент менеджеры) не должны иметь возможность видеть или
вносить изменения в программный код или язык разметки.
Наполнение сайта контентом, изменение его дизайна должно
происходить либо сразу на странице с использованием
специальных форм, либо при помощи редакторов WYSIWYG (англ.
What You See Is What You Get, “что видишь, то и получишь” [33]).
Использование объектно ориентированной методологии разработки
с шаблоном проектирования MVC (Model View Controller)
позволяет четко отделить бизнес-логику приложения от
пользовательского интерфейса и данных приложения (модели).
Плюсом данного подхода является то, что при его использовании
упрощается структура приложения, компоненты системы
становятся независимыми, что упрощает как их модификацию, так
39
и добавление к ним новых модулей или функциональных
возможностей.
Опишем типовую архитектуру системы управления содержимым сайта
(Рисунок 1):
Рисунок 1 - Архитектура системы управления содержимым
Важнейшим компонентом систем управления содержимым является
ядро базы данных, так как в ней находится вся информация, используемая
системой управления содержимым, такая как данные безопасности, данные о
пользователях, данные о модулях системы, контент. На рынке имеются как
промышленные системы управления базами данных (СУБД), такие, как
Microsoft SQL Server, Oracle, DB2, PostgreSQL, так и более простые, и легкие,
такие, как например MySQL, или даже базы NoSQL, такие как MongoDB и
40
Redis. СУБД следует выбирать, основываясь на целях, областях решаемых
задач и доступности пользователям, так как например СУБД Oracle довольно
редко встречается у рядовых пользователей, зато очень распространена на
крупных предприятиях, Microsoft SQL Server можно встретить как на крупных
и средних предприятиях, так и в SOHO (Small Office/Home Office) сегменте
рынка, PostgreSQL и MySQL в основном используются в качестве СУБД на веб-
хостингах. Поддержка нескольких СУБД позволяет создавать более гибкие и
универсальные системы управления содержимым, но в тоже время она является
и довольно серьезной проблемой в процессе разработки по причине
существования различных реализаций синтаксиса и внутренних структур
различных СУБД. Для решения этой задачи зачастую используется ORM -
технология программирования, позволяющая связывать содержимое баз
данных с концепциями объектно-ориентированных языков программирования.
При грамотной реализации этой технологии, для создания, модификации, и
доступа к объектам баз данных порой достаточно загрузить и сменить драйвер
доступа к СУБД.
Кроме задач хранения данных, собственными средствами СУБД очень
удобно создавать резервные копии данных. Плюсы данного решения по
сравнению с резервированием на базе операционных систем или стороннего
программного обеспечения заключаются в том, что при резервировании
средствами СУБД не существует привязки к как к версиям операционных
систем, так и к зачастую к операционным системам вообще, в случае, если эти
СУБД являются кроссплатформенными, например, как Oracle, MySQL,
PostgreSQL, и с недавних пор Microsoft SQL Server. Для систем управления
содержимым очень важна возможность резервирования данных как локально,
так и на удаленные системы хранения данных, возможность инкрементального
резервирования, и возможность быстрого восстановления данных. База данных
систем управления содержимым должна быть нормализована (то есть таблицы
должны быть связаны, и не иметь лишних сущностей), все таблицы и поля
41
должны быть заранее спроектированы (по той причине, что изменение
структуры займет гораздо больше времени и усилий), база данных должна быть
эффективной, масштабируемой и подробно задокументированной.
Ядро системы отвечает за основной функционал системы, за поддержку
коммуникаций между внутренними сервисами системы и модулями,
обеспечение работы с СУБД, поддержку пользовательской и административной
частей системы, поддержку шаблонов оформления, поддержку модульности.
Поддержка баз данных в ядре включает в себя драйвера доступа к базам
данных, механизмы их переключения, данные, необходимые для подключения
к базе данных (описание драйвера, путь до базы данных (URL), имя
пользователя базы данных и пароль, и в случае использования ORM
необходимо указать диалект обращений к СУБД). Так же в ядре присутствуют
описания сущностей базы данных, первоначальные шаблоны страниц, и
требуемые приложением внешние библиотеки.
Модули системы управления содержимым включают в себя реализации
различного дополнительного функционала. Реализация модульности сильно
зависит, как и от используемых языков программирования, так и платформ, но
важно выделить общие требования к модульности. Во-первых, каждый модуль
должен использоваться для реализации только одной функциональности
(например, неудачным выглядел бы пример модуля, который бы совмещал
функциональность RSS и почтового клиента). Во-вторых, модули не должны
влиять на работоспособность как ядра системы, так и на другие ее модули и
компоненты. Наконец модули должны быть полностью совместимы с
функционалом других модулей, ядра системы и прочих ее компонентов, что
достигается при создании и использовании собственных API (англ. application
programming interface).
Часть системы управления содержимым, отвечающая за отображение
информации и взаимодействие с пользователями, включает в себя
административную панель и пользовательское отображение. Административная
42
панель (также иногда называемая панелью управления) предназначена для
неограниченного просмотра, управления, настройки и зачастую инсталляции
систем управления содержимым, создания и управления учетными записями и
правами пользователей, и доступна только пользователям с правами
администратора, тогда как пользователи с обычными правами доступа не могут
иметь прямой доступ к данным других пользователей и к большинству
настроек системы. Пользовательское отображение предназначено для
отображения пользовательских данных.
При разработке части отображения чрезвычайно удобно использовать
шаблонизаторы, которые позволяют значительно сократить количество HTML
кода, создавать вложенные страницы (порой и с их наследованием и вторичным
применением), а в некоторых случаях и полностью от него отказаться. Процесс
функционирования большинства шаблонизаторов представлен на Рисунке 2:
Рисунок 2 – Схема функционирования шаблонизатора
Файл шаблона чаще всего представляет собой обыкновенный HTML
файл, содержащий специальным образом указанные переменные:
<html>
<head>
<title>${app_title}</title>
</head>
</html>
Файл данных содержит в себе данные привязанные к именам переменных,
причем это не обязательно должен быть файл, так как может быть, например,
43
результатом выполнения той или иной функции (метода) в серверной части
приложения.
#app_title = Platform
В результате работы шаблонизатора генерируется результирующий HTML
файл:
<html>
<head>
<title>Platform</title>
</head>
</html>
На данный момент существует огромное количество различных
шаблонизаторов для различных языков программирования и технологий.
Безопасность систем управления содержимым в первую очередь
подразумевает наличие 2-х или более групп пользователей с различными
правами доступа как к содержимому, так и к настройкам системы. Самые
простые системы используют только два типа учетных записей -
администраторов и пользователей, а более сложные поддерживают создание
расширенных групп и ролей пользователей, что позволяет тонко и гибко
настраивать их права доступа.
2.2. Примеры реализаций информационных систем управления сайтами
На данный момент времени на рынке представлено значительное
количество систем управления сайтами, причем существуют как платные и
бесплатные системы, так и системы как с закрытыми, так и открытыми
исходными кодами. По данным сайта cmsmagazine.ru [35] пятерка самых
популярных систем управления содержимым на данный момент выглядит
следующим образом:
На первом месте со значительным перевесом (более чем в 2 раза по
количеству работ) находится система управления содержимым «1С-Битрикс:
Управление сайтом» производства компании 1С, написанная на языке
программирования PHP. 1С Битрикс является универсальным программным
44
продуктом для создания, редактирования и поддержки корпоративных сайтов,
информационных порталов, интернет-магазинов, сайтов сообществ,
социальных сетей и других. Важнейшей особенностью 1С Битрикс является
возможность обмена данными в реальном времени с системой автоматизации
деятельности на предприятии «1С: Предприятие 8», что позволяет значительно
повысить эффективность работы интернет-магазинов, так как менеджеру
интернет-магазина доступна информация о наличии товаров, ценах, заказах,
статусах, платежах и складских остатках товаров напрямую из 1С Предприятия.
Данный функционал позволяет сэкономить значительное количество времени
на переносе необходимых данных между различными учетными системами.
Так же в системе реализована возможность автоматизации работы с
различными службами доставки, и существует поддержка API служб доставки,
что позволяет после оформления клиентом заказа в автоматическом режиме
отправлять запросы на доставку товаров в логистические компании, и
отслеживать статусы отправления и доставки на странице заказа.
Система управления сайтами 1С Битрикс является модульной, и
количество доступных модулей в устанавливаемой системе зависит от
редакции продукта. Также множество модулей представлено в магазине
модулей [34]. Как пример можно привести модули, реализующие программы
лояльности, защиту от спама, начисления бонусов, отправки сообщений,
поддержку тем оформления. Также существует возможность расширения
функционала проектов самостоятельно, с использованием Bitrix Framework.
Для хранения данных сайтов системой могут использоваться как файловые
системы серверов, так и реляционные СУБД, такие, как MySQL, Oracle,
Microsoft SQL Server и NoSQL. Данная система может работать на
операционных системах Microsoft Windows и Unixподобных операционных
системах, включая Linux и MacOS.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)