Грибова В.В., Клeщeв A.C., Москалeнко Ф.М., TuM4eHrn В.А., Фeдорищeв Л.А., Шалфeeва Е.А.
УДК 004. 4'2+82+75+771
ОБЛАЧНАЯ ПЛАТФОРМА IACPAAS: ТЕКУЩЕЕ СОСТОЯНИЕ И ПЕРСПЕКТИВЫ РАЗВИТИЯ1 Грибова Валерия Викторовна
Д.т.н., зам. директора по научной работе, научный руководитель лаб. Интеллектуальных
систем, e-mail: gribova@i acp.dvo.ru Клещев Александр Сергеевич Д.ф.-м.н., профессор, г.н.с. лаб. Интеллектуальных систем, e-mail: kleschev@i acp.dvo.ru
Москаленко Филипп Михайлович К.т.н., н.с. лаб. Интеллектуальных систем, e-mail: [email protected]
Тимченко Вадим Андреевич К.т.н., н.с. лаб. Интеллектуальных систем, e-mail: [email protected] Федорищев Леонид Александрович К.т.н., н.с. лаб. Интеллектуальных систем, e-mail: [email protected]
Шалфеева Елена Арефьевна К.т.н., с.н.с. лаб. Интеллектуальных систем, e-mail: shalf@i acp .dvo.ru Федеральное государственное бюджетное учреждение науки Институт автоматики и процессов управления Дальневосточного отделения Российской академии наук, 690041, Владивосток, Россия, ул. Радио, д.5
Аннотация. В материале представлены основные характеристики и функциональные возможности облачной платформы IACPaaS. Платформа поддерживает модели облачных вычислений PaaS и SaaS, имеет средства поддержки разработки облачных сервисов по различным технологиям; облегчает разработку интеллектуальных сервисов, имеющих базы знаний в сетевом представлении; имеет развитые средства формирования сетевых баз знаний и баз данных по метаинформации этих баз.
Ключевые слова: облачные технологии, модели облачных сервисов PaaS, SaaS и DaaS, базы знаний, базы данных, интеллектуальный сервис, технология разработки сервисов, виртуальное рабочее место
Введение. В настоящее время облачные технологии получили широкое распространение, несмотря на определенную критику, связанную с безопасностью, сохранностью информации и устойчивостью доступа к ней. При этом одинаково востребованы все ключевые модели облачных технологий и сервисы, их реализующие - IaaS, PaaS, SaaS, DaaS.
Рынок предоставляемых облачных решений и услуг достаточно разнообразен и предлагает как отдельные компоненты и услуги, так и широкий спектр комплексных решений (реализующих несколько моделей), например, Microsoft Azure, Google App Engine, Heroku, Amazon Web Services (AWS) и др.
1 Работа выполнена при частичной финансовой поддержке РФФИ (проекты 16-07-00340 и 15-0703193) и ПФИ ДВО РАН «Дальний Восток» (проект 15-1-4-029).
Рассматривая решения, предлагающие средства разработки различных приложений (модель PaaS), можно выделить две следующие группы основных предложений, часто сочетающие в себе одновременно несколько решений [1,2, 6,8-11].
Средства разработки баз данных и баз знаний.
• Средства разработки баз данных. Большинство представленных на рынке облачных платформ поддерживают реляционное представление баз данных: AWS, cloud Foundry, Engine Yard, PHeroku, Microsoft Azure, Oracle и др. Некоторые платформы поддерживают другие типы представлений (сетевое - OSTIS, объектно-ориентированное - Protege).
• Средства разработки баз знаний (и онтологии). Подавляющее число таких средств, представленных на рынке, не являются облачными. Из облачных решений можно выделить редактор Protege, а также платформу OSTIS, основанную на идее модульного проектирования интеллектуальных систем из многократно используемых семантически совместимых компонентов [2].
Средства разработки приложений.
• Средства автоматизации разработки web-сайтов различного назначения и порталов. К ним относится огромное количество разнообразных CMS: Drupal, Typo3, Word Press, Jo, MediaWiki и мн. др., а также средства поддержки порталов. Среди последних можно выделить российские разработки: CLAVIRE [1] и систему управления интеллектуальными научными Интернет-ресурсами на основе онтологий и семантических сетей, разработанную в Новосибирске [6].
• Специализированные средства разработки приложений, ориентированные на решение различных задач. В настоящее время рынок предлагает огромное количество средств разработки, зависящих от задач - бизнес, аналитика, медицина и др. Среди российских решений следует выделить платформу CLAVIRE, сочетающую в себе не только модели IaaS и PaaS, но также и набор сервисов для задач разных типов, в том числе научных и ориентированных на обработку данных больших объемов.
• Универсальные средства разработки приложений: AWS, VMware Cloud Foundry, Engine Yard, Google App Engine, Heroku, IBM Bluemix, Microsoft Azure.
Таким образом, большинство представленных на рынке платформ имеет очень широкий спектр возможностей, поддерживает разработку приложений (в том числе с базами данных) на различных языках программирования, а также и инфраструктурные решения, чем иногда значительно затрудняют для пользователя выбор конкретного решения ("...leaving users in the agony of choice" [10]).
Предлагаемая вниманию платформа IACPaaS (Intelligent Applications, Control and Platform as a Service) так же, как и большинство представленных облачных платформ, поддерживает основные модели облачных вычислений PaaS и SaaS, но имеет и принципиальные отличия от всех предлагаемых решений. Основные из них: поддержка разработки облачных сервисов по различным технологиям, количество которых может быть расширено пользователями платформы; ориентация, прежде всего, на интеллектуальные сервисы (но не обязательно), имеющие специализированный компонент - базу знаний; сетевое представление баз знаний и баз данных и их формирование по метаинформации; поддержка разработки решателя задач как совокупности программных единиц, обменивающихся сообщениями.
Целью данной статьи является описание основных принципов и функциональных возможностей платформы IACPaaS.
1. Модель сервисов платформы IACPaaS. На рис. 1 представлена модель предоставляемых сервисов платформы 1АСРааБ (справа) и ее сравнение с традиционным подходом и основными облачными моделями предоставления сервисов.
Личный фонд - это совокупность единиц хранения, либо созданных пользователем платформы, либо содержащий ссылки на единицы хранения фонда платформы или их копии (по согласованию с владельцем единицы хранения).
Платформа обеспечивает безопасность и защиту от нелегитимного пользователя и некорректных действий.
Рис. 1. Различные модели предоставления сервисов
2. Данные. Данными на платформе 1ЛСРаа8 являются: базы знаний, базы данных, метаинформация (в качестве метаинформации может выступать онтология), а также декларативные компоненты программных ресурсов - решателей задач, агентов, шаблонов сообщений для коммуникации агентов.
Метаинформация - это единица хранения, которая описывает терминологию, структуру, а также набор ограничений и условий на формирование данных Фонда и единиц хранения других типов. Базы данных и базы знаний имеют общепринятый смысл, за исключением двухуровневого грамматического подхода к их формированию и представлению.
Решателем задач облачной платформы 1ЛСРааБ является компонент облачного сервиса, обрабатывающий доступное ему содержимое Фонда и инкапсулирующий бизнес-логику решения задачи. Решатель задач состоит из набора агентов - программных компонентов, взаимодействующих друг с другом посредством обмена сообщениями [3-5].
Все данные имеют сетевое представление - размеченный иерархический орграф с возможными петлями и циклами. Декларативные части агентов, шаблонов сообщений, решателей задач, содержат спецификации соответствующих программных ресурсов. При этом декларативное (сетевое) представление агента или шаблона сообщений дополняется процедурным представлением - исполняемым кодом продукций агента или методов обработки содержимого сообщения.
Формат хранения всех видов информационных ресурсов (данных) на платформе 1ЛСРааБ является единым, что обеспечивает универсальность их обработки: единый программный интерфейс для доступа к данным всех типов, а также единый редактор для формирования и сопровождения.
Основное отличие и особенность сетевого представления всех видов данных 1ЛСРааБ, за исключением метаинформации, определяется двухуровневым грамматическим подходом к формированию, который предполагает, что данные представляются на формальном языке в терминах абстрактного синтаксиса. В роли абстрактного синтаксиса выступает метаинформация: уникальная для баз данных, баз знаний, и «единая» для деклараций агентов и других программных ресурсов, стандартизирующая их описание в Фонде. Формирование всех единиц хранения по метаинформации осуществляется сверху-вниз, что интуитивно понятно и естественно для пользователей - разработчиков единиц хранения.
Метаинформация описывается в терминах метаязыка, подробно описанного в [6] с помощью унифицированного облачного редактора описания метаинформации. Остальные типы данных формируются по метаинформации с помощью редактора, интерфейс которого автоматически формируется по метаинформации. Редакторы метаинформации и информации являются инструментальными сервисами платформы.
Хранимые на платформе данные могут быть экспортированы во внешние форматы, набор которых является расширяемым
3. Приложения. Приложениями являются прикладные и инструментальные сервисы, а также средства создания новых технологий.
Платформа IACPaaS, как и большинство облачных платформ, имеет средства разработки всех компонентов информационных систем. Платформа имеет средства разработки инструментальных и прикладных сервисов по предлагаемым технологиям. Разработка (создание или модификация) компонентов сервисов осуществляется в
соответствии с работами (наборами полномочий, поддерживаемыми инструментами платформы).
Набор методов и средств для создания компонентов сервисов, заданный порядок выполнения этих работ, позволяющий построить сервис, зафиксированы в информационных ресурсах вида «работа» и «технология». Пользователи могут создавать новые технологии, описывая в новых информационных ресурсах «работа» и «технология» типы компонентов сервиса, работы по их созданию и порядок выполнения этих работ.
Особенностями платформы IACPaaS, которые отличают ее от остальных платформ, являются поддержка разработки интеллектуальных сервисов (в архитектуре которых имеется специализированный компонент - база знаний), а также разработка облачных сервисов по нескольким технологиям, базовой и специализированным. В настоящее время платформа поддерживает разработку сервисов по трем технологиям.
- базовой (универсальной) технологии разработки сервисов,
- технологии разработки сервисов с виртуальной реальностью,
- технологии разработки сервисов на основе расширяемого редактора.
Разработка сервисов по базовой технологии подробно изложена в работах [3-5]. В
общем случае создание сервиса по базовой технологии включает создание множества (возможно пустого) входных информационных ресурсов - баз данных и баз знаний, структуры (метаинформации) выходных информационных ресурсов (может не быть), а также решателя задач, как совокупности программных единиц (агентов), обменивающихся сообщениями. Если необходимые для сервиса компоненты имеются в Фонде платформы, то их необходимо интегрировать в новый создаваемый сервис.
Технологию разработки сервисов с виртуальной реальностью удобно использовать в случае, если сервис должен содержать графические 2D или3D сцены. Особенностью данной технологии является наличие интерпретатора графических сцен по декларативной модели, которая представляется информационным ресурсом.
Технологию разработки сервисов на основе расширяемого редактора удобно использовать в случае, если результатом работы сервиса является некоторый выходной информационный ресурс, формирование которого по метаинформации этого информационного ресурса осуществляется "сверху-вниз". Разработка решателя задач в этом случае представляет собой добавление к метаинформации выходного информационного ресурса, агентов, генерирующих либо фрагменты выходного информационного ресурса (результата работы сервиса), либо выполняющие другие, требуемые для работы сервиса преобразования.
Платформа поддерживает запуск и выполнение сервисов, в том числе, реализованных на сторонних вычислительных архитектурах. Модули сервиса могут быть реализованы на произвольных гетерогенных архитектурах, платформа допускает взаимодействие со сторонними модулями на основе HTTP-протокола.
Разработка агентов осуществляется на языке Java, платформа обеспечивает пользователя набором системных сервисов, облегчающих их создание. Пользовательский интерфейс (web-интерфейс) может быть создан несколькими способами. с использованием набора интерфейсных элементов, поддерживаемых специализированным интерфейсным агентом, а также средствами JavaScript и Flash.
4. Виртуальные рабочие места. Для зарегистрированных пользователей платформы предоставляются виртуальные рабочие места - личные кабинеты зарегистрированных пользователей. Личные кабинеты представляют набор инструментов управления личными данными и полномочиями конкретного пользователя.
К числу функциональных возможностей относятся: запуск сервисов, создание сервисов по предлагаемым технологиям, создание компонентов сервиса с помощью работ (инструментального сервиса или их набора), создание новых работ и технологий. Зарегистрированный пользователь также может создать копию единиц хранения Фонда платформы либо ссылки на них в личном кабинете (по согласованию с владельцем единицы хранения), передать созданные им единицы хранения в Фонд платформы, определив условия их использования - "свободный доступ" или "ограниченный доступ".
Зарегистрированные пользователи могут иметь дополнительные роли: распорядитель (управляющий) единицы хранения, администратор портала (раздела). Помимо перечисленных зарегистрированных пользователей платформа имеет администратора платформы, который отвечает за Фонд платформы в целом, назначает администраторов порталов, удаляет зарегистрированных пользователей, если они нарушают политику платформы.
Заключение. В работе описаны основные характеристики и функциональные возможности облачной платформы IACPaaS. В настоящее время ведутся активные работы по расширению ее функциональных возможностей и сервисных функций. Так, коллектив авторов ведет работы по поддержке на платформе коллективной разработки облачных сервисов и их компонентов, автоматизации технологических этапов разработки сервисов по различным технологиям. Важными задачами являются поддержка нескольких типов интерфейсов, усовершенствование методов и средств обеспечения ее безопасности и защиты от нелегитимного пользователя и некорректных действий, создание новых усовершенствованных методов и операций над информационными ресурсами.
СПИСОК ЛИТЕРАТУРЫ
1. Бухановский А.В., Васильев В.Н., Виноградов В.Н., Смирнов Д.Ю., Сухоруков С.А., Яппаров Т.Г. СЬАУГОЕ: перспективная технология облачных вычислений второго поколения // Известия высших учебных заведений. Приборостроение. 2011. Т. 54. № 10. С. 7-14.
2. Голенков В.В., Гулякина Н.И. Открытый проект, направленный на создание технологии компонентного проектирования интеллектуальных систем / III междунар. Научно-техн. конф. «Открытые семантические технологии проектирования интеллектуальных систем» (08Т18-2013): материалы. Минск: БГУИР, 2013. С. 55-77.
3. Грибова В.В., Клещев А.С., Крылов Д.А., Москаленко Ф.М., Тимченко В.А., Шалфеева Е.А. Базовая технология разработки интеллектуальных сервисов на облачной платформе IACPaaS. Часть 1. Разработка базы знаний и решателя задач // Программная инженерия. 2015. № 12. С. 3-11.
4. Грибова В.В., Клещев А.С., Крылов Д.А., Москаленко Ф.М., Тимченко В.А., Шалфеева Е.А. Базовая технология разработки интеллектуальных сервисов на облачной платформе IACPaaS. Часть 2. Разработка агентов и шаблонов сообщений // Программная инженерия. 2016. №1. С. 14-20. Б01; 10.17587/рпп.7.14-20.
5. Грибова В.В., Клещев А.С., Крылов Д.А., Москаленко Ф.М., Тимченко В.А., Федорищев Л.Р., Шалфеева Е.А. Базовая технология разработки интеллектуальных сервисов на облачной платформе IACPaaS. Часть 3. Разработка интерфейса и пример создания прикладных сервисов // Программная инженерия. 2016. Т. 7. № 3. С. 99-107. DOI: 10.17587/prin.7.99-107.
6. Загорулько Ю.А., Загорулько Г.Б., Боровикова О.И. Технология создания тематических интеллектуальных научных интернет-ресурсов, базирующаяся на онтологии // Программная инженерия, 2016, № 2. -С. 51-60.
7. Gribova V.V., Kleshchev A. S., Moskalenko F. M., Timchenko V.A. A Model for Generation of Directed Graphs of Information by the Directed Graph of Metainformation for a Two_Level Model of Information Units with a Complex Structure // Automatic Documentation and Mathematical Linguistics. 2015. Vol. 49, No. 6. С. 221-231.
8. CloudServiceMarket.info. A comprehensive overview of Cloud Computing services. Режим доступа: http://www.cloudservicemarket.info/default.aspx (дата обращения 14.03.2016).
9. Le Sun, H. Dong, F.Khadeer Hussain, O. Khadeer Hussain, E. Chang. Cloud service selection: State-of-the-art and future research directions // Journal of Network and Computer Applications. 2014. Vol. 45. Pp. 134-150.
10. Nepal S., Zhang M., R. Ranjan, A. Haller, Georgakopoulos D. An Ontology-based System for Cloud Infrastructure Services' Discovery // Proc. 8th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing. 2012. Режим доступа: http://arxiv.org/ftp/arxiv/papers/1212/1212.0156.pdf (дата обращения 13.03.2016).
11. Qi Zhang, Lu Cheng, R. Boutaba. Cloud computing: state-of-the-art and research challenges // J. Internet Serv App. 2010. №1. Рр. 7-18. DOI: 10.1007/s13174-010-0007-6.
Облачная платформа IACPAAS: текущее состояние и перспективы развития UDK 004.82+4'2+75+771
IACPAAS CLOUD PLATFORM: CURRENT STATE AND EVOLUTION TRENDS
Valeriya V. Gribova
Dr.Sc. (Tech.), senior scientific employee, Research Deputy Director e-mail: [email protected] Alexander S. Kleschev Dr.Sc. (Phys.-Math.), chief scientific employee of the Intelligent System Laboratory
e-mail: [email protected], Philip M. Moskalenko PhD (Tech.), scientific employee of the Intelligent System Laboratory e-mail: [email protected] Vadim A. Timchenko PhD (Tech.), scientific employee of the Intelligent System Laboratory
e-mail: [email protected] Leonid A. Fedorischev PhD (Tech.), scientific employee of the Intelligent System Laboratory e-mail: [email protected] Elena A. Shalfeeva PhD (Tech.), senior scientific employee of the Intelligent System Laboratory
e-mail: [email protected] The Institute of Automation and Control Processes, 5, Radio St., Vladivostok, 690041, Russia
Annotation. The paper contains the main characteristics and functionality of the IACPaaS cloud platform. The platform supports PaaS and SaaS models of cloud computing. There are the tools for support of cloud services development by means of various technologies; the tools for network knowledge bases and databases formation of in terms of their metainformation. The platform facilitates development of the intellectual services having knowledge bases in network representation. Keywords: cloud computing, PaaS, SaaS and DaaS, knowledge base, database, Intelligent service, technology of service development, virtual desktop
References
1. Buhanovskij A.V., Vasil'ev V.N., Vinogradov V.N., Smirnov D.Ju., Suhorukov S.A., Japparov T.G. CLAVIRE: perspektivnaja tehnologija oblachnyh vychislenij vtorogo pokolenija [CLAVIRE: perspective technology of cloud computing of the second generation] / Izvestija vysshih uchebnyh zavedenij. Priborostroenie = News of higher educational institutions. Instrument making. 2011. №. 10. Pp. 7-14 (in Russian).
2. Golenkov V.V., Guljakina N.I. Otkrytyj proekt, napravlennyj na sozdanie tehnolo-gii komponentnogo proektirovanija intellektual'nyh sistem [The open project directed to creation of component design technology of intellectual systems] / III mezhdunar. nauchno-tehn. konf. «Otkrytye semanticheskie tehnologii proektirovanija intellektual'nyh sistem» (OSTIS-2013):
materialy = Proc. of III Int. sci.-techn. conf. "Open semantic technologies of intellectual system design" (OSTIS-2013). Minsk: BSUIR, 2013. Pp. 55-77 (in Russian).
3. Gribova V.V., Kleshchev A.S., Krylov D.A., Moskalenko F.M., Timchenko V.A., Shalfeeva E.A. Bazovaja tehnologija razrabotki intellektual'nyh servisov na oblachnoj platforme IACPaaS. Chast' 1. Razrabotka bazy znanij i reshatelja zadach [Basic technology of development of intellectual services on the cloudy IACPaaS platform. Part 1. Development of the knowledge base and solver of tasks] / Programmnaja inzhenerija = Program engineering. 2015. № 12. Pp. 3-11 (in Russian).
4. Gribova V.V., Kleshchev A.S., Krylov D.A., Moskalenko F.M., Timchenko V.A., Shalfeeva E.A. Bazovaja tehnologija razrabotki intellektual'nyh servisov na oblachnoj platforme IACPaaS. Chast' 2. Razrabotka agentov i shablonov soobshhenij [Basic technology of development of intellectual services on the cloudy IACPaaS platform. Part 2. Development of the agents and message templates] / Programmnaja inzhenerija = Program engineering. 2016. № 1. Pp. 14-20. DOI: 10.17587/prin.7.14-20 (in Russian).
5. Gribova V.V., Kleshhev A.S., Krylov D.A., Moskalenko F.M., Timchenko V.A., Fedorishhev L.R., Shalfeeva E.A. Bazovaja tehnologija razrabotki intellektual'nyh servisov na oblachnoj platforme IACPaaS. Chast' 3. Razrabotka interfejsa i primer sozdanija prikladnyh servisov [Basic technology of development of intellectual services on the cloudy IACPaaS platform. Part 3. The development of the interface and the example of service applications creating] / Programmnaja inzhenerija = Program engineering. 2016. Vol. 7. № 3. Pp. 99-107. DOI: 10.17587/prin.7.99-107 (in Russian).
6. Zagorulko Yu.A., Zagorulko G. B., Borovikova O. I. Tehnologija sozdanija tematicheskih intellektual'nyh nauchnyh internet-resursov, bazirujushhajasja na ontologii [Technology of creation of thematic intelligent scientific Internet resources based on ontology] / Programmnaja inzhenerija = Program engineering, 2016. № 2. Pp. 51-60.
7. Gribova V.V., Kleshchev A. S., Moskalenko F. M., Timchenko V.A. A Model for Generation of Directed Graphs of Information by the Directed Graph of Metainformation for a Two_Level Model of Information Units with a Complex Structure // Automatic Documentation and Mathematical Linguistics. 2015. Vol. 49, № 6. Pp. 221-231.
8. Le Sun, H. Dong, F.Khadeer Hussain, O. Khadeer Hussain, E. Chang Cloud service selection: State-of-the-art and future research directions // Journal of Network and Computer Applications. 2014. Vol. 45. Pp. 134-150.
9. Nepal S., Zhang M., R. Ranjan, A. Haller, Georgakopoulos D. An Ontology-based System for Cloud Infrastructure Services' Discovery // Proc. 8th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing. 2012. http://arxiv.org/ftp/arxiv/papers/ 1212/1212.0156.pdf
10. CloudServiceMarket.info. A comprehensive overview of Cloud Computing services. Режим доступа: http://www.cloudservicemarket.info/default.aspx (14.03.2016).
11. Qi Zhang, Lu Cheng, R. Boutaba Cloud computing: state-of-the-art and research challenges // J. Internet Serv App. 2010. №1. Pp. 7-18. DOI: 10.1007/s13174-010-0007-6.