Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ермаков / 07. Глава 4 (-) (54).docx
Скачиваний:
57
Добавлен:
19.04.2015
Размер:
2.02 Mб
Скачать

Глава 4. Система управления содержимым «цифровая библиотека»: разработка

4.1. Система управления содержимым «Цифровая библиотека»

CMS(англ.Contentmanagementsystem,CMS«система управления содержимым»иликонте́нтом), здесь и далее простоСУС— информационная система или компьютерная программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления контентом (то есть содержимым). Главной целью такой системы является возможность собирать в единое целое и объединять на основе ролей и задач все разнотипные источники знаний и информации, доступные как внутри организации, так и за её пределами, а также возможность обеспечения взаимодействия сотрудников, рабочих групп и проектов с созданными ими базами знаний, информацией и данными так, чтобы их легко можно было найти, извлечь и повторно использовать привычным для пользователя образом. В системе управления содержимым могут быть определены самые различные данные: документы, фильмы, фотографии, номера телефонов, научные данные и так далее. Такая система часто используется для хранения, управления, пересмотра и публикации документации. Контроль версий является одним из основных её преимуществ, когда содержимое изменяется группой лиц.

Основным объектом дипломного проектирования, помимо составления учебного курса «Прикладное программное обеспечение САПР» является программный продукт ― СУС под названием «Цифровая библиотека», написанная на языках, ориентированных на разработку веб-страниц (веб-приложений): PreprocessorHypertext(PHP),HyperTextMarkupLanguage(HTML) иCascadingStyleSheets(CSS). Система управления содержимым представляет собой полноценную систему, реализующую удалённое управление базой данных, в том числе: страницами с обычным текстом (а такжеHTMLиPHP-кодом), директориями и файлами (в том числе изображениями). Управление данными осуществляется через веб-интерфейс (административную панель управления) доступный только пользователям с административными правами (уровень прав:«Администратор»).Отображение данных происходит через пользовательский веб-интерфейс доступный также обычным пользователям (уровень без прав: «Гость» и уровень с правами на чтение: «Пользователь»). Второй объект, представляет собой содержимое системы управления. Это содержимое составляет полноценный учебный курс «Прикладное программное обеспечение САПР» описывающий теоретические и практические основы работы с объектно-ориентированным языком программирования высокого уровня:VisualC# 2010, а также языкомVisualF# 2010и интегрированной средой разработкиMicrosoftVisualStudio 2010. Учебный курс состоит из страниц (материалы учебного курса, разделённые на разделы, подразделы и страницы), изображений к страницам и остальным файлов (ZIP-архивы,EXE-приложенияи прочее).

4.2. Сетевая модель «клиент-сервер»

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

Взаимодействие клиента и сервера, известное также под названием режим работы запрос-ответ(«request-replybehavior»), иллюстрирует следующий рисунок:

Рис. 4. 1. Обобщённое взаимодействие клиента и сервера

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

Преимущества модели«клиент-сервер»:

  • Надёжность и защищенность. Пользователь не имеет прямого доступа к информации на сервере, данные выдаются по запросу к серверу.

  • Контроль. Появляется возможность полного контроля над деятельностью пользователя, в отличие от локальной (изолированной) версии системы.

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

  • Конфиденциальность. Ещё одним плюсом данной модели является возможность запретить пользователям копировать и распространять систему без согласия правообладателей.

Недостаток модели«клиент-сервер»:

  • Отсутствует автономность. Нельзя работать с такой системой без наличия сервера в сети, где эта система будет установлена.

Прежде чем начинать реализацию модели«клиент-сервер», необходимо выбрать среду, в которой будет работать конечная система. Есть 2 варианта: либо создавать новую среду и регламентировать правила поведения в ней, либо взять уже существующую среду. В данном случае, понятие рабочей среды, идентично сетевым протоколам и технологиям, применяемым при работе с этими протоколами. Наиболее рациональным будет, в данной ситуации, выбрать уже существующий протокол HTTP(англ.HyperTextTransferProtocol―«протокол передачи гипертекста»)предназначенный для передачи информации (текста, графики и других разновидностей представления информации) в вычислительных сетях.

