Скачать 99.61 Kb.
|
Рахманов Валерий Игоревич, кафедра «Информационные технологии» Исследование инструментальных средств и платформ для разработки облачных приложений для целей образования. Средства проектирования облачных приложенийПриложение, предназначенное для размещения в облаке, становится частью облачной структуры и должно разрабатываться с учетом дополнительных требований, предъявляемых со стороны облака. Как и любая программная система облачное приложение проходит следующие этапы жизненного цикла: разработка, тестирование, развертывание и сопровождение. На этапе проектирования, включающего в себя разработку технического задания, эскизного и технического проектов, необходимо отразить все те дополнительные требования, которые диктует «облако». В соответствии с (ГОСТ 34.602-89 Техническое задание на разработку автоматизированной системы) в разделы технического задания «Требования к системе» должны быть дополнительно включены следующие сведения и требования:
Эти требования должны быть учтены на стадии проектирования приложения (выбор типа базы данных, языка программирования, архитектуры приложения и др.), причем разработка приложения может происходить как в самом облаке, так и традиционными методами вне облака с последующим переносом в облако. Поскольку на начальных этапах проектирования необходимо построить совокупность моделей приложения, то в качестве средств моделирования могут быть использованы различные традиционные CASE средства, например, Rational Rose, Erwin и др. Средства разработки облачных приложенийВ качестве средств разработки программного кода и базы данных используются традиционные средства, включающие в себя, как правило, интегрированную среду разработки с набором языков, библиотек, API и других компонентов (например, Visual Studio.NET). При выборе вариантов набора инструментов разработчики облачных приложений должны учитывать возможности конкретного провайдера. Здесь имеется в виду предоставление сервиса в виде инфраструктуры PaaS, которая дает программистам средства разработки, необходимые для создания программ в этой специфической инфраструктуре. Обычно эти инструменты представляют собой наборы библиотек и API, которые дают доступ к вычислительным ресурсам и ресурсам хранения. Что касается языков программирования, то различные провайдеры и создатели интегрированных платформ предлагают различные варианты. Так, например, Google App Engine поддерживает Java и Python. Платформа Microsoft Azure позволяет работать с любым языком, который поддерживает технологию .NET с помощью соответствующих подключаемых модулей Visual Studio. На более высоком уровне платформы PaaS могут поддерживать технологии программирования, отличающиеся от общепринятых. Например, технология MapReduce, которая базируется на принципах функционального программирования. Она позволяет передавать данные лишь после того, как будут определены вычислительные узлы и установлено соответствие входных и обработанных значений. Лишь после этого объединяются результаты. Предполагается, что такое решение может оказаться более эффективным, чем традиционная обработка баз данных. На способ создания программ для облака могут повлиять и применяемые провайдерами PaaS модели данных. В настоящее время доминирующей моделью для программирования баз данных является модель «ключ-значение». Ее называют моделью NoSQL. Очевидно, необходимо наличие соответствующих инструментов разработки. В качестве основных представителей услуг в сфере облачных вычислений и обладателей соответствующих средств разработки приложений можно выделить следующих производителей. Amazon Elastic Compute Cloud (EC2).Amazon является одним из лидеров в сфере облачных вычислений. Ключевыми сервисами платформы являются Amazon EC2 (хостинг виртуальных машин на базе Xen) и S3 (хостинг данных). Помимо этих сервисов, AWS предоставляет: Amazon EBS – блочное хранилище данных для виртуальных машин ЕС2; Amazon CloutFront – CDN для распределенной доставки объектов S3; Amazon MapReduce – готовая к использованию инсталляция Hadoop; Amazon SimpleDB – распределенная нереляционная база данных; Amazon Simple Queue Service – очередь сообщений. Amazon EC2 основана на принципе предоставления ресурсов по требованию, что обеспечивает гибкий подход к реализации потребностей пользователей. Центральной идеей EC2 является представление «Все как услуга» и реализована в виде трех основных моделей облачных вычислений: SaaS, PaaS и IaaS. Google App Engine.Облачная инфраструктура Google App Engine занимает значительную долю на рынке облачных вычислений. Платформа App Engine гарантирует пользователю высокую надежность, доступность, масштабируемость и целостность. Также Google предоставляет широкий спектр средств разработки, обеспечивающих доступный подход к развертыванию приложений и обеспечения технического обслуживания. Инструменты обеспечивают масштабирование в объеме необходимом для одновременной работы постоянно увеличивающегося количества пользователей. Google разработал собственную распределенную систему хранения данных, названную Bigtable. Для достижения целей широкого применения, масштабируемости, высокой производительности и высокой доступности, Google разработал SQL-подобный язык запросов для Bigtable, названный GQL. Также Google предоставил не реляционное Bigtable API, отличный от SQL API. App Engine поддерживает две среды разработки: Java и Python, а также стандартные протоколы и инструменты для разработки web приложений. Приложения размещаются и выполняются в безопасной среде, с ограниченным доступом к операционной системе. Такой ограниченный доступ позволяет App Engine в соответствии со спросом на ресурсы обработки распределять запросы между несколькими физическими серверами, а также позволяет запускать и останавливать сервера. Microsoft Azure.Windows Azure это открытая платформа облачных вычислений, встроенная в операционную систему и предназначенная для «разработки, размещения и управления Azure Service Platform». Microsoft предоставляет ресурсы центров обработки данных для размещения web приложений, которые можно легко масштабировать. Windows Azure, как открытая платформа, поддерживает как собственные разработки Microsoft, так и другие коммерческие языки и среды разработки. Windows Azure в полной мере реализует две облачные модели - платформы как сервиса (PaaS) и инфраструктуры как сервиса (IaaS). Windows Azure предназначена для всех типов пользователей, от начинающих разработчиков приложений под web до групп разработчиков программного обеспечения для корпораций, при этом обеспечивая масштабируемость и гибкость. С использованием средств разработки .NET и Visual Studio разработчики могут создавать любые приложения: приложения для беспроводных устройств, web приложения и многое другое. Разработчикам доступны и другие языки программирования, такие как Ruby, PHP и Python, а также среды - Eclipse и NetBeans. Microsoft Azure опирается на нескольких базовых сервисах: Live, SQL, .NET, SharePoint и Dynamic CRM Services. Эти сервисы используются для обеспечения, разработки, управления, создания и мониторинга сервисов и коммуникаций между сервисами. Сервис Live обрабатывает пользовательские данные и ресурсы приложений, обеспечивает взаимодействие между разработчиками и web аудиторией. Сервис SQL расширяет Microsoft SQL Server с целью обеспечения облачных вычислений возможностями web и распределенных реляционных баз данных. При этом реализуется повышенная безопасность, доступность, масштабируемость и надежность. Microsoft SQL Data Services (SDS) - это облачная платформа реляционной базы данных, построенная с использованием технологий SQL Server. Сервис .NET ориентирован на разработчиков приложений для облачных вычислений. Он обеспечивает разработку, размещение, и масштабирование приложений. Microsoft постоянно работает над добавлением услуг внутри сервиса .NET. На данный момент доступны: Access Control, Service Bus и Workflow. Сервисы SharePoint и Dynamic CRM Services обеспечивают доступ пользователей к функционалу SharePoint и CRM для совместной работы и обмена информацией между различными исполнителями. Разработчики могут использовать возможности, предоставляемые облачными сервисами SharePoint и CRM для создания соответствующих приложений. Сервис Team Foundation Services на платформе Windows Azure предназначен для проведения тестирования, контроля версий, сборки и выполнения совместной работы над проектами по разработке программного обеспечения. Тем самым реализуется технологии ALM, используемая для внедрение полноценного процесса управления жизненным циклом приложения. Платформа Microsoft Azure имеет в своем составе как набор типовых инструментов разработки приложений (SDK), так и согласованные между собой другие компоненты, позволяющие говорить о мощной интегрированной платформе разработки, тестирования, развертывания и сопровождения облачных приложений. Force.comПлатформа Salesforce Force.com предназначена для быстрого создания SaaS-решений. Приложение должно быть написано практически с нуля для того, чтобы исполняться в рамках этой платформы. Разработка ведется на Oracle Apex в оригинальной среде Visualforce. С одной стороны, платформа использует широко распространенные технологии разработки, что является плюсом этой платформы и должно быть высоко оценено разработчиками, у которых есть опыт создания внутренних (in-house) приложений. С другой стороны – использование этой платформы очень сильно привязывает разработчиков к данному решению на уровне исходного кода и вынуждает применять только конкретные инструменты. И, хотя решение является идеальным для пользователей Salesforce.com, которые хотят расширить функционал базового облачного сервиса, прочие сценарии могут быть не столь удобны. Средства разработки облачных приложений для целей образованияКорпорация IBM анонсировала новые сервисы облачных вычислений, предназначенные для поставки передового программного обеспечения, ресурсов и сервисов вычислительных лабораторий для студентов и исследователей в школах, колледжах и университетах. IBM SmartCloud for Education представляет собой набор сервисов облачных вычислений и предложений, которые позволяют системе образования использовать возможности прогностической аналитики для получения в реальном времени важной информации, которая позволяет улучшить продуктивность студентов и учебного заведения в целом, повысить эффективность научных исследований и дополнить ограниченные образовательные ресурсы учебных лабораторий. Как Google, так и Microsoft во многих странах предоставляют образовательным учреждениям обширный программный пакет, к которому учащиеся получают доступ наряду с электронной почтой. Google Apps for Education и Microsoft Live@edu располагают средствами поддержки коммуникаций в виде программ мгновенного обмена сообщениями наряду с адресной книгой и планировщиком заданий. Предоставляются также приложения для создания документов, позволяющие работать с текстами, электронными таблицами и презентациями, а также создавать вебсайты. Эти документы могут редактироваться совместно с другими пользователями. Пользователи получают значительное пространство для хранения документов всех типов, которым они могут пользоваться и после окончания образовательного учреждения. Образовательные учреждения также начинают использовать низкоуровневые облачные услуги с целью хранения данных. Это может оказаться выгодным, если безопасность доступа к данным не является приоритетом, например, если видео- и аудиоматериалы предоставляются в качестве открытых образовательных ресурсов. Другой вариант использования облачных услуг, который начинает распространяться в сфере образования, это перемещение в «облако» используемых учреждениями систем управления обучением (LMS, Learning Management Systems). Передача поддержки таких систем как, например, Blackboard и Moodle, внешним провайдерам имеет смысл для образовательных учреждений, которые не могут позволить себе покупку и поддержку дорогостоящего оборудования и программного обеспечения. Как пример использования облачных технологий в образовании, можно назвать электронные дневники и журналы, личные кабинеты для учеников и преподавателей, интерактивная приемная, тематические форумы и многое другое.
Microsoft в рамках интегрированной платформы Windows Azure предлагает для образовательных учреждений платформу Windows Azure in education, которая позволяет реализовать все типовые задачи образования. Кроме того, использование этой платформы позволяет вузам готовить специалистов в сфере облачных вычислений, спрос на которых растет с каждым годом. Настоящим подарком для вузов стал выпуск пакета Office 365, реализующего широкий набор облачных услуг для нужд образования. Он предоставляет учащимся, преподавателям и другим сотрудникам образовательных учреждениям возможность бесплатно пользоваться электронной почтой, создавать веб-сайты, редактировать и хранить документы в Интернете, обмениваться мгновенными сообщениями и проводить веб-конференции. Офис позволяет школам модернизировать свою коммуникационную и производственную инфраструктуру по своему усмотрению. Тенденции в разработке средств создания облачных приложений.В качестве основных тенденций развития средств разработки облачных приложений можно выделить следующие: Применение средств, используемых для веб-разработки, такие как .NET и другие подобные инструменты (Visual Studio.Net). Адаптация имеющихся средств разработки приложений к особенностям разработки облачных сервисов. Введение стандартов на применяемые инструменты и средства разработки (например, HTML5) и создание на их основе средств разработки, инвариантных к платформам поставщиков облачных сервисов. Движение от базовых языков и сред разработки (например, Visual Studio.Net) к высокоуровневым платформам (Windows Azure). Объединение инструментов разработки с инструментами для тестирования и развертывания сервисов и создание на их основе интегрированных платформ (Windows Azure). Постепенный переход инструментов в облака. Появление, наряду со сложными, и простых инструментов, которые дадут возможность создавать типовые решения в облачной среде непрограммистам. Литература.
|
Целевая платформа Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его... | Разработка универсального теста производительности для облачных вычислений Как показывают исследования, их использование может дать преимущество при выполнении конкретного сценария клиента. Однако тесты производительности... | ||
Программа по формированию навыков безопасного поведения на дорогах... По определению, оос — это комплексы инструментальных программных средств, предназначенных для создания новых или модификации старых... | Положение о Всероссийской научно-практической конференции студентов... Нференции студентов и молодых ученых «Научные исследования студентов и молодых ученых для целей становления и развития инновационных... | ||
Использование технологии облачных вычислений для разработки и управления... Грибова В. В., Клещев А. С., Крылов Д. А., Москаленко Ф. М., Смагин С. В., Тимченко В. А., Тютюнник М. Б., Шалфеева Е. А | Методические рекомендации для обучающихся и педагогов «Внедрение... ... | ||
Основные направления внедрения средств информационных и коммуникационных... Зация образования – это процесс обеспечения сферы образования методологией и практикой разработки и оптимального использования современных... | Рабочая учебная программа дисциплины пс рупд рабочая Учебная программа дисциплины Целью дисциплины является приобретение базовых знаний и навыков программирования, проектирования и разработки приложений с применением... | ||
Конспект лекций по курсу «операционные системы» Москва 2007 Лекция... Существует три основных подхода к разработке ос и системного по с точки зрения инструментальных средств | Титова С. В Российской Федерации. Приводятся условия успешной интеграции мобильных приложений и платформ в процесс преподавания иностранных языков,... | ||
Титова С. В Российской Федерации. Приводятся условия успешной интеграции мобильных приложений и платформ в процесс преподавания иностранных языков,... | Проекта: Разработка Web-приложений Разработка web-приложений, бизнес процесс разработки web-приложения, cms drupal, создание сайта кафедры | ||
Нефтепродуктами с плавучих сооружений, морских ледостойких стационарных... Сдп. Все более широкий спектр судов оснащаются сдп: от пассажирских, транспортно-буксирных судов до плавучих буровых и нефтегазодобывающих... | Курсовая работа на тему: Примеры комплексов case- средств По (приложений) и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и... | ||
«…» на тему: «Исследование системы коллективных средств размещения... Целью работы является исследование системы коллективных средств размещения на территории города Волгограда и оценка перспектив ее... | Рефератов (ргр) по дисциплине «Разработка приложений в среде Oracle» Разработка Delphi-приложений для Oracle. Визуальные компоненты для работы с набором данных |