Содержание


Разработка мобильных приложений с использованием платформы IBM MobileFirst Object Store Adapter и хранилища данных IBM Spectrum Scale Object

Интеграция объектно-ориентированного хранилища данных для разработки не зависящих от платформы мобильных приложений

Comments

В течение последнего десятилетия индустрия мобильных устройств развивается быстрыми темпами. Смартфоны и планшеты регулярно используют более миллиарда человек, так что огромные коммерческие возможности и растущий спрос на мобильные решения будут сохраняться. Как и следовало ожидать, смартфоны быстро становятся основным устройством конечного потребителя, и мобильные решения начали оказывать непосредственное влияние на предприятия, организации и их клиентов и партнеров. Поддержка мобильных устройств стала главным приоритетом при проектировании систем и системного программного обеспечения - включая IBM® Spectrum™ Scale Object.

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

  • они высоко масштабируемы;
  • они могут хранить определяемые пользователем метаданные, связанные с объектами;
  • данные доступны через HTTPS отовсюду;
  • пользователи могут получить к ним доступ через RESTful-интерфейс;
  • они обеспечивают более низкую общую стоимость хранения.

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

Разработчики мобильных приложений сталкиваются с многочисленными проблемами из-за фрагментации мобильных устройств (Android, iOS, Windows Phone) и типов мобильных приложений (нативные, гибридные, веб-, и т.д.). При разработке мобильных приложений решающее значение имеет переносимость кода приложения с одной платформы на другую. Существуют разные способы достижения такой переносимости. В IBM MobileFirst® можно использовать MobileFirst Studio для разработки мультиплатформенных приложений, отвечающих требованиям организации.

К этой статье прилагается бесплатный пакет ПО с открытым исходным IBM MobileFirst Object Store Adapter, которой предоставляет удобный и мощный набор API-интерфейсов, позволяющий разработчикам мобильных приложений легко создавать мобильные приложения, интегрируемые с IBM Spectrum Scale Object. Это способствует укреплению общей экосистемы вокруг мобильных вычислений и объектных систем хранения, помогая мобильным устройствам получать доступ к данным из корпоративного хранилища объектов.

Проект IBM MobileFirst ObjectStore

Проект IBM MobileFirst ObjectStore, называемый OpenStack Swift, стал одним из самых популярных реализаций хранилища объектов. OpenStack Swift интегрирован и размещается поверх IBM Spectrum Scale, одной из лучших в мире кластерных файловых систем. IBM Spectrum Scale придает хранилищу объектов совершенно новое измерение, когда система может размещаться как репозиторий хранения объектов или как традиционный репозиторий файлов. IBM Spectrum Scale Object, в котором сочетаются технологии General Parallel File System (GPFS) и OpenStackSwift, меняет традиционную объектную модель, объединяя файлы и объекты в единой инфраструктуре общего хранилища данных. Заказчики, исходя из своих потребностей, могут создавать как монолитные, объектно-ориентированные приложения, так и гибридные приложения с использованием файлов и объектов. Более того, Swift поверх IBM Spectrum Scale расширяет возможности хранилища объектов, позволяя использовать для разных его вариантов различные функции кластерной файловой системы — такие как копии текущего состояния, управление жизненным циклом информации и размещение данных на основе правил. Таким образом, IBM Spectrum Scale Object Store представляет собой уникальный тип хранилища объектов, которое можно использовать для удовлетворения требований, предъявляемых к облачному хранилищу, а также для реализаций традиционного хранилища объектов.

В издании IBM Redpaper Руководство по развертыванию IBM Spectrum Scale Object подробно описано, как развернуть IBM Spectrum Scale Object. Ниже приведена общая схема IBM Spectrum Scale Object на платформе Spectrum Scale Server с программным RAID. Поскольку IBM Spectrum Scale Object – хранилище объектов, размещенные в нем данные доступны отовсюду и с любого устройства, в том числе мобильного. Чтобы IBM Spectrum Scale Object мог работать с мобильными приложениями, нужна легкая и интегрированная платформа мобильных приложений. В следующих разделах мы рассмотрим платформу IBM MobileFirst и адаптер Object Store MobileFirst Adaptor, прилагаемый к этой статье.