Преимущества Hyper Text Transfer Protocol:

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

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

  • Функциональность. Протокол HTTP имеет множество «надстроек» и «расширений», большинство из которых уже давно стали стандартом де-факто. Некоторые из них:

    • JavaScript, JScriptи прочие скриптовые языки. Позволяют выполнять программы-Скрипты на стороне клиента.

    • PHP, ASP, Perl, CGI. Позволяют выполнять программы-скрипты на стороне сервера.

    • HTTP-Cookie. Хранение информации на компьютере-клиенте.Ку́ки (слово не склоняется; от англ. cookie — «печенье») ―небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя (клиента), который веб-клиент (обычно веб-браузер) каждый раз пересылает веб-серверу в HTTP-запросе при попытке открыть страницу соответствующего сайта. Cookie являются одним из наиболее точных способов определения уникального пользователя.Каждый сайт может «пометить» браузер пользователя, то есть записать на жёсткий диск компьютера пользователя специальную текстовую строку. Она называется и «cookie». При повторном обращении сайт считывает «cookie» и «узнаёт» пользователя. В целом «cookie» применяется для сохранения данных на стороне пользователя, на практике обычно используется для:

      • аутентификации пользователя;

      • хранения персональных предпочтений и настроек пользователя;

      • отслеживания состояния сессии доступа пользователя;

      • ведения статистики о пользователях.

    • HTTP-Session. Хранение информации на компьютере-сервере.Когда пользователь делает запрос на сервер, сервер создаёт временную сессию для идентификации пользователя. Когда тот же пользователь переходит на другую страницу сайта, сервер теперь может его идентифицировать. Сессия ― это маленькое и временное уникальное соединение между сервером и пользователем и используется для идентификации пользователя среди других запросов или посещений на других страницах сайтов.

    • Потоковое мультимедиа (англ. streammedia). Передача потокового видео и звука.

    • AdobeFlash, Microsoft Silverlight иJava. RIA-приложения(англ. RichInternetApplication―«Насыщенное („богатое“) Интернет-приложение») — это приложение, доступное через Интернет, насыщенное функциональностью традиционных настольных приложений, которое предоставляется либо уникальной спецификой браузера, либо через плагин, либо путём «песочницы» (виртуальной машины).

    • HTML. Позволяет просто отобразить запрос (сайт) из HTTP-запроса.

Итак, для работы такой системы в сети (локальной или глобальной) необходимо выделить компьютер, исполняющий роль веб-сервера. На этом компьютере устанавливается специальное программное обеспечение―веб-сервер. Данное программное обеспечение работает следующим образом. При установке веб-сервера выбирается директория на жёстком диске, которая также становитьсякорневой директориейвеб-сервера. В ней создаются гипертекстовые документы. При запуске, веб-сервер открывает на своём компьютере 80-ый (по умолчанию, является стандартным) сетевой порт, что позволяет другим компьютерам обращаться к веб-серверу. Пользователи сети, запустив программу браузер (например, стандартныйInternetExplorerоперационной системы семействаWindows), могут, через неё, послать запрос веб-серверу, набрав, в строке адреса, его сетевой путь (напримерадрес официального сайта корпорацииMicrosoft:http://www.microsoft.com). Веб-сервер принимает запросы на выдачу страницы (гипертекстовый документ, отображаемый в браузере) ипередаёт программе браузеру, на удалённом компьютере, заказанную страницу. Если конкретной страницы не указано, веб-сервер начинает искать страницу по умолчанию, в соответствие с его настройками. Обычно это гипертекстовые документы с именамиindex.html,index.php,index.aspи.т.п.илиmain.html,main.php,main.aspи.т.п. (тогда, по запросуhttp://www.microsoft.comбудет выдана страницасо ссылкойhttp://www.microsoft.com/main.asp).

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

Для реализации модели «клиент-сервер», для разработки программного продукта дипломного проекта, в качестве веб-сервера, был выбраннаиболее известный и бесплатный программный продукт ApacheHTTPServer(веб-сервер назван именем племён североамериканских индейцев Апачи; кроме того, является сокращением от англ.apatchyserver— «свободныйвеб-сервер») с дополнительным модулем PHP, позволяющем обрабатывать файлы с расширением*.php.

Рис. 4. 2. Логотип веб-сервера Apache