Меню

Вглубь SAP Fiori — больше, чем просто красивый интерфейс

|

Сервисы Open Data Protocol (OData) обеспечивают работу бэкэнда приложений SAPUI5. Поскольку OData является стандартным и гибким веб-протоколом, он может использоваться не только для приложений Fiori. В этой статье рассматривается ряд альтернативных вариантов применения OData, с примерами для иллюстрации возможностей расширенного использования OData сервисов.

Ключевое понятие

Протокол Open Data (OData) — это простой стандартизованный открытый протокол для определения программных интерфейсов Representational State Transfer (RESTful). Веб-сервисы могут определять стандартные операции создания, чтения, обновления и удаления (CRUD) записей с помощью OData, чтобы приложения, использующие полученные данные, точно знали, что именно можно сделать с ними. В приложениях Fiori протокол OData используется для предоставления данных бэкэнда SAP приложениям, с которыми работает пользователь.

Я работал с несколькими компаниями, которые делали первые шаги на пути к SAP Fiori. Как правило, они разворачивали несколько стандартных «коробочных» приложений чтобы попробовать и оценить, что они могут получить от них, а затем начинали расширять и создавать собственные приложения, которые отвечают реальным потребностям бизнеса. Они создавали пользовательские интерфейсы SAPUI5, сервисы SAP Gateway Open Data Protocol (OData), разворачивали приложения и получали существенный выигрыш в виде упрощения процессов.

Однако часто компании не замечают, что создавая сервисы OData, они получают огромный спектр возможностей, которые не ограничиваются подключением SAPUI5 в SAP Fiori. Они создают стандартные программные интерфейсы, которые открывают им двери в мир инноваций.

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

Далее мы подробно рассмотрим использование сервисов OData для интеграции отдельных приложений:

  • руководство по OData с кратким описанием истории появления и ключевых особенностей структуры;
  • пример использования OData для повышения производительности офиса с помощью дополнения SAP Gateway Productivity Accelerator for Microsoft Excel;
  • пример использования OData для разработки приложений, связанных через Google Apps Script и Google Sheets ;
  • пример сценария настройки интеграции облачных приложений с помощью инструмента Lightning Connect от Salesforce.

Руководство по OData

OData можно рассматривать просто как формат для отправки данных приложениям где-нибудь в сети, однако более глубокое понимание этого инструмента откроет перед вами ряд продвинутых возможностей. Чтобы оценить возможности OData нужно обратиться к истории создания и принципам разработки этого протокола, основанным на возможностях повторного использования, стандартизации и подробном описании данных. Именно использование для взаимодействия приложений по сети лежит в основе этого протокола. Для получения дополнительной информации перейдите по ссылке
https://blogs.msdn.microsoft.com/odatateam/2007/07/18/welcome/.

История OData начинается в Microsoft в 2007 году, когда подгруппа в команде разработки Microsoft SQL-server запустила проект под названием Astoria. Целью проекта Astoria было предоставление приложениям возможности получения и использования данных как из корпоративных сетей, так и данных из сети Интернет. Это прекрасный пример успешного стратегического видения, поскольку применение OData в настоящее время точно отражает именно эту цель.

В 2010 году компания Microsoft объявила о выпуске OData и представила пакет для разработки ПО (SDK), а также инструментарий для создания и использования OData. Несколько лет компания Microsoft публиковала обновленные версии спецификаций на условиях Open Specification Promise (OSP), что защищало разработчиков, применяющих OData, от возможных исков. Однако, после выхода версии спецификации OData v4.0, протокол прошел стандартизацию в Организации по развитию стандартов структурированной информации (OASIS). В результате этой стандартизации ни одна компания и ни один специалист не может называться владельцем стандарта и целый ряд влиятельных организаций получили возможность внести свой вклад в развитие протокола. В результате, в разработке стандартов OData приняли участие такие компании как CA, Citrix, IBM, Microsoft, Red Hat и SAP. Разработчики могут быть уверены в том, что в использование OData не приведет к возникновению судебных исков или патентных споров, поэтому они могут полностью сосредоточиться на создании приложений.

