Системы дистанционного обучения

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

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

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

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

Размещено на http://allbest.ru

Содержание

  • Введение
  • 1. Применение системы дистанционного обучения
  • 2. Облачные вычисления
  • 2.1 Основные свойства
  • 3. Типы и модели развертывания облачных операционных сред
  • 3.1 Модели развертывания облачных операционных сред
  • 3.2 Обзор eyeOS
  • 4. Моделирование элементов сетевой инфраструктуры облачных систем
  • 4.1 Создание IP-сетей c помощью виртуальных машин1
  • 4.2 Реализация сети на базе виртуальных машин
  • 5.Установка и запуск приложений для облачной ОС eyeOS
  • 5.1 Запуск eyeOS с помощью VMVirtualBox
  • 5.2 Разработка приложений
  • 5.3 Установка и запуск приложений для облачной ОС eyeOS49
  • 5.4 Создание и установка программы myText
  • 5.5 Установка и запуск программы редактор тестов
  • 6. Архитектура системы дистанционного обучения
  • 7. Программное обеспечение Denwer
  • 7.1 Возможности denwer
  • 7.2 Установка архива
  • 8. Реляционная система управления базами данных MySQL
  • 8.1.Структура таблиц
  • 8.2 Разработка базы данных
  • 9. Компоненты, используемые для создания СДО
  • 9.1 Библиотека jQuery
  • 9.2 Система AJAX
  • 10.Результат работы облачного хранилища73
  • 10.1 Структура системы
  • 10.2 Развертывание системы информационной поддержки образовательного процесса
  • 10.2.1 Проводное подключение к локальной сети
  • 10.2.2 Подключение к Denwer
  • 11. Тестирование основных функций «нагрузочной способности»
  • 12. Анализ потенциальных угроз
  • 12.1 Взлом СДО2
  • 13. Экономическое обоснование разработки и реализации системы
  • 13.1 Смета затрат на выполнение работы
  • 13.2 Затраты на использование ЭВМ
  • 13.3 Оценка экономической эффективности проекта
  • 14. Обеспечение охраны труда при разработке и реализации системы
  • 14.1 Характеристика параметров опасных и вредных производственных факторов
  • 14.1.1 Характеристика параметров микроклиматана рабочем месте
  • 14.1.2 Характеристика параметров акустической безопасности на рабочем месте
  • 14.1.3 Характеристика параметров психофизиологических и эргономических факторов на рабочем месте
  • 14.1.4 Характеристика параметров электромагнитной безопасности на рабочем месте
  • 14.1.5 Характеристика параметров пожаровзрывобезопасности на рабочем месте
  • 14.1.6 Характеристика параметров электробезопасности на рабочем месте
  • 14.1.7 Характеристика параметров освещения рабочего места
  • 14.2 Обеспечение экологической безопасности при разработке алгоритма распознавания изображений с использованием вейвлет-преобразований

Введение

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

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

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

1. Применение системы дистанционного обучения

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

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

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

Для защиты от пользовательских ошибок, ведущих к потере данных, необходимо регулярно создавать и поддерживать в актуальном состоянии резервные копии виртуальныхмашин. Всегда должно быть в наличии две резервные копии, одна (актуальная) - длявосстановления ВМ после сбоя, другая - для устранения ошибочных изменений в данных ВМ, вызванных пользователем. Предлагается использовать образовательные ресурсы различных вузов для распределенной дополнительной подготовки на основе ДОТ из одного ведущего вуза (обеспечивающего наилучшее качество освоения материалов какого-либо направления) при обязательном участии преподавателей вуза где студенты проходят основной курс

Рис. 1 Возможности СДО

Рис. 2. Схема взаимодействия вузов

В реальности существуют разные университеты, ставящие перед собой различные задачи подготовки кадров. Например, это может быть подготовка политической или финансовой элиты, массовый выпуск технических специалистов. Или речь может идти о выпускниках, обладающих, в том числе специфической моторикой: музыканты, художники, хирурги. В зависимости от общих целей образования должно определяться место, задачи и вид применяемых информационных технологий. Очевидно, что концепция киберуниверситета не может быть универсальной, хотя может включать некоторые инвариантные принципы. Что касается набравших популярность так называемых MassiveOpenOnlineCourse (MOOC) - массовые открытые курсы в Интернет, эта форма приветствуется как новый инструмент распространения знаний, однако привязка к университетской культуре с завершением курсов выдачей полноценного университетского диплома сопряжена с рядом проблем. Так, наиболее известные открытые курсы Массачусетского технологического института завершает порядка 5% от начавших обучение