Рисунок 1. Архитектура IBM Spectrum Scale Object
Архитектура IBM Spectrum Scale Object
Архитектура IBM Spectrum Scale Object

(Источник: Руководство по развертыванию IBM Spectrum Scale Object, издание IBM Redpaper)

IBM MobileFirst

Из-за фрагментации операционных систем мобильных устройств (Android, iOS, Windows™ Phone) и типов мобильных приложений (нативные, гибридные, веб-приложения) многие разработчики сталкиваются с проблемами, когда в короткие сроки нужно создать мобильное приложение, способное работать на всех основных мобильных операционных системах. Другая проблема заключается в необходимости интеграции этих мобильных приложений с существующей серверной архитектурой предприятия. IBM MobileFirst позволяет решить эти проблемы, применяя для разработки мультиплатформенных приложений MobileFirst Studio. MobileFirst предоставляет комплексную и передовую платформу мобильных приложений для смартфонов и планшетов; она помогает организациям всех размеров эффективно строить функционально-богатые кроссплатформенные приложения, используя стандартную технологию, а затем подключать их к различным корпоративным серверным системам и облачным службам.

В статье DeveloperWorks Разработка клиентских и серверных гибридных мобильных приложений с помощью IBM MobileFirst подробно описана архитектура IBM MobileFirst и его компоненты:

  • IBM MobileFirst Studio,
  • IBM MobileFirst Server,
  • IBM MobileFirst Device Runtime Components,
  • IBM MobileFirst Console.

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

Чтение статей о MobileFirst поможет вам понять, как с помощью адаптера сервера MobileFirst создавать специальные адаптеры, позволяющие мобильным веб-приложениям подключаться к серверным системам предприятия или облачным службам. Эти адаптеры доставляют данные в мобильные приложения и из них и выполняют необходимую логическую обработку этих данных на стороне сервера. К этой статье прилагается бесплатный адаптер с открытым исходным кодом MobileFirst Object Store, который позволяет мобильным приложениям, созданным с помощью MobileFirst, работать с данными, хранящимися поверх IBM Spectrum Scale Object. Разработчики мобильных приложений, использующие платформу IBM MobileFirst, могут загрузить этот адаптер и интегрировать его с IBM Spectrum Scale Object.

В следующем разделе рассматривается общая архитектура адаптера и его интеграция с IBM Spectrum Scale Object, а также приведен пример кода мобильного приложения, которое может обращаться к объектным данным, хранящимся поверх IBM Spectrum Scale Object, с помощью смартфона/планшета Apple iOS, Android или Windows.

Примечание. IBM Worklight переименован в IBM MobileFirst.

MobileFirst Object Store Adapter для IBM Spectrum Scale Object

MobileFirst Object Store Adapter позволяет разработчикам мобильных приложений создавать приложения, способные легко получать доступ к данным на платформе IBM Spectrum Scale Object. Этот адаптер построен с использованием Apache jclouds, мультиоблачного инструментария для платформы Java®. API-интерфейс Apache jclouds BlobStore служит портативным средством управления службами хранения типа «ключ-значение», такими как IBM Spectrum Scale Object или OpenStack Object Storage. Подробнее см. в документе Что такое jclouds?

Следующая общая схема иллюстрирует различные компоненты и потоки данных при обращении к платформе MobileFirst Object Store Architecture. Обратите внимание, что MobileFirst Object Store Adapter, описанный в этой статье, развертывается внутри сервера MobileFirst. MobileFirst Object Store Adapter использует библиотеку Apache jclouds для соединения с IBM Spectrum Scale Object с целью доступа к объектным данным, а тот, в свою очередь, обеспечивает набор простых API-интерфейсов для доступа к объектам, позволяя разработчикам создавать мобильные приложения.

На следующем рисунке видно, что мобильные устройства, исполняющие приложения, разработанные с использованием MobileFirst, обращаются к данным, хранящимся в IBM Spectrum Scale Object, используя API-интерфейсы адаптера Object Store Adapter, которые обмениваются данными с адаптером, размещенным на сервере MobileFirst. Адаптер, в свою очередь, обеспечивает мобильным приложениям доступ к данным из хранилища объектов.

Рисунок 2. Архитектура MobileFirst Object Store
Архитектура MobileFirst Object Store
Архитектура MobileFirst Object Store

MobileFirst Object Store Adapter предоставляет разработчикам мобильных приложений очень простой способ доступа/интеграции бизнес-данных, которые находятся в хранилище IBM Spectrum Scale Object Store внутри мобильных приложений, разработанных с использованием технологии MobileFirst.

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

  • Account API: authenticateUser()
  • Container API: createContainer(), listContainers(), getContainerMetadata(), updateContainerMetadata(), deleteContainerIfEmpty()
  • Object API: createPseudoContainer(), listObjects(), uploadObjectFromString(), uploadObjectFromPath(), downloadObject(), getObjectMetadata(), updateObjectMetadata(), deleteObject()

Примечание. MobileFirst Object Store Adapter, прилагаемый к этой статье, содержит исходный код, распространяемый по лицензии Apache 2.0.

Использование MobileFirst Object Store Adapter

Перечисленные ниже ZIP-файлы содержатся в архиве IBMMobileFirstPlatform-ObjectStore-v1.0.zip.

  • Инструкции по использованию библиотеки MobileFirst Object Store Library содержатся в файле README в архиве MobileFirst-objectstore-API-SourceCode.zip.
  • Инструкции по использованию приложения MobileFirst Object Store Explorer App содержатся в файле README в архиве MobileFirst-objectstore исследователь APP.zip.

Пример кода мобильного приложения

Чтобы продемонстрировать, как использовать API-интерфейсы MobileFirst Object Store, мы разработали простое приложение Object Explorer, которое доступно для загрузки вместе с библиотекой API MobileFirst Object Store. Оно протестировано с IBM Spectrum Scale Object, но должно работать с любой реализацией OpenStack Swift.

Пример HTTP-адаптера MobileFirst со всеми возможными запросами API-интерфейсу MobileFirst Object Store находится в папке адаптера внутри MobileFirst Object Store Explorer App. Ниже приведены несколько примеров запросов, которые показывают, как использовать API MobileFirst Object Store из любого HTTP-адаптера MobileFirst.

/** 
* Perform user authentication using the credentials passed 
* @param tenantID         : Tenant group of the user 
* @param userName         : User Name 
* @param password         : Password for the respective user 
* @returns                : Returns true for success or false otherwise 
*/ 
function authenticateUser(serviceEndpoint, tenantID, userName, password) { 
return { result : com.ibm.worklight.objectstore.WorklightSwiftAccountApi.getInstance().authenticateUser(serviceEndpoint, tenantID, userName, password) 
}; 
}
/**  
* Create a new Container, if not already present 
* @param containerName    : Container name to create 
* @param metadata         : Container metadata 
* @returns                : Returns true for success or false otherwise  
*/  
function createContainer(containerName, metadata) { 
return { result : com.ibm.worklight.objectstore.WorklightSwiftContainerApi.getInstance().createContainer(containerName, metadata) 
};  
}
/** 
* List Containers, if available 
* @return  List 
*/ 
function listContainers() { 
return { result : com.ibm.worklight.objectstore.WorklightSwiftContainerApi.getInstance().listContainers() 
}; 
}

Заключение

В этой статье показано, как разработчики мобильных приложений могут использовать адаптер с открытым исходным кодом IBM MobileFirst Object Store Adapter с серверной платформой IBM Spectrum Scale Object Store. Это означает, что можно создать экосистему на основе мобильных устройств, используя доступ к хранилищу объектов, размещенному в IBM Spectrum Scale.


Ресурсы для скачивания


Похожие темы


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Облачные вычисления, Мобильные приложения
ArticleID=1029941
ArticleTitle=Разработка мобильных приложений с использованием платформы IBM MobileFirst Object Store Adapter и хранилища данных IBM Spectrum Scale Object
publish-date=04122016