OData пользуется широкой отраслевой поддержкой — как со стороны организаций, принявших участие в разработке стандартов, например, SAP и Microsoft, так и со стороны разработчиков библиотек с открытым исходным кодом, например, Apache Olingo и datajs (https://olingo.apache.org/ и
https://datajs.codeplex.com/ соответственно). Это весьма ценные преимущества, но далеко не главные. Как протокол данных, OData имеет ряд привлекательных особенностей:

  • Применяется модель архитектуры Representational State Transfer (REST). Состояние сущности передается независимо от использующего ее клиентского устройства или потребителя, т. е. реализующие его серверы могут не обращать внимания на специфику конкретных устройств по работе с данными.
  • Используются стандартные веб-форматы: AtomPub на базе XML и JavaScript Object Notation (JSON). Эти два формата отражают современное состояние технологий обмена данными между веб-приложениями и значительно упрощают создание инструментов для работы с OData.
  • Крупные корпорации не только принимают участие в разработке спецификаций, но и активно применяют эти спецификации в своих продуктах. SAP Gateway, Microsoft Azure, Salesforce Lightning Connect и другие используют OData как основной механизм интеграции приложений.

И что наиболее важно, OData поддерживает множество операций, необходимых разработчикам для эффективной работы с данными сервиса. OData:

  • Представляет структуру сущностей и базовые типы свойств, определяющих эти сущности.
  • Адресует данные. Каждая запись в OData определяется ее ключом, с помощью которого эту запись можно запросить у сервиса.
  • Определяет соответствие между сущностями. В OData возможен переход от одной сущности к другой зависимой сущности и этот переход полностью описывается в метаданных сервиса
  • Предоставляет стандартный набор опций для запроса данных. Стандарт включает в себя описание механизмов фильтрации, сортировки и ограничения списков полей. Разработчики на SQL узнают многие понятия, во многом аналогичные стандартным опциям SQL SELECT, WHERE и ORDER BY в операциях запросов OData.
  • Включает в себя механизмы, посредством которых приложения могут выполнять действия отдельными запросами HTTP или объединять несколько операций создания, чтения, обновления и удаления (CRUD) в одном запросе HTTP POST. Это чрезвычайно полезно для эффективного использования HTTP-соединений в мобильных или чувствительных к уровню производительности приложениях.

Гибкость OData определяет и гибкость Fiori. Способность объединить структуру самих данных и описание зависимостей внутри данных позволяет Fiori быстро адаптироваться к изменениям. Передача метаданных — ключевой аспект, ведь даже самый изящный и удобный пользовательский интерфейс не сможет компенсировать недостатки плохо организованного потока данных.

Пример использования: производительность офиса

Одним из наиболее ярких подтверждений того, что OData предназначен для открытого взаимодействия, является тот факт, что этот протокол не описывает способ использования данных. Например, пользователи могут думать, что их приложения Fiori никак не связаны со стандартными офисными приложениями, однако благодаря дополнению SAP Productivity Accelerator for Microsoft Excel их возможности объединяются.

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

Для настройки этого инструмента сначала загрузите и установите средства Visual Studio для Office Runtime, доступные на сайте Microsoft по ссылке https://www.microsoft.com/en-us/download/confirmation.aspx?id=48217. Далее загрузите сам инструмент по ссылке https://support.sap.com. Требуется регистрация на SAP Service Marketplace. Нажмите кнопку Download Software рядом с панелью. На следующем экране в поле поиска укажите дополнение GWM Excel (GWM означает Gateway Microsoft). Запустите программу setup.exe из загрузки, приняв все настройки по умолчанию.

Для работы с источниками OData откройте Excel и откройте на панели вкладку GWM. На панели инструментов нажмите кнопку Bind (Привязать). Первым шагом настройки является ввод URL-адреса сервиса. За каждым сервисом OData закреплен собственный URL-адрес. Важно то, что вы указываете в схеме полный путь до имени сервиса и ничего более. Например, если мне требуется получить доступ к набору сущностей MaterialSet в моем сервисе, я ввожу в строке https://mygateway.company.com/sap/opu/odata/sap/ZMATERIAL_MASTER_SRV/ и нажимаю Go (Перейти). Инструмент находит все наборы сущностей в сервисе, в том числе MaterialMasterSet, см. Рис. 1.

Рис. 1. Поиск коллекций с помощью GWM в структуре сервиса ZMATERIAL_MASTER_SRV

На следующем экране мастера щелкните по коллекции сущностей, которую требуется использовать, а затем нажмите Next (Дальше).

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти