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

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

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

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

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

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

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. ПОНЯТИЕ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ

1.1 Определение распределенной вычислительной системы

1.2 Классификация распределенных систем

1.3 Требования к распределенным системам

2. ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ

2.1 Определение облачных вычислений

2.2 Достоинства и недостатки облачных вычислений

2.3 Виды услуг, предоставляемые облачными системами

2.4 Классификация облачных сервисов

2.5 Наиболее распространенные облачные платформы

3. РЕАЛИЗАЦИЯ СИСТЕМЫ ТЕСТИРОВАНИЯ СТУДЕНТОВ

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ВВЕДЕНИЕ

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

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

1. ПОНЯТИЕ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ

1.1 Определение распределенной вычислительной системы

Формального определения распределенной вычислительной системы в настоящее время не существует. Из множества различных определений, можно выделить ироничное определение Лесли Лампорта: «Распределенной вычислительной системой можно назвать такую систему, в которой отказ компьютера, о существовании которого вы даже не подозревали, может сделать ваш собственный компьютер непригодным к использованию».

Это определение он дал в мае 1987 года, в своем письме коллегам по поводу очередного отключения электроэнергии в машинном зале. Эндрю Таненбаум, в своем фундаментальном труде «Распределённые системы. Принципы и парадигмы» [2] предложил следующее (чуть более строгое) определение: «Распределенная вычислительная система (РВС) - это набор соединенных каналами связи независимых компьютеров, которые с точки зрения пользователя некоторого программного обеспечения выглядят единым целым».

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

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

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

Как основу описания взаимодействия двух сущностей рассмотрим общую модель взаимодействия клиент-сервер, в которой одна из сторон (клиент) инициирует обмен данными, посылая запрос другой стороне (серверу). Сервер обрабатывает запрос и при необходимости посылает ответ клиенту (рис. 1.1).

Рис. 1.1 Модель взаимодействия клиент сервер

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

Рис. 1.2 Логические уровни приложения

Рассмотрим некое типичное приложение, которое в соответствии с современными представлениями может быть разделено на следующие логические уровни (рис. 1.2): пользовательский интерфейс (ИП), логика приложения (ЛП) и доступ к данным (ДД), работающий с базой данных (БД). Пользователь системы взаимодействует с ней через интерфейс пользователя, база данных хранит данные, описывающие предметную область приложения, а уровень логики приложения реализует все алгоритмы, относящиеся к предметной области.

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

Рис. 1.3 Двухзвенная архитектура

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

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

Рис. 1.4 Трехзвенная архитектура

1.2 Классификация распределенных систем

Выделяют следующие признаки классификации РВС по шкале «централизованный - децентрализованный»:

? методы обнаружения ресурсов;

? доступность ресурсов;

? методы взаимодействия ресурсов.

Существует множество различных технологий, обеспечивающих поиск и обнаружение ресурсов в РВС (например, такие службы обнаружения ресурсов как DNS, Jini Lookup, UDDI и др.). Примером централизованного метода обнаружения ресурсов может служить служба DNS (англ. Domain Name System - система доменных имен). Данная служба работает по принципам, чрезвычайно похожим на принцип работы телефонной книги. На основе указанного имени сайта (например, www.susu.ac.ru) DNS возвращает его IP-адрес (например, 85.143.41.59). Таким образом, сервер DNS представляет собой большую базу данных ресурсов, расположенных в РВС. Существует ограниченное количество серверов, которые предоставляют службу DNS. Обычно пользователь указывает ограниченное количество (1 или 2) таких серверов для работы. И если указанные сервера отключаются, то процесс обнаружения ресурсов останавливается, если вручную не указать альтернативные сервера.

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

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

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

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

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

1.3 Требования к распределенным системам

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

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

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

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

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

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

Эффективность. В узком смысле применительно к распределенным системам под эффективностью будет пониматься минимизация накладных расходов, связанных с распределенным характером системы. Поскольку эффективность в данном узком смысле может противоречить безопасности, открытости и надежности системы, следует отметить, что требование эффективности в данном контексте является наименее приоритетным. Например, на поддержку логической целостности данных в распределенной системе могут тратиться значительные ресурсы времени и памяти, однако система с недостоверными данными вряд ли нужна пользователям. Желательным свойством промежуточной среды является возможность организации эффективного обмена данными, если взаимодействующие программные компоненты находятся на одном компьютере. Эффективная промежуточная среда должна иметь возможность организации их взаимодействия без затрагивания стека TCP/IP. Для этого могут использоваться системные сокеты ( unix sockets ) в POSIX системах или именованные каналы ( named pipes ).

2. ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ

2.1 Определение облачных вычислений

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

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

«Облачные вычисления - это не только приложения, поставляемые в качестве услуг через Интернет, но и аппаратные средства и программные системы в центрах обработки данных, которые обеспечивают предоставление этих услуг. Услуги сами по себе уже давно называют «предоставление программного обеспечения как услуги» (Software-as-a-Service или SaaS). Облаком называется аппаратное и программное обеспечение центра обработки данных.

Общественное облако предоставляет ресурсы облака широкому кругу пользователей по принципу «оплата по мере использования» (pay-as-you-go - принцип предоставления услуг, при котором пользователь оплачивает только те ресурсы, которые были по факту затрачены на решение поставленной задачи). Частное облако -это внутренние центры обработки данных, в коммерческой или иной организации, которые не доступны широкому кругу пользователей.

Таким образом, облачные вычисления являются суммой SaaS и «коммунальных вычислений» (Utility Computing - модель вычислительных систем, в которой предоставление данных и процессорных мощностей организовано по принципам коммунальных услуг). Люди могут быть пользователями или провайдерами SaaS, либо пользователями или поставщиками коммунальных вычислений».

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

Ян Фостер определяет облачные вычисления как «парадигму крупномасштабных распределенных вычислений, основанную на эффекте масштаба, в рамках которой пул абстрактных, виртуализованных, динамически масштабируемых вычислительных ресурсов, ресурсов хранения, платформ и сервисов предоставляется по запросу внешним пользователям через Интернет».

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

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

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

2.2 Достоинства и недостатки облачных вычислений

Достоинства облачных вычислений:

· доступность - облака доступны всем, из любой точки, где есть Интернет, с любого компьютера, где есть браузер. Это позволяет пользователям (предприятиям) экономить на закупке высокопроизводительных, дорогостоящих компьютеров.

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

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

· низкая стоимость - основные факторы снизившие стоимость использования облаков следующие:

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

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

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

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

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

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

· безопасность - «облачные» сервисы имеют достаточно высокую безопасность при должном ее обеспечении, однако при халатном отношении эффект может быть полностью противоположным.

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

Недостатки:

· постоянное соединение с сетью - для получения доступа к услугам «облака» необходимо постоянное соединение с сетью Интернет. Однако в наше время это не такой и большой недостаток особенно с приходом технологий сотовой связи 3G и 4G.

· программное обеспечение и его кастомизация - есть ограничения по ПО которое можно разворачивать на «облаках» и предоставлять его пользователю.

Пользователь ПО имеет ограничения в используемом ПО и иногда не имеет возможности настроить его под свои собственные цели.

· конфиденциальность - конфиденциальность данных хранимых на публичных «облаках» в настоящее время вызывает много споров, но в большинстве случаев эксперты сходятся в том, что не рекомендуется хранить наиболее ценные для компании документы на публичном “облаке”, так как в настоящее время нет технологии которая бы гарантировала 100% конфиденциальность хранимых данных.

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

· безопасность - “облако” само по себе является достаточно надежной системой, однако при проникновении на него злоумышленник получает доступ к огромному хранилищу данных. Еще один минус - это использование систем виртуализации, в которых в качестве гипервизора используются ядра стандартные ОС такие, как Linux, Windows и др., что позволяет использовать вирусы.

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

2.3 Виды услуг, предоставляемые облачными системами

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

-- все как услуга (Everything as a Service)

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

-- инфраструктура как услуга (Infrastructure as a service)

Пользователю предоставляется компьютерная инфраструктура, обычно виртуальные платформы (компьютеры) связанные в сеть. Которые он самостоятельно настраивает под собственные цели.

-- платформа как услуга (Platform as a service)

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

-- программное обеспечение как услуга (Software as a service)

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

-- аппаратное обеспечение как услуга (Hardware as a Service)

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

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

-- рабочее место как услуга (Workplace as a Service)

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

-- данные как услуга (Data as a Service)

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

-- безопасность как сервис (Security as a Service)

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

2.4 Классификация облачных сервисов

В настоящее время выделяют три категории «облаков»:

1. Публичные;

2. Частные;

3. Гибридные.

Публичное облако -- это ИТ-инфраструктура используемое одновременно множеством компаний и сервисов. Пользователи данных облаков не имеют возможности управлять и обслуживать данное облако, вся ответственность по этим вопросам возложена на владельца данного облака. Абонентом предлагаемых сервисов может стать любая компания и индивидуальный пользователь. Они предлагают легкий и доступный по цене способ развертывания веб-сайтов или бизнес-систем, с большими возможностями масштабирования, которые в других решениях были бы недоступны. Примеры: онлайн сервисы Amazon EC2 и Simple Storage Service (S3), Google Apps/Docs, Salesforce.com, Microsoft Office Web.

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

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

2.5 Наиболее распространенные облачные платформы

Рассмотрим возможности и организацию наиболее распространенных на сегодняшний день платформ облачных вычислений: Amazon Web Services, Google App Engine и Microsoft Windows Azure (таблица 2).

Таблица 2. Сравнение платформ облачных вычислений

Amazon Web Services: Решение, предлагаемое компанией Amazon, стало стандартом «de facto» в области облачной инфраструктуры. Не смотря на то, что решение, предлагаемое компанией Amazon, не является уникальным, все остальные решения рассматриваются либо как дополнения к тому, что предлагает Amazon Web Services (AWS), либо как конкуренты (хотя может быть и не явные) данной платформы.

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

Google App Engine: Платформа Google App Engine является одним из наиболее известных облачных сервисов, ориентированных на предоставление платформы (PaaS) для облачных приложений.

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

Microsoft Windows Azure: Платформа Windows Azure это PaaS от корпорации Microsoft, позволяющая запускать приложения, разработанные на базе платформы Microsoft .NET на серверах компании Microsoft [3]. Обеспечивается автоматическое управление вычислительными ресурсами, балансировка нагрузки и репликация данных.

Доступ разработчика к платформе осуществляется посредством инструментария, интегрированного в последние версии Visual Studio (Windows Azure SDK, Windows Azure Tools for MVS). При этом поддерживается возможность локального тестирования приложений до их публикации на сервисе Azure.

3. РЕАЛИЗАЦИЯ СИСТЕМЫ ТЕСТИРОВАНИЯ СТУДЕНТОВ

Создание веб-приложения начинается с проектирования и создания базы данных. Проектирование базы данных для разрабатываемого приложения производилось в Mocrosoft SQL Server 2012. Схема спроектированной базы данных представлена на следующем рисунке:

Рис.3.1 Схема базы данных

Рис.3.2 Схема модели Entity Framework

Работа с базой данных в разработанном приложении производится через модель Entity Framework. Диаграмма классов модели Entity Framework представлен на следующем рисунке:

Чтобы настроить карту сайта для встроенного элемента управления SiteMapPath, необходимо создать файл Web.sitemap и определить структуру веб-сайта с помощью элементов <siteMap> и <siteMapNode>. Листинг кода файла Web.sitemap:

<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">

<siteMapNode url="~/Default.aspx" title="Главная" description="Главная страница сайта" >

<siteMapNode url="~/Cources.aspx" title="Курсы" description="Страница с курсами" >

<siteMapNode url="~/Questions.aspx" title="Вопросы" description="Страница с вопросами к курсу" />

</siteMapNode>

<siteMapNode url="~/Statistics.aspx" title="Статистика" description="Статистика" />

</siteMapNode>

</siteMap>

Специально для стандартизации компоновки веб-страниц была разработана мастер-страница Page.master. Главное отличие мастер-страницы от обычной веб-страницы заключается в том, что веб-формы начинаются с директивы Page, а мастер-страница - с директивы Master, определяющей ту же информацию. Листинг разметки мастер-страницы:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Page.master.cs" Inherits="TestingSystem.Page" %>

<%@ Register TagPrefix="mycontrol" TagName="UserInfo" Src="~/Controls/UserInfo.ascx" %>

<%@ Register TagPrefix="mycontrol" TagName="LoginInfo" Src="~/Controls/LoginInfo.ascx" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>Система тестирования студентов</title>

</head>

<body>

<form id="form1" runat="server">

<asp:LoginView ID="LoginView1" runat="server">

<AnonymousTemplate>

<div style="border-style: double; font-size: larger; color: #000099; background-color: #FFFF99; text-align: center;">

<b>СИСТЕМА ТЕСТИРОВАНИЯ <br />

СТУДЕНТОВ</b>

<br />

<asp:Image ID="Image1" runat="server" ImageUrl="~/pict.jpg" Width="250" BorderStyle="Double" BorderWidth="2px" BorderColor="#000099" />

<br />

Необходимо пройти авторизацию <br />

<asp:LoginStatus ID="LoginStatus1" runat="server" Font-Size="Large" ForeColor="Maroon" LoginText="Выполнить вход" />

</div>

</AnonymousTemplate>

<RoleGroups>

<asp:RoleGroup Roles="admin">

<ContentTemplate>

<mycontrol:LoginInfo ID="LoginInfo1" runat="server" />

<br />

<asp:SiteMapPath ID="SiteMapPath1" runat="server"></asp:SiteMapPath>

<br />

<mycontrol:UserInfo ID="UserInfo1" runat="server" />

<div>

<div style="border: 2px solid #FFDFAD; background-color: #990000; color: #FFFFFF; font-weight: bold; width: 250px">

ГЛАВНОЕ МЕНЮ

</div>

<asp:Menu ID="Menu2" runat="server" BackColor="#FFFBD6" DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="0.9em" ForeColor="#990000" StaticSubMenuIndent="10px" Width="250px">

<DynamicHoverStyle BackColor="#990000" ForeColor="White" />

<DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />

<DynamicMenuStyle BackColor="#FFFBD6" />

<DynamicSelectedStyle BackColor="#FFCC66" />

<Items>

<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Главная" />

<asp:MenuItem NavigateUrl="~/Security/CreateUser.aspx" Text="Зарегистрировать пользователя" />

</Items>

<StaticHoverStyle BackColor="#990000" ForeColor="White" />

<StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />

<StaticSelectedStyle BackColor="#FFCC66" />

</asp:Menu>

</div>

<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

</asp:ContentPlaceHolder>

</ContentTemplate>

</asp:RoleGroup>

<asp:RoleGroup Roles="student">

<ContentTemplate>

<mycontrol:LoginInfo ID="LoginInfo1" runat="server" />

<br />

<asp:SiteMapPath ID="SiteMapPath1" runat="server"></asp:SiteMapPath>

<br />

<mycontrol:UserInfo ID="UserInfo1" runat="server" />

<div>

<div style="border: 2px solid #FFDFAD; background-color: #990000; color: #FFFFFF; font-weight: bold; width: 250px">

ГЛАВНОЕ МЕНЮ

</div>

<asp:Menu ID="Menu2" runat="server" BackColor="#FFFBD6" DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="0.9em" ForeColor="#990000" StaticSubMenuIndent="10px" Width="250px">

<DynamicHoverStyle BackColor="#990000" ForeColor="White" />

<DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />

<DynamicMenuStyle BackColor="#FFFBD6" />

<DynamicSelectedStyle BackColor="#FFCC66" />

<Items>

<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Главная" />

<asp:MenuItem NavigateUrl="~/Cources.aspx" Text="Просмотреть курсы" />

</Items>

<StaticHoverStyle BackColor="#990000" ForeColor="White" />

<StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />

<StaticSelectedStyle BackColor="#FFCC66" />

</asp:Menu>

</div>

<asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server">

</asp:ContentPlaceHolder>

</ContentTemplate>

</asp:RoleGroup>

<asp:RoleGroup Roles="tutor">

<ContentTemplate>

<mycontrol:LoginInfo ID="LoginInfo1" runat="server" />

<br />

<asp:SiteMapPath ID="SiteMapPath1" runat="server"></asp:SiteMapPath>

<br />

<mycontrol:UserInfo ID="UserInfo1" runat="server" />

<div>

<div style="border: 2px solid #FFDFAD; background-color: #990000; color: #FFFFFF; font-weight: bold; width: 250px">

ГЛАВНОЕ МЕНЮ

</div>

<asp:Menu ID="Menu2" runat="server" BackColor="#FFFBD6" DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="0.9em" ForeColor="#990000" StaticSubMenuIndent="10px" Width="250px">

<DynamicHoverStyle BackColor="#990000" ForeColor="White" />

<DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px"/>

<DynamicMenuStyle BackColor="#FFFBD6" />

<DynamicSelectedStyle BackColor="#FFCC66" />

<Items>

<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Главная" />

<asp:MenuItem NavigateUrl="~/Statistics.aspx" Text="Просмотреть статистику" />

</Items>

<StaticHoverStyle BackColor="#990000" ForeColor="White" />

<StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />

<StaticSelectedStyle BackColor="#FFCC66" />

</asp:Menu>

</div>

<asp:ContentPlaceHolder ID="ContentPlaceHolder3" runat="server">

</asp:ContentPlaceHolder>

</ContentTemplate>

</asp:RoleGroup>

</RoleGroups>

</asp:LoginView>

<asp:ContentPlaceHolder ID="ContentPlaceHolder4" runat="server">

</asp:ContentPlaceHolder>

</form>

</body>

</html>

Для отделения некоторой бизнес-логики приложения были созданы пользовательские элементы управления LoginInfo.ascx и UserInfo.ascx.

LoginInfo.ascx - пользовательский элемент управления, содержащий информацию о пользователе, а также ссылки для изменения и восстановления пароля.

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LoginInfo.ascx.cs" Inherits="TestingSystem.LoginInfo" %>

<div>

<asp:LoginName ID="LoginName1" runat="server" Font-Size="Large" ForeColor="Maroon" />

<asp:LoginStatus ID="LoginStatus1" runat="server" Font-Size="Large" ForeColor="Maroon" />

<br />

<asp:HyperLink ID="HyperLinkChange" runat="server" NavigateUrl="~/Security/ChangePassword.aspx">Изменить пароль</asp:HyperLink>

<br />

<asp:HyperLink ID="HyperLinkPass" runat="server" NavigateUrl="~/Security/PasswordRecovery.aspx">Забыли пароль?</asp:HyperLink>

<br />

</div>

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

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UserInfo.ascx.cs" Inherits="TestingSystem.UserInfo" %>

<script runat="server">

protected override void OnLoad(EventArgs e)

{

if (!IsPostBack && Page.User.Identity.IsAuthenticated)

{

Name.Text = Profile.FirstName;

Surname.Text = Profile.LastName;

Univer.Text = Profile.University;

City.Text = Profile.City;

}

}

</script>

<br />

<div style="border: 2px solid #FFDFAD; background-color: #990000; color: #FFFFFF; font-weight: bold; width: 250px">

Информация о пользователе

</div>

<div style="border: 2px solid #FFDFAD; text-align: left; font-family: 'Courier New'; background-color: #FFFBD6; width: 250px">

<b>Имя:</b>

<asp:Label ID="Name" runat="server"/>

<br />

<b>Фамилия:</b>

<asp:Label ID="Surname" runat="server"/>

<br />

<b>Университет:</b>

<asp:Label ID="Univer" runat="server"/>

<br />

<b>Город:</b>

<asp:Label ID="City" runat="server"/>

<br />

</div>

<br />

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

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

Рис.3.3. Форма авторизации пользователя

Листинг разметки формы авторизации пользователя:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="TestingSystem.Login" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title></title>

</head>

<body>

<form id="form1" runat="server">

<div">

<asp:Login ID="Login1" runat="server" BackColor="#FFFBD6" BorderColor="#FFDFAD" BorderPadding="4" BorderStyle="Solid" BorderWidth="2px" Font-Names="Verdana" Font-Size="1em" ForeColor="#333333" TextLayout="TextOnTop">

<InstructionTextStyle Font-Italic="True" ForeColor="Black" />

<LoginButtonStyle BackColor="White" BorderColor="#CC9966" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#990000" />

<TextBoxStyle Font-Size="0.8em" />

<TitleTextStyle BackColor="#990000" Font-Bold="True" Font-Size="0.9em" ForeColor="White" />

</asp:Login>

</div>

</form>

</body>

</html>

Форма для смены пароля пользователя:

Рис.3.4. Форма смены пароля

Листинг разметки формы смены пароля пользователя:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ChangePassword.aspx.cs" Inherits="TestingSystem.ChangePassword" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title></title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:ChangePassword ID="ChangePassword1" runat="server" BackColor="#FFFBD6" BorderColor="#FFDFAD" BorderPadding="4" BorderStyle="Solid" BorderWidth="2px" ConfirmPasswordCompareErrorMessage="Пароли должны совпадать" Font-Names="Verdana" Font-Size="1em">

<CancelButtonStyle BackColor="White" BorderColor="#CC9966" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#990000" />

<ChangePasswordButtonStyle BackColor="White" BorderColor="#CC9966" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#990000" />

<ContinueButtonStyle BackColor="White" BorderColor="#CC9966" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#990000" />

<InstructionTextStyle Font-Italic="True" ForeColor="Black" />

<PasswordHintStyle Font-Italic="True" ForeColor="#888888" />

<TextBoxStyle Font-Size="0.8em" />

<TitleTextStyle BackColor="#990000" Font-Bold="True" Font-Size="0.9em" ForeColor="White" />

</asp:ChangePassword>

</div>

</form>

</body>

</html>

В разработанном приложении существует три роли: Администраторы, Преподаватели, Студенты.

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

Рис.3.5. Форма регистрации нового пользователя

Листинг разметки формы регистрации нового пользователя:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CreateUser.aspx.cs" Inherits="TestingSystem.CreateUser" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title></title>

</head>

<body>

<form id="form1" runat="server">

<script runat="server">

protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)

{

string name = ((TextBox)CreateUserWizard1.CreateUserStep. ContentTemplateContainer.FindControl("UserName")).Text;

if (RadioButtonList1.SelectedIndex == 0)

{

Roles.AddUserToRole(name, "student");

}

else

{

Roles.AddUserToRole(name, "tutor");

}

ProfileCommon profile = Profile.GetProfile(name);

profile.FirstName = FirstName.Text;

profile.LastName = LastName.Text;

profile.University = Universities.SelectedItem.Text;

profile.City = City.Text;

profile.Save();

}

</script>

<div >

<div style="border: 2px solid #FFDFAD; background-color: #990000; color: #FFFFFF; font-weight: bold; width: 350px">

<b>Создать пользователя</b>

</div>

<asp:CreateUserWizard ID="CreateUserWizard1" runat="server" BackColor="#FFFBD6" BorderColor="#FFDFAD" BorderStyle="Solid" BorderWidth="2px" Font-Names="Verdana" Font-Size="1em" OnCreatedUser="CreateUserWizard1_CreatedUser">

<ContinueButtonStyle BackColor="White" BorderColor="#CC9966" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" ForeColor="#990000" />

<CreateUserButtonStyle BackColor="White" BorderColor="#CC9966" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" ForeColor="#990000" />

<TitleTextStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />

<HeaderStyle BackColor="#FFCC66" BorderColor="#FFFBD6" BorderStyle="Solid" BorderWidth="2px" Font-Bold="True" Font-Size="0.9em" ForeColor="#333333" HorizontalAlign="Center" />

<NavigationButtonStyle BackColor="White" BorderColor="#CC9966" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" ForeColor="#990000" />

<SideBarButtonStyle ForeColor="White" />

<SideBarStyle BackColor="#990000" Font-Size="0.9em" VerticalAlign="Top" />

<WizardSteps>

<asp:WizardStep AllowReturn="true" ID="FirstStep" runat="server">

<b>Общая информация:</b>

<div style="text-align: right; font-family: 'Courier New'; width: 350px">

Имя:

<asp:TextBox ID="FirstName" runat="server" style="margin-left: 0px" Width="170px" /><br />

Фамилия:

<asp:TextBox ID="LastName" runat="server" Width="170px" /><br />

Университет:

<asp:DropDownList ID="Universities" runat="server" Width="170px" style="margin-left: 0px">

<asp:ListItem Value="ГрГУ"></asp:ListItem>

<asp:ListItem Value="ГрГАУ"></asp:ListItem>

<asp:ListItem Value="ГрГМУ"></asp:ListItem>

<asp:ListItem Value="БГУ"></asp:ListItem>

<asp:ListItem Value="БГУИР"></asp:ListItem>

<asp:ListItem Value="БНТУ"></asp:ListItem>

<asp:ListItem Value="БГПУ"></asp:ListItem>

<asp:ListItem Value="БрГУ"></asp:ListItem>

<asp:ListItem Value="БрГТУ"></asp:ListItem>

<asp:ListItem Value="ГГУ"></asp:ListItem>

<asp:ListItem Value="ВГУ"></asp:ListItem>

<asp:ListItem Value="Другой"></asp:ListItem>

</asp:DropDownList><br />

Город:

<asp:TextBox ID="City" runat="server" Width="170px" /><br />

</div>

<b>Роль:</b>

<div style="text-align: left; font-family: 'Courier New'; width: 350px">

<asp:RadioButtonList ID="RadioButtonList1" runat="server" Width="170px">

<asp:ListItem>

Студент

</asp:ListItem>

<asp:ListItem>

Преподаватель

</asp:ListItem>

</asp:RadioButtonList><br />

</div>

</asp:WizardStep>

<asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">

<ContentTemplate>

<div style="text-align: right; font-family: 'Courier New'; width: 350px">

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

<asp:TextBox ID="UserName" runat="server" /><br />

Пароль:

<asp:TextBox ID="Password" runat="server" TextMode="Password"/><br/>

Повторите пароль:

<asp:TextBox ID="ConfirmPassword" runat="server" TextMode="Password" /><br />

Email:

<asp:TextBox ID="Email" runat="server" /><br />

Секретный вопрос:

<asp:TextBox ID="Question" runat="server" /><br />

Ответ:

<asp:TextBox ID="Answer" runat="server" /><br />

<asp:Literal ID="ErrorMessage" runat="server" EnableViewState="False"/>

</div>

</ContentTemplate>

</asp:CreateUserWizardStep>

<asp:CompleteWizardStep runat="server"></asp:CompleteWizardStep>

</WizardSteps>

</asp:CreateUserWizard>

</div>

</form>

</body>

</html>

Форма для восстановления пароля:

Рис.3.6. Форма для восстановления пароля

Листинг разметки формы для восстановления пароля:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PasswordRecovery.aspx.cs" Inherits="TestingSystem.PasswordRecovery" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title></title>

</head>

<body>

<form id="form1" runat="server">

<div >

<asp:PasswordRecovery ID="PasswordRecovery1" runat="server" BackColor="#FFFBD6" BorderColor="#FFDFAD" BorderPadding="4" BorderStyle="Solid" BorderWidth="2px" Font-Names="Verdana" Font-Size="1em">

<SubmitButtonStyle BackColor="White" BorderColor="#CC9966" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#990000" />

<InstructionTextStyle Font-Italic="True" ForeColor="Black" />

<SuccessTextStyle Font-Bold="True" ForeColor="#990000" />

<TextBoxStyle Font-Size="0.8em" />

<TitleTextStyle BackColor="#990000" Font-Bold="True" Font-Size="0.9em" ForeColor="White" />

</asp:PasswordRecovery>

</div>

</form>

</body>

</html>

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

Рис.3.8 Список курсов

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

Рис.3.9. Список вопросов

Для пользователей с ролью Преподаватель существует возможность просмотра статистики по пройденным студентами курсами. Внешний вид формы представлен на рисунке:

Рис.3.10. Статистика по пользователю

ЗАКЛЮЧЕНИЕ

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

Распределенные системы классифицируются по следующим признакам: методы обнаружения ресурсов; доступность ресурсов; методы взаимодействия ресурсов.

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

World Wide Web - это распределенная информационная система мультимедиа, основанная на гипертексте.

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

В настоящее время выделяют три категории «облаков»: Публичные; Частные; Гибридные.

Наиболее распространенными облачными платформами являются Amazon Web Services, Google App Engine и Microsoft Windows Azure.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Миков А.И., Замятина Е.Б. Распределенные системы и алгоритмы. Интуит.ру, 2008. 370 с.

2. Таненбаум Э., Ван-Стеен М. Распределенные системы. Принципы и парадигмы. Спб.: Питер, 2003. 877 с.

3. Федоров А., Мартынов Д. Windows Azure. Облачная платформа Microsoft. Microsoft, 2010. 96 с.

4. Черняк Л. Web-сервисы, grid-сервисы и другие // Открытые системы. СУБД. №12. 2004. С. 20-27.

...

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

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

    дипломная работа [839,1 K], добавлен 17.09.2013

  • Технологии распределённой обработки данных, в которой компьютерные ресурсы и мощности предоставляются пользователю как Интернет-сервис. Виды облаков, достоинства и недостатки "облачных" вычислений. Компании, которые предоставляют "облачные" сервисы.

    контрольная работа [28,1 K], добавлен 10.03.2012

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

    курсовая работа [2,7 M], добавлен 10.05.2015

  • Анализ облачных сервисов для автоматизации бизнеса и обоснование преимуществ перехода на облачную обработку данных. Виды и модели облачных сервисов для бизнеса, принципы их работы и характеристики. Задачи автоматизации бизнеса на примере облачных решений.

    дипломная работа [2,3 M], добавлен 06.09.2017

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

    реферат [56,6 K], добавлен 18.03.2015

  • Варианты топологии одноранговой вычислительной сети, принцип работы распределенных пиринговых сетей. Использование в крупных сетях модели "клиент-сервер". Характеристика операционных систем с сетевыми функциями, многопроцессорная обработка информации.

    творческая работа [51,8 K], добавлен 26.12.2011

  • Основные понятия серверов. Модель клиент-сервер. Классификация стандартных серверов. Недостатки файл-серверной системы. Криптографические методы защиты информации. Серверы удаленного доступа. Методы и средства обеспечения безопасности информации.

    контрольная работа [36,3 K], добавлен 13.12.2010

  • История возникновения компьютерной науки. Продукты компании Apple. Основные категории, отличительные особенности, уровни облачных сервисов. Характеристика публичных и частных облаков. Преимущества и недостатки облачных вычислений, перспективы их развития.

    контрольная работа [1,6 M], добавлен 06.08.2013

  • Определение, свойства и характеристики распределенных систем баз данных. Основная задача систем управления ими. Архитектура распределения СУБД. Сравнение технологий файлового сервера и "клиент-сервера". Стратегия распределения данных по узлам сети ЭВМ.

    курсовая работа [601,3 K], добавлен 24.05.2015

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

    реферат [25,3 K], добавлен 16.06.2013

  • Концепция "вычислительного облака". История возникновения и характеристики облачных вычислений. Модели развёртывания и обслуживания. Облачные вычисления сегодня и в будущем. Онлайновый табличный сервис и текстовый редактор, музыкальные и видео сервисы.

    презентация [6,1 M], добавлен 18.12.2012

  • Предпосылки появления облачных технологий. Сущность понятия "облачное хранилище данных", главные преимущества и недостатки. Главное достоинство Google. SugarSync: понятие, синхронизация любых папок на диске. Сравнительный анализ общедоступных сервисов.

    курсовая работа [250,8 K], добавлен 31.03.2014

  • История возникновения облачных технологий. Суть и задачи облачных технологий, их классификация, достоинства и недостатки. Исследование применения облачных технологий на примере Google диск. Сравнение Google диск с аналогом компании Apple(iCloud).

    курсовая работа [573,1 K], добавлен 05.12.2016

  • Преимущества распределенных система обработки данных. Классификация интегрированных технологий. Модели реализации технологии "клиент-сервер". Мониторы обработки транзакций. Глобальные вычислительные и информационные сети. Виды доступа к глобальным сетям.

    презентация [2,1 M], добавлен 20.11.2013

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

    курсовая работа [79,1 K], добавлен 14.05.2014

  • Файлообменные и облачные сервисы. Типы организации файлообменных сетей. Сравнительная характеристика облачных и файлообменных сервисов. Загрузка и скачивание файла с DropBox. Шаринг файлов в DropBox. Загрузка, поиск и скачивание файла с DepositFiles.

    курсовая работа [2,6 M], добавлен 25.05.2015

  • Модели информационного процесса обработки данных. Классификация баз данных. Сеть архитектуры и технология клиент-сервер. Создание запросов к реляционным базам данных на SQL. Работа с электронными таблицами MS Excel: форматирование данных, вычисления.

    контрольная работа [17,8 K], добавлен 17.01.2010

  • Характеристика модели клиент-сервер как технологии взаимодействия в информационной сети. Разработка и описание алгоритмов работы приложений на платформе Win32 в среде Microsoft Visual Studio, использующих для межпроцессного взаимодействия сокеты.

    курсовая работа [544,6 K], добавлен 02.06.2014

  • Основные концепции разработки приложения в архитектуре MVVM. Проектирование базы данных, предназначенной для сбора информации о дорожно-транспортных происшествиях. Классификация и типы архитектуры "клиент–сервер", ее основные достоинства и недостатки.

    курсовая работа [4,1 M], добавлен 25.11.2015

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

    контрольная работа [736,9 K], добавлен 06.01.2013

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