MaristCollege - это частный колледж, основанный в 1929 году и являющийся одним из ведущих вузов на Северо-Востоке США. В настоящее время в колледже насчитывается более 6 тысяч студентов, обучающихся по 77 направлениях подготовки. MaristCollege ведет активную международную образовательную деятельность во Флоренции, участвует в разработке курсов для программы Академическая инициатива IBM, предоставляет удаленный доступ к мэйнфрейму преподавателям более чем из 30 стран мира. Помимо предоставления традиционных учебных программ, колледж предлагает онлайн бакалаврские и магистерские программы для студентов в других странах, а также организует обучение для большого числа американских корпораций

сеть облачный виртуальный информационный

2. Облачные вычисления

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

2.1 Основные свойства

Самообслуживание по требованию (On-demand self-service). У потребителя есть возможность получить доступ к предоставляемым вычислительным ресурсам в одностороннем порядке по мере потребности, автоматически, без необходимости взаимодействия с сотрудниками каждого поставщика услуг.

Широкий сетевой доступ (Broad network access). Предоставляемые вычислительные ресурсы доступны по сети через стандартные механизмы для различных платформ, тонких и толстых клиентов (мобильных телефонов, планшетов, ноутбуков, рабочих станций и т. п.).

Объединение ресурсов в пулы (Resorce pooling). Вычислительные ресурсы провайдера объединяются в пулы для обслуживания многих потребителей по многоарендной (multi-tenant) модели. Пулы включают в себя различные физические и виртуальные ресурсы, которые могут быть динамически назначены и переназначены в соответствии с потребительскими запросами. Нет необходимости в том, чтобы потребитель знал точное местоположение ресурсов, однако можно указать их местонахождение на более высоком уровне абстракции (например, страна, регион или центр обработки данных). Примерами такого рода ресурсов могут быть системы хранения, вычислительные мощности, память, пропускная способность сети.

Мгновенная эластичность (Rapid elasticity). Ресурсы могут быть эластично выделены и освобождены, в некоторых случаях автоматически, для быстрого масштабирования соразмерно со спросом. Для потребителя возможности предоставления ресурсов видятся как неограниченные, то есть они могут быть присвоены в любом количестве и в любое время.

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

Достоинства:

· Доступ к приложениям и данным с любого компьютера;

· Невысокие системные требования;

· Только лицензионное ПО.

Недостатки:

· Необходимость непременного подключения к Интернету;

· Отсутствие у пользователя контроля над собственными данными;

· Полная зависимость от поставщика облачных сервисов.

3. Типы облаков и модели развертывания облачных операционных сред

Тип1: Облако Google

Тип2: Облако Microsoft

Тип3: Другие облака(например, IBM и Apple -- Amazon, Facebook, Adobe и другие)

Тип4: Облака сервис-провайдеров -- операторы связи, веб-хостеры, ISV, SaaS

Модели облачных служб:

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

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

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

3.1 Модели развертывания облачных операционных сред

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

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

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

Смешанное (гибридное) облако - совместное использование двух вышеперечисленных моделей развёртывания

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

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

3.2 Обзор eyeOS

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

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

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

eyeFiles - интуитивно понятный файловый менеджер, который можно использовать для перемещения, копирования, переименования и удаления файлов. Также можно создавать каталоги, загружать и выгружать файлы в интернет и, естественно, перемещаться по виртуальной файловой системе eyeOS.

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

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

eyeContacs - адресная книга, в которой можно хранить контакты и даже импортировать электронные визитные карточки vCard.

eyeBoard представляет собой, как нетрудно догадаться, доску с сообщениями, на которой могут оставлять сообщения разные пользователи. При этом все сообщения будут видны всем пользователям.

eyeFTP - FTP-клиент, подключающийся к FTP-серверам прямо из eyeOS. Можно, как и обычно, перемещаться по каталогам, загружать и выгружать файлы, создавать каталоги, переименовывать, перемещать и удалять файлы.

eyeMail является почтовым клиентом, поддерживающим несколько учетных записей и позволяющим как отправлять, так и принимать e-mail. На данный момент это все, что предлагается.

eyeNav, говоря по-простому, это браузер внутри браузера. Можно использовать его для путешествий в интернете. Обратите внимание, что eyeNav использует трафик сервера, на котором запущена eyeOS.

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

eyeRSS - просмотрщик лент новостей RSS/Atom, позволяющих получать последние новости с ваших любимых сайтов.

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

eyeNotes - простейший текстовый редактор для написания текстовых документов.

eyeChess - довольно приятная шахматная игра, с которой можно размять свой ум.

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

eyeTrash - это корзина, в которой хранятся недавно удаленные файлы. На данный момент реализованы функции очистки, восстановления и получение свойств файла, но для корзины это больше чем достаточно.

eyeGroups - здесь разные пользователи могут хранить свои файлы и таким образом вести совместную работу.

eyeApps - приложение eyeOS, в котором можно удалять и устанавливать другие приложения eyeOS.

eyeOptions (иначе System Preferences) предназначено для смены темы eyeOS, загрузки/установки фонового изображения и смены пароля.

eyeInfo предоставляет информацию о текущей версии eyeOS, а также сведения о разработчиках и участниках проекта

eyeOS использует HTML, PHP, AJAX и JavaScript для обеспечения доступа к личной учётной записи. Главное отличие от других реализаций рабочего стола состоит в том, что в eyeOS нет необходимости в установке программного обеспечения на компьютер. Рабочий стол, используемые приложения и вся необходимая информация доступны, при условии доступа в Интернет, из любого браузера с поддержкой AJAX и (для некоторых приложений) Adobe Flash.

4. Моделирование элементов сетевой инфраструктуры облачных систем

4.1 Создание IP-сетей с помощью виртуальных машин

Реализацию и настройку IP-сетей будем осуществлять с помощью системы виртуальных машин VMware.

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

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

Существует три основных режима подключения виртуальной машины к сети: Bridgedmode, NAT и HostOnly.

Сетевые возможности VMware.Bridgedmode дает виртуальной машине непосредственный доступ к внешнему интерфейсу хост-машины, на котором виртуальная машина самостоятельно устанавливает или получает через DHCP собственные сетевые параметры - такие как IP-адрес, маршрутизатор по умолчанию и тому подобные. Этот вариант подключения нужно использовать для тех случаев, когда на VM вы устанавливаете серверы, которые должны иметь определенные сетевые адреса.

Рис. 3 Сетевые возможности VMware

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

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

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

Третий режим HostOnly создает в хост-машине в дополнение к имеющимся сетевым интерфейсам еще одну сетевую карточку (видимую в системе и без запуска VM), к которой подключается наша ВМ, образуя с хост-машиной маленькую подсеть.

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

Рис 4 Полунатурное моделирование сетевой инфраструктуры облачной системы

4.2 Реализация сети на базе виртуальных машин

Создаем виртуальные машины. Для реализации данной схемы необходимо создать три независимые виртуальные машины, поэтому сразу сделаем три копии прилагаемого файла виртуального диска (part1.vmdk) и дадим им осмысленные имена (например, host1.vmdk, host2.vmdk, host3.vmdk).

Сетевые настройки в ОС Linux можно выполнять как с помощью команд, так и с помощью различных конфигурационных файлов, содержимое которых анализируется затем скриптами загрузки системы, выполняющими команды в соответствии с указанными параметрами. Все изменения в файлах настроек OC Linux в ходе выполнения работы рекомендуется производить с помощью файлового менеджера Midnight Commander, похожего на известный Norton Commander. Для запуска Midnight Commander нужно набрать в командной строке Linux'а имя mc.

Для установки имени хоста (Host2) следует отредактировать файл /etc/sysconfig/network, параметр hostname. Присвоение IP-адресов интерфейсам осуществляется путем редактирования файлов, находящихся в папке /etc/sysconfig/network-scripts. Эти файлы имеют имена, соответствующие именам сетевых интерфейсов. Например, для eth0 укажем в файле ifcfg-eth0:

Network = 10.10.10.16

Netmask = 255.255.255.0

Broadcast = 10.10.10.255

IP = 10.10.10.12

Аналогичные настройки следует выполнить и для других интерфейсов.

Чтобы изменения настроек вступили в силу, необходимо перезагрузить машину. Для этого выходим из mc и в командной строке набираем reboot.

Проверку правильности настроек после перезагрузки можно выполнить с помощью команды ifconfig.

Проверку связи между соседними машинами можно выполнить использую команду ping. Остановка выполнения команды ping производится по нажатию комбинации <Ctrl + C>.

Для настройки маршрутизации используется команда route. Формат команды следующий: route <add или delete или get> <-net или -host> <сеть или хост> netmask маска gw шлюз

Выбираем виртуальные коммутаторы, через которые будут соединены сетевые интерфейсы (виртуальные сетевые адаптеры) виртуальных машин Host1, Host2 ,Host3, Host4 и Host5. .

Для соединения Host1 и Host2 будем использовать виртуальный коммутатор VMnet2, для Host2 и Host3 - VMnet3. для Host2 и Host5 - VMnet3, для Host2 и Host4 - VMnet3 Не рекомендуется использовать коммутаторы VMnet0 и VMnet8, т.к. они предназначены для специальных целей. Определяем адреса сетевых адаптеров. Для соединения машин Host1 и Host2 будем использовать их сетевые адаптеры, подключенные к коммутатору VMnet2. Аналогично, для соединения машин Host2 и Host3 будем использовать их сетевые адаптеры, подключенные к коммутатору VMnet3 и т.д.

5. Установка и запуск приложений для облачной ОС eyeOS

5.1 Запуск eyeOS с помощью VMVirtualBox

VirtualBox (OracleVMVirtualBox) -- программный продукт виртуализации для операционных систем MicrosoftWindows, Linux,FreeBSD, MacOSX, Solaris/OpenSolaris, ReactOS, DOS и других.

· Кроссплатформенность

· Модульность

· Поддержка USB 2.0, когда устройства хост-машины становятся доступными для гостевых операционных систем (только в проприетарной версии)

· Поддержка 64-битных гостевых систем (начиная с версии 2.0), даже на 32-битных хост-системах (начиная с версии 2.1, для этого обязательна поддержка технологии виртуализации процессором)

· Поддержка SMP на стороне гостевой системы (начиная с версии 3.0, для этого обязательна поддержка технологии виртуализации процессором)

· Встроенный RDP-сервер, а также поддержка клиентских USB-устройств поверх протокола RDP (только в проприетарной версии)

· Экспериментальная поддержка аппаратного 3D-ускорения (OpenGL, DirectX 8/9 (с использованием кода wine) (только в 32-битных Windows XP, Vista, 7 и 8), для гостевых DOS / Windows 3.x / 95 / 98 / ME поддержка аппаратного 3D-ускорения не предусмотрена

· Поддержка образов жёстких дисков VMDK (VMware) и VHD (MicrosoftVirtual PC), включая snapshots (начиная с версии 2.1[

· Поддержка iSCSI (только в проприетарной версии)

· Поддержка виртуализации аудиоустройств (эмуляция AC97 или SoundBlaster 16 или Intel HD Audio на выбор)

· Поддержка различных видов сетевого взаимодействия (NAT, HostNetworkingviaBridged, Internal)

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

· Поддержка SharedFolders для простого обмена файлами между хостовой и гостевой системами (для гостевых систем Windows 2000 и новее, Linux и Solaris)

· Поддержка интеграции рабочих столов (seamlessmode) хостовой и гостевой операционной системой

· Поддержка формата OVF/OVA

· Есть возможность выбора языка интерфейса (поддерживается и русскоязычный интерфейс

Запускаем виртуальную машину.

Логин: root

Пароль : root

C помощью команды ifconfig определяем IP адрес. Заходим в свойства FreeBSD и в вкладке сеть выбираем тип подключения виртуальный адаптер хоста.

Далее запускаем виртуальную машину,в командной строке вводим имя:root, пароль: root, затем нужно подключить web-сервер, для этого вводим /usr/local/sbin/apachectl start.

Чтобы корректно завершить работу web-сервера нужно ввести /usr/local/sbin/apachectlstop. Запускаем браузер и в командной строке вводим http://192.168.56.101/eyeOS/

5.2 Разработка приложений

Требования окружающей среды:

SubversionClient: нужно скачать код eyeOS.

Apache2Server: единственный сервер, который поддерживается официально.

PHP 5: версия с eyeOS 1.2.

PHPEditor: любой подходящий текстовый редактор.

Официальный клиент Subversion: http://subversion.tigris.org

IDE Eclipse PDT.

Unixподобные ОС: OpenBSD, FreeBSD, GNU/Linux и др.

MozillaFirefox 2.X.

расширение Firebug.

расширениеANEC (Add n edit cookies).

Загрузка кода:

EyeOS код находится на сервере Subversion (система управления версиями), и организована следующим образом:

rtunk: содержит код стабильный и безопасный, и это главная eyeOS рабочей ветви.

branches:

unstable:cодержат приложения, которые не соответствуют стандарту качества eyeOS.

tags: содержаткод для каждой версии.

На SVN-сервере можно найти на http://svn.eyeos.org

Структура приложения:

Дерево каталогов и файлов приложения:

eyeOS/apps/_ каталог, содержащий PHP-код каждого приложения;

eyeOS/apps/application/_ приложение основной каталог;

eyeOS/apps/application/apps.eyecode/_инициализация и заканчивание кода приложения;

eyeOS/apps/application/events.eyecode_кодприемасобытий;

eyeOS/extern/apps/application- основной каталог для внешних ресурсов приложения.

5.3 Установка и запуск приложений для облачной ОС eyeOS

Приложения для eyeOS устанавливаются в подкаталог apps.

Пример пути к данному подкаталогу:

/usr/local//www/apache22/data/eyeOS/eyeOSeebe3bc4ed/apps

Дополнительные модули, в частности, написанные на JavaScript и предназначенные для выполнения в браузере на стороне клиента, располагаются в подкаталоге extern/apps.

Пример пути:

/usr/local//www/apache22/data/eyeOS/eyeOSeebe3bc4ed/extern/apps

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

/usr/local//www/apache22/data/eyeOS/eyeOSeebe3bc4ed/apps/share

/usr/local//www/apache22/data/eyeOS/eyeOSeebe3bc4ed/extern/apps/eyeX

Всё определяется составом установочного пакета конкретного приложения (файл с расширением .eyepackage).

Если требуется вручную установить некоторое приложение, например, HelloWorld, то необходимо скопировать в подкаталог apps подкаталог HelloWorld, который содержит следующие файлы установочного пакета:

app.eyecode (на языке PHP)

events.eyecode (на языке PHP)

info.xml (информация о приложении)

Простейшее приложение HelloWorld не нуждается в дополнительных модулях, поэтому в каталог extern/apps и другие дополнительные подкаталоги ничего копировать не нужно. Для более сложных приложений, например, eyeCalc, входящего в установочный комплект eyeOS, подкаталог extern/appsсодержит соответствующий подкаталог eyeCalc, в котором находятся следующие файлы:

eyeCalc.eyecode(на языке PHP)

eyeCalc.js(на языке JavaScript)

eyeCalc.min.js(на языке JavaScript без разделения на строки - для ускорения выполнения в браузере?)

Похоже, что все вычисления в приложении eyeCalc выполняются в браузере клиента, а не на стороне сервера, что вполне логично.

Таким образом, приложение eyeCalc можно рассматривать как типичный пример разделения вычислительной нагрузки между клиентом и сервером.

При этом сервер поддерживает выполнение процесса eyeCalc в контексте eyeOS и формирует окно приложения, а клиент выполняет арифметические операции и вычисляет математические функции, поддерживаемые в калькуляторе.

Прежде чем приводить пример файлов приложения HelloWorld, обратим внимание на правила именования подкаталога пакета и функций программPHP. Имя подкаталога, содержащего файлы приложения (в данном случае HelloWorld), и префиксов функций, описанных в файлах *.eyecode (например, HelloWorld_run), должны совпадать. В противном случае приложение не будет работать.

Также обратим внимание на тот факт, что в случае запуска сервера apache на *nix-сервере все текстовые файлы пакета имеют формат, принятый для текстовых файлов в ОС UNIX, т.е. строки завершаются управляющим символом <LF> (перевод строки), в то время как в ОС Windows принят другой формат текстовых файлов, в которых строки завершаются парой символов <CR> (возврат каретки) и <LF>.

Это может вызвать проблему совместимости при редактировании таких файлов текстовым редактором под Windows. Возможны, по крайней мере, следующие три способа запуска приложений под eyeOS:

1. Выбор пункта LaunchApp в выпадающем меню, которое появляется при нажатии круглой кнопки в “панели задач”, располагающейся в самом низу экрана справа.

В качестве имени приложения указываем, например, HelloWorld. Этот способ похож на запуск программ в Windows - “Пуск/Выполнить…”.

2. Меню в верхней частиэкрана: “Accessories/Process Manager” - вкладка“Processes”, кнопка“New process”.

3. Создание ярлыка на рабочем столе: щелчок правой кнопкой мыши и выбор пункта “Newlauncher” в выпадающем меню. Здесь также можно выбрать значок для ярлыка.

Ниже приводится текст файлов приложения HelloWorld, которые находятся в подкаталоге

/usr/local//www/apache22/data/eyeOS/eyeOSeebe3bc4ed/apps/HelloWorld

Префиксы имен, которые должны совпадать с именем подкаталога приложения (HelloWorld) выделены цветным маркером.

5.4 Создание и установка программы myText

Приложение eyeQuizEditor позволяет создавать тесты с любым количеством вопросов и выбором правильного варианта ответа. Минус аналога в том, что он должен сохранять готовый тест в xml файл, но либо из ха ошибки в коде, или из за ошибки совместимости сохранения не происходит. Поэтому создадим приложение MyText. Программа myText позволяет сохранить текст в текстовый файл в нужный каталог

5.5 Установка и запуск редактора тестов

Заходим в свойства FreeBSD и в вкладке сеть выбираем тип подключения виртуальный адаптер хоста. Далее запускаем виртуальную машину,в командной строке вводим имя:root, пароль: root, затем нужно подключить web-сервер, для этого вводим /usr/local/sbin/apachectl start. Вводим в строку /usr/local/sbin/apachetl start для запуска apache. Чтобы перенести папку с тестом в рабочий каталог eyeOS нужно создать FTP соединение. В строку «Сервер или URL» вводим 192.168.43.146

Новая папка находится /var/ftp/incoming. Копируем папку в рабочий каталог eyeOS /usr/local//www/apache22/data/eyeOS/eyeOSeebe3bc4ed/apps Запускаем редактор тестов. Вводим информацию о тесте.

6. Архитектура системы дистанционного обучения

Системные требования СДО:

Процессор - 1 логический;

Оперативная память - не менее 4х Гб;

Дисковая память - не менее 500 Гб на виртуальную машину;

Примерная потребность МИИТа в экземплярах СДО - 10 штук. Системные требования ПО управления виртуализированным кластером:

Процессор - 2 физических ядра; 7 z/Universities

Оперативная память - не менее 4х Гб;

Дисковая память - не менее 10 Гб. Таким образом, объем общего пула ресурсов составит:

Процессоры - 10 логических (5 физических ядер позволят СДО работать в нормальном режиме);

Оперативная память - 84 Гб;

Дисковая память - 10 Тб. Данный пул ресурсов может быть реализован с помощью двух серверов х86, однако для обеспечения надежности и большей гибкости системы следует добавить еще один (Рис. 2). На основании выбранного количества серверов делаем вывод, что даже при наличии в каждом из них 4х сетевых интерфейсов, для их взаимосвязи хватит одного 24х портового коммутатора.

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

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

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

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

7. Программное обеспечение Denwer

7.1 Возможности denwer

Денвер - набор дистрибутивов и программная оболочка, предназначенные для создания и отладки сайтов (веб-приложений, прочего динамического содержимого интернет-страниц) на локальном ПК (без необходимости подключения к сети Интернет) под управлением ОС Windows.

Сразу после установки доступен полностью работающий веб-сервер Apache, работающий на локальном компьютере, на котором может работать неограниченное количество сайтов, что очень эффективно для разработки и отладки сценариев PHP без загрузки его файлов на удаленный сервер. Для запуска практически всех утилит «Денвера» используется приложение Run в подкаталоге /denwer (или /etc) корневого каталога установки «Денвера». При запуске создается виртуальный диск (по умолчанию Z:), где хранятся все файлы проектов.

Третья версия поддерживает работу со съемного флеш-накопителя. Особенностью, отличающей Denwer от других WAMP-дистрибутивов, является автоматическая правка системного файла hosts, являющегося локальным аналогом DNS-сервера, что позволяет обращаться к локальным сайтам, работающим под управлением Денвера, по именам, совпадающим с именем папки, расположенной в каталоге home Денвера.

Базовый пакет

· Веб-сервер Apache с поддержкой SSI, SSL, mod_rewrite, mod_php.

· Интерпретатор PHP с поддержкой GD, MySQL, SQLite.

· СУБД MySQL с поддержкой транзакций (mysqld-max).

· Система управления виртуальными хостами, основанная на шаблонах.

· Система управления запуском и завершением.

· Панель phpMyAdmin для администрирования СУБД.

· Ядро интерпретатора Perl без стандартных библиотек (поставляются отдельно).

· Эмулятор sendmail и сервера SMTP с поддержкой работы совместно с PHP, Perl, Parser и др.

· Установщик.

7.2 Установка архива

1. Щелкните по скачанному архиву Денвера. Запустится инсталлятор.

2. После завершения установки щелкните по ярлыку Denwer на Рабочем столе.

3. Откройте в браузере страницу http://localhost (хранится в папке home/localhost/www).

Работа сразу с несколькими проектами: откройте виртуальный хост http://test1.ru.

Чтобы выяснить какие порты занимает сервер Денвер запустите из командной строки (вызывается как cmd через Пуск->Выполнить) команду «netstat -ab». После запуска она выдаст Вам список сетевых соединений с указанием программ и портов которые они занимают:

Имя Локальный адрес Внешний адрес Состояние

...

TCP 127.0.0.1:25 navaho:0 LISTENING

[miniperl.exe]

TCP 127.0.0.1:80 navaho:0 LISTENING

[httpd.exe]

TCP 127.0.0.1:443 navaho:0 LISTENING

[httpd.exe]

TCP 127.0.0.1:3306 navaho:0 LISTENING

[mysqld.exe]

TCP 127.0.0.2:443 navaho:0 LISTENING

[httpd.exe]

TCP 127.0.0.2:8648 navaho:0 LISTENING

[httpd.exe]

Как видно из листинга:

порты 80,443 для IP127.0.0.1 и 443,8648 для IP 127.0.0.2 используются сервером Apache;

порт 3306 используется MySQL сервером;

порт 25 используется программой miniperl.exe, которая является заглушкой почтового сервера SMTP

8. Реляционная система управления базами данных MySQL

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

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

Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

Плюсы пакета MySQL.

· Многопоточность. Поддержка нескольких одновременных запросов.

· Оптимизация связей с присоединением многих данных за один проход.

· Записи фиксированной и переменной длины.

· ODBC драйвер в комплекте с исходником

· Гибкая система привилегий и паролей.

· До 16 ключей в таблице. Каждый ключ может иметь до 15 полей.

· Поддержка ключевых полей и специальных полей в операторе CREATE.

· Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени.

· Интерфейс с языками C и perl.

· Основанная на потоках, быстрая система памяти.

· Утилита проверки и ремонта таблицы

· Все данные хранятся в формате ISO8859_1.

· Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках.

· Псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице.

· Все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей.

· Легкость управления таблицей, включая добавление и удаление ключей и полей.

Интерфейс с языками программирования. Наиболее простой способ работы с MySQL сводится к использованию программы MySQL. Это клиентская часть СУБД MySQL.

Можно выполнять команды SQL непосредственно из командной строки системы unix или из интерактивного режима MySQL. Подробнее о клиентских программах.

СУБД MySQL имеет библиотеку C API. Ее можно использовать для запросов к базе данных, вставки данных, создания таблиц и т.п. C API поддерживает все функции MySQL. Подробности в главе "Интерфейс для С (C API)".

Язык perl поддерживается сразу двумя способами:

· Портирован интерфейс с perl из mini-SQL, разработанный Андреасом Коенигом (AndreasKoenig a.koenig@mind.de ).

· Есть модуль perl DBD

Также доступен 32-битный ODBC драйвер для MySQL. Он позволяет запрашивать и получать данные из других источников с поддержкой ODBC.

8.1 Структура таблиц

Из постановки задачи выделены следующие типы сущностей:

1. Файлы

2. Пользователи

Разработаем две таблицы :files ( с атрибутами ID файла, ID пользователя, ID папки, Имя файла в личном кабинете, Имя, под которым файл хранится на сервере, Размер файла, Дата изменения.),

Users (IDпользователя, E-mailпользователя, Пароль от личного кабинета, Фамилия пользователя, Имя пользователя)

Таблица 6.1 - Атрибуты и их ограничения

Тип сущности

Атрибут

Описание

Тип

данных

Знач. по умол.

Доп.

NULL

Произ./

множ

Файлы

(Files)

FileID

ID файла

int

-

нет

-

UserID

ID пользователя

int

-

нет

-

OwnerID

ID папки

int

-

да

-

IsFolder

Если 1-папка, 0-файл

tinyint

-

нет

-

Name

Имя файла в личном кабинете

varchar

-

нет

-

Filename

Имя, под которым файл хранится на сервере (сотоитиз ID пользователя , 10 случайных знаков и расширения)

varchar

-

да

-

Filesize

Размер файла

int

-

нет

-

Changed

Дата изменения

date

-

нет

-

Users

ID

ID пользователя

int

-

Email

E-mail пользователя

varchar

-

Password

Пароль от личного кабинета

varchar

-

нет

-

Surname

Фамилия пользователя

varchar

-

нет

-

Name

Имя пользователя

varchar

-

нет

-

8.2 Разработка базы данных

Базы данных в MySQL:

Заходим на стартовую страницу MySQL(вводим localhost/ToolsphpMyAdmin/)

Рис 6.2 Главная страница MySQL

Рис.6.3 Структура базы «files»

Рис.6.4 Структура базы «users»

В вкладке «Обзор» мы видим все файлы и папки, хранящиеся на сервере

Рис 6.5 Файлы и папки, хранящиеся в облачном хранилище аккаунта yulya

9. Компоненты, используемые для создания СДО

9.1 Библиотека jQuery

jQuery -- библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу DOM (не зависящий от платформы и языка программный интерфейс, позволяющий программам и скриптам получить доступ к содержимому HTML, XHTML и XML-документов, а также изменять содержимое, структуру и оформление таких документов.), обращаться к атрибутам и содержимому элементов DOM, манипулировать ими. Также библиотека jQuery предоставляет удобный API для работы с AJAX.

jQuery позволяет создавать анимацию, обработчики событий, значительно облегчает выбор элементов в DOM и создание AJAX запросов.

Возможности.

· Движок кроссбраузерных CSS-селекторов Sizzle, выделившийся в отдельный проект;

· Переход по дереву DOM, включая поддержку XPath как плагина;

· События;

· Визуальные эффекты;

· AJAX-дополнения;

· JavaScript-плагины.

Использование

jQuery, как правило, включается в веб-страницу как один внешний JavaScript-файл:

<head>

<scriptsrc="jquery-2.1.1.min.js">

</script>

</head>

Вся работа с jQuery ведётся с помощью функции $. Если на сайте применяются другие JavaScript библиотеки, где $ может использоваться для своих нужд, то можно использовать её синоним -- jQuery

Получение jQuery-объекта с помощью функции $(). Например, передав в неё CSS-селектор, можно получить jQuery-объект всех элементов HTML, попадающих под критерий и далее работать с ними с помощью различных методов jQuery-объекта. В случае, если метод не должен возвращать какого-либо значения, он возвращает ссылку на jQuery объект, что позволяет вести цепочку вызовов методов согласно концепции текучего интерфейса.[1]

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

Например:

$("div.test").add("p.quote").addClass("blue").slideDown("slow");

находит все элементы div с классом test, а также все элементы p с классом quote, и затем добавляет им всем класс blue и визуально плавно спускает вниз. Здесь методы add, addClass и slideDown возвращают ссылку на исходный объект $("div.test"), поэтому возможно вести такую цепочку. Методы, начинающиеся с $., удобно применять для обработки глобальных объектов

9.2 Система AJAX

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

Сравнение стандартного подхода и AJAX

В классической модели веб-приложения:

· Пользователь заходит на веб-страницу и нажимает на какой-нибудь её элемент.

· Браузер формирует и отправляет запрос серверу.

· В ответ сервер генерирует совершенно новую веб-страницу и отправляет её браузеру и т. д. После чего браузер полностью перегружает всю страницу.

При использовании AJAX:

· Пользователь заходит на веб-страницу и нажимает на какой-нибудь её элемент.

· Скрипт (на языке JavaScript) определяет, какая информация необходима для обновления страницы.

· Браузер отправляет соответствующий запрос на сервер.

· Сервер возвращает только ту часть документа, на которую пришел запрос.

· Скрипт вносит изменения с учётом полученной информации (без полной перезагрузки страницы).

Преимущества:

- Экономия трафика .Использование AJAX позволяет значительно сократить трафик при работе с веб-приложением благодаря тому, что вместо загрузки всей страницы достаточно загрузить только изменившуюся часть, или вообще только получить/передать набор данных в формате JSON или XML, а затем изменить содержимое страницы с помощью JavaScript. Уменьшение нагрузки на сервер.При правильной реализации, AJAX позволяет снизить нагрузку на сервер в разы.

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

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

- Почти безграничные возможности для интерактивной обработки. апример, при вводе поискового запроса в Google выводится подсказка с возможными вариантами запроса. На многих сайтах при регистрации пользователь вводит имя, и сразу же видит, доступно это имя или нет. AJAX удобен для программирования чатов, административных панелей и других инструментов, которые выводят меняющиеся со временем данные.[2]

...

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

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