Разработка мультитенантных приложений на SAP Cloud Platform в среде Neo, часть 1

  • Tutorial
Наша платформа SAP Cloud Platform предоставляет возможность разрабатывать и запускать мультитенантные приложения. Мультитенантные приложения позволяют изолированно обслуживать нескольких клиентов из разных организаций в рамках одного решения, предоставляемого провайдером. Каждый клиент называется арендатором. Он обращается к приложению через выделенный URL-адрес конкретного тенанта – таким образом достигается изолированность пользователей друг от друга.


В нескольких статьях мы расскажем о следующих темах:

Часть 1. Мультитенантность в SAP Cloud Platform, обзор сценария
Часть 2. Загрузка решения в формате MTAR в платформу, привязка базы данных и создание подписок для арендаторов, конфигурация субаккаунта провайдера
Часть 3. Сервис хранения данных (Persistence Service) – инициализация и изоляция данных
Часть 4. Управление идентификацией с помощью «Identity Authentication» – настройка тенанта сервиса
Часть 5. SAP Cloud Connector – настройка и конфигурация сервиса для подключения к локальной системе
Часть 6. Настройка сервиса «Connectivity» и тестирование мультитенантного приложения
Часть 7. Fiori Launchpad – использование сервиса «Portal», конфигурация плитки для мультитенантного приложения


Примечание:

В данной статье использована глобальная (продуктивная) учетная запись SAP Cloud Platform. Для выполнения сценария в учетной записи дополнительно должны быть подключены следующие сервисы:

  1. Для субаккаунта провайдера приложения – SAP HANA, SAP Cloud Platform Portal – должна быть выделена хотя бы одна квота для запуска Java-приложения (Java-квота);
  2. Для субаккаунта клиента: SAP Cloud Platform Portal, SAP Cloud Platform Identity Authentication.

Часть 1. Мультитенантность в SCP и обзор решения

SAP Cloud Platform является платформой для разработки и запуска облачных приложений, в том числе и приложений с множеством арендаторов, поэтому ее сервисы поддерживают мультитенантность.

Как думаете, обрадуются ли клиенты, если данные, которые они хранят в вашем SaaS приложении, будут доступны для других клиентов? Это явное нарушение изолированности данных.

Такая проблема решается путем предоставления каждому клиенту уникального идентификатора тенанта (tenant id). Так как приложение развернуто непосредственно у провайдера, то для получения доступа к нему клиент должен быть подписан на это приложение. Это означает, что клиенту не нужно копировать приложение в свою учетную запись, достаточно просто подписаться на него, после чего клиент получает специальный URL-адрес для конкретного тенанта. Таким образом, при запуске приложения через этот выделенный URL происходит идентификация пользователя по уникальному идентификатору тенанта.

Преимущества мультитенантных приложений:

  • Снижение совокупной стоимости владения (TCO): благодаря распределению вычислительных ресурсов и расходов на эксплуатацию между клиентами, совокупная стоимость владения для такого приложения понижается. Экономия средств возрастает по мере увеличения количества клиентов, обслуживаемых мультитенантным приложением;
  • Эксплуатационная эффективность: обновление приложений и исправление ошибок распространяется на всех арендаторов путем обновления экземпляра приложения у поставщика;
  • Масштабируемость: быстрое предоставление услуг клиентам. Чтобы получить доступ к приложению, новому клиенту нужно только создать подписку на него;
  • Конфигурируемость: позволяет клиентам настраивать свой резерв пользователей, которые смогут использовать приложение, собственные бэкэнд-услуги и т.д., как того требует приложение.

Рассмотрим разницу между субаккаунтами клиента и провайдера внутри глобального аккаунта SCP:



Как показано на диаграмме, внутри глобального аккаунта SCP развернуты два субаккаунта – субаккаунт провайдера и субаккаунт клиента.

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

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

Теперь поговорим о мультитенантности в сервисах SCP.

а) Persistence Service

Есть три способа достижения мультитенантности в этом сервисе:



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

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

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

б) Identity Authentication



Сервис Identity Authentication – это облачное решение для управления жизненным циклом приложений SCP и, при необходимости, локальных приложений. Он позволяет осуществлять настройки аутентификации, единого входа для пользователей и так далее. При подключении сервиса администратору учетной записи предоставляется тенант, внутри которого происходит конфигурация приложений и управление авторизацией пользователей. Данный сервис предоставляет провайдера идентификаций для SCP.

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

в) Connectivity



Клиент может настроить доступ к данным локальной системы. С помощью такого средства, как SAP Cloud Connector, осуществляется безопасное подключение к локальному приложению или системе, предоставляющей определенные данные. Внутри своего субаккаунта клиент настраивает путь назначения к локальной системе, описанной в Cloud Connector. В приложении провайдера обозначено имя пути назначения – таким образом, при обращении клиента к приложению данные от локальной системы клиента передаются в приложение и визуализируются.

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

У SAP существует надежная партнерская компания, специализирующаяся на предоставлении решений для нефтегазовой отрасли. Будем называть ее ITeLO Consulting. Эта компания использует платформу SAP Cloud Platform для создания и запуска своих облачных приложений. ITeLO Consulting предпочитают предоставлять свои приложения как SaaS. В такой модели программное обеспечение предоставляется в виде услуги и доступно для клиентов через интернет.

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

ABC PetroCorp и XYZ EnergyCorp – две нефтегазовые компании, которые покупают это решение у ITeLO.

В ITeLO Consulting работает Роберт, который является архитектором этого проекта. Компания купила пакет платформы SAP Cloud Platform с услугами, необходимыми для создания этого приложения. Сценарий Роберта состоит в том, чтобы разработать мультитенантное SaaS приложение и предоставить его в пользование своим клиентам – ABC PetroCorp и XYZ EnergyCorp». Эмили является сотрудником IT-отдела ABC PetroCorp. Ей поручено работать над этим проектом с Робертом.

Архитектура решения представлена ниже:



Субаккаунтом провайдера в данном случае будет ITeLO Consulting, а субаккаунтами клиентов, осуществляющих подписку на приложение, будут ABC PetroCorp и XYZ EnergyCorp. Настройки внутри субаккаунтов клиентов будут аналогичными, поэтому будем рассматривать только конфигурацию для клиента ABC PetroCorp.

Описание учетных записей:

1) ITeLO Consulting – учетная запись провайдера, в которой запущена база данных, приложения бизнес-логики и пользовательского интерфейса.

База данных:

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

Бизнес-логика:

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

Пользовательский интерфейс:

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

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

Java и HTML5 приложения не развернуты и не скопированы в эту учетную запись.

Управление идентификацией и доступом:

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

Сервисы Connectivity:

У компании ABC PetroCorp есть запущенные локально службы, которые предоставляют информацию об их заводах – количество сотрудников на заводе, место расположения завода и т.д. Вся эта информация должна извлекается из их ландшафта и предоставляется приложению с помощью SAP Cloud Connector.

Часть 2. Загрузка решения в формате MTAR в платформу, привязка базы данных и создание подписок для арендаторов, конфигурация субаккаунта провайдера

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

  1. Создать архив приложения, содержащий все его артифакты;
  2. Загрузить архив приложения в учетную запись ITeLO Consulting;
  3. Осуществить подписку клиента «ABC PetroCorp» на приложение, запущенное в субаккаунте провайдера;
  4. Настройка пути к открытой службе, запущенной в сети интернет.

Предварительные настройки:

  1. У вас установлен Java 8;
  2. Установлен Eclipse Neon с плагинами для SAP CP;
  3. В Eclipse установлен плагин EGit;
  4. Скачана и распакована последняя версия SAP CP Java Web Tomcat 8 SDK;
  5. Скачан и установлен MTA Archive Builder;
  6. В учетной записи SCP подключена база данных SAP HANA (для субаккаунта провайдера);
  7. В субаккаунте провайдера ITeLO Consulting выделена квода для запуска Java-приложений (хотя бы одна неиспользуемая вычислительная единица, подробнее о выделении квоты здесь).

Примечание: создание нескольких субаккаунтов внутри глобального аккаунта SCP невозможно для триального (пробного) аккаунта.

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

Исходный код приложения для мониторинга загрязнения («Pollution Monitoring») находится в GitHub.

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



Приложение состоит из нескольких модулей, разработанных с использованием различных технологий. Эти модули должны быть установлены в разные среды выполнения (например, Java, HTML5). Вместо того, чтобы создавать и загружать модули отдельно, SCP поддерживает создание единого приложения, которое содержит разные модули в одном архиве.

Как было показано в архитектуре приложения, бизнес-логика определена в приложении Java, а логика пользовательского интерфейса определена в приложении HTML5. И сейчас мы в лице Роберта создадим архив многомодульного (или многоцелевого) приложения (MTA), чтобы упаковать приложение в удобный для загрузки в платформу формат.

Чтобы создать архив с несколькими модулями приложения, нужно загрузить «mta.jar» и настроить «MTA archive builder» (ссылка на описание установки «MTA archive builder» указана выше в предварительных настройках).

Модули многоцелевого приложения описаны в файле-дескрипторе MTA (mta.yaml), этот файл находится в корневой папке проекта.



Файл «mta.yaml» содержит информацию о модулях Java и HTML5, которые будут созданы в процессе сборки приложения. Откроем файл и привяжем базу данных SAP HANA к Java-приложению, указав идентификатор базы данных в поле «id».



Здесь id – это идентификатор базы данных, запущенной в субаккаунте провайдера. Его можно найти в панели управления SCP учетной записи «ITeLO Consulting» в меню Persistence -> Databases Systems.



В нашем случае идентификатор базы данных в «mta.yaml» будет обозначен следующим образом:



Сохраняем изменения и, открыв командную строку, переходим в папку с проектом «pollutionmonitoring» и вводим такую команду:

java -jar [путь к mta.jar] –build-target=NEO build 



Эта команда запустит процесс сборки приложения в архив MTA.
После успешной сборки в папке с проектом будет сгенерирован файл MTA-архива (pollutionmonitoring.mtar).



Следующим шагом будет установка MTA-архива (pollutionmonitoring.mtar) в субаккаунт ITeLO Consulting. Это можно сделать с помощью функции «Solutions», представленной в панели управления SCP. Для этого переходим во вкладку «Solutions» и нажимаем на кнопку «Deploy».



В появившемся диалоговом окне переходим к месту расположения файла «pollutionmonitoring.mtar», нажав кнопку «Browse» у поля «MTA Archive», и выбираем его, после чего нажимаем «Deploy».



После успешной загрузки MTA-архива в панели управления учетной записи ITeLO Consulting можно будет увидеть следующее:

• Во вкладке «Java Applications» появится запущенное Java-приложение «pollutionmonitoring»;



• Будет автоматически произведена привязка базы данных к Java-приложению. Для проверки перейдите в Java-приложение и выберете вкладку «Configuration» -> «Data Sourсe Bindings»;



• Во вкладке «HTML5 Applications» появится запущенное HTML5-приложение «pollutionmonitoringui».



Теперь Роберту нужно создать субаккаунт с названием ABC Petro Corp для клиента.

Перейдем в глобальный аккаунт SCP и во вкладке «Subaccounts» выберем «New Subaccount».



В появившемся диалоговом окне вводим имя субаккаунта, выбираем среду (Neo) и регион, в котором расположен глобальный аккаунт и, соответственно, субаккаунт провайдера. После чего нажимаем «Create».



Теперь в глобальном аккаунте появится еще один субаккаунт – субаккаунт клиента.
Следующим шагом будет создание подписки внутри учетной записи клиента ABC Petro Corp на приложения, запущенные в учетной записи провайдера. Для этого воспользуемся консольным клиентом для среды Neo. Как его установить, описано здесь.

В консольном клиенте для Neo введем такую команду:

neo subscribe –account <<идентификатор субаккаунта ABC_PetroCorp>> -application <<идентификатор субаккаунта ITeLO_consulting>>:pollutionmonitoring -user <<идентификатор пользователя>> -host <<хост региона>>

Идентификатор субаккаунта можно найти во вкладке «Overview» -> «Subaccount information».



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



Хосты для всех регионов среды Neo описаны в документации.

Для подписки на HTML5 приложение воспользуемся панелью управления SCP. Перейдем в субаккаунт клиента ABC Petro Corp и выберем вкладку «Subscriptions» -> «New Subscription» (для HTML5).



В диалоговом окне выбираем субаккаунт провайдера и HTML5-приложение внутри него, после чего нажимаем «Save».



Теперь клиент подписан на Java и HTML5 приложения, предоставляемые провайдером, и это отображено в панели управления учетной записи ABC Petro Corp.



Приложение для мониторинга загрязнения позволяет выводить данные о загрязнении завода и города.

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

Этот сервис будет использоваться ABC Petro Corp и другими потенциальными клиентами, поэтому адрес назначения будет добавлен в учетную запись провайдера ITeLo Consulting.

Для Java-приложения путь назначения под названием «openaq–api–dest» описан в файле «web.xml».



Этот путь назначения обозначен в классе «PollutionDataService» (файл «PollutionDataService.java»).



После того, как поиск пути назначения будет выполнен, все вызовы от Java-кода к службе OpenAQ запускаются через него.

Файл пути назначения «open-api-dest» находится внутри папки «Destinations-Provider», расположенной внутри проекта «pollutionmonitoring».



Этот файл содержит URL к сервису OpenAQ.



Данный путь назначения нужно загрузить в субаккаунт провайдера ITeLo Consulting. Для этого направляемся в субаккаунт ITeLo Consulting, переходим во вкладку «Java Applications» и выбираем приложение «pollutionmonitoring».

Далее выбираем вкладку «Configuration» → «Destinations» и нажимаем на кнопку «Import Destination».



В появившемся диалоговом окне указываем путь к файлу «open-api-dest». После чего будет произведена конфигурация пути назначения в панели управления SCP. Нажимаем кнопку «Save». Путь назначения будет выглядеть в облачной платформе следующим образом:



Этот сервис доступен через https, поэтому нужно установить безопасное соединение. Это можно сделать с помощью сервиса «хранения ключей» для SCP. В проекте «pollutionmonitoring», скачанном из GitHub, уже имеются файлы с ключами: «jssecacerts.jks» и «cacerts.jks». Их нужно загрузить в субаккаунт клиента ABC Petro Corp.

Для этого снова воспользуемся консольным клиентом для среды Neo.

В консольном клиенте для Neo введем такие команды:

neo upload-keystore –account <<идентификатор субаккаунта ABC_PetroCorp>>  –user <<идентификатор пользователя>> –location <<путь к файлу  jssecacerts.jks>> –host <<хост региона>>

neo upload-keystore –account << идентификатор субаккаунта ABC_PetroCorp >>  –user << идентификатор пользователя >> –location << путь к файлу cacerts.jks>> –host << хост региона >>

Эти файлы («jssecacerts.jks» и «cacerts.jks») находятся в папке «KeyStore Services» проекта «pollutionmonitoring».

Часть 3. Сервис хранения данных (Persistence Service) — инициализация и изоляция данных

Приложением ITeLO Consulting заинтересованы несколько клиентов. Настоящее мультитенантное приложение должно гарантировать, что данные ABC PetroCorp полностью изолированы от данных других клиентов в базе данных (например, от данных XYZ EnergyCorp). Это очень важно для обеспечения безопасности данных клиента и приложения.

Роберт из ITeLO Consulting хочет, чтобы его приложение изолировало хранение данных своих клиентов, и он интересуется, как этого можно достичь.

Для достижения изолированности данных нам необходимо определить степень изоляции, т.е. изоляция на уровне таблицы (хранить данные в разных таблицах в одной схеме), на уровне схемы (хранить данные клиентов в разных схемах), на уровне тенанта (хранить данные клиента в разных тенантах БД). Сервис хранения данных (Persistence Service) SAP Cloud Platform в сочетании с JPA (Java Persistence API) и EclipseLink поддерживает реализацию этих методов изоляции данных.

Существует три способа достижения мультитенантности на уровне базы данных. Эти способы мы рассмотрели в части 1.

Во второй части мы сосредоточимся на способе под названием «колонка-разделитель». Именно он будет использован Робертом для изоляции данных на уровне БД в его решении.

Использование колонки-разделителя:

В этом подходе одна схема БД распределяется между всеми пользователями приложения. Идентификатор тенанта (tenant id) может использоваться как значение в колонке-разделителе. Фрагмент кода представлен ниже.



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

Шаг 1: Проверка наличия описания колонки-разделителя в коде приложения

На этом этапе мы посмотрим, как как модель данных приложения используется для обеспечения мультитенантности на уровне БД.

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

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

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



Перейдем к файлу «BaseObject.java» проекта, расположенного по пути «/pollutionmonitoring/java/src/main/java/com/sap/hana/cloud/samples/pollutionmonitoring/model/BaseObject.java», и откроем его с помощью редактора (например, Notepad++).



В этом файле проверяем описание метода «Колонка-разделитель». Вот как это выглядит:



Теперь обратимся к файлу «web.xml», расположенному по пути «/pollutionmonitoring/java/src/main/webapp/WEB-INF/web.xml».



Убедимся, что источник данных (база данных) привязан к приложению в качестве стандартного источника (Default DB). В файле «web.xml» это выглядит следующим образом:



Этот пример показывает, как реализована мультитенантность в приложении для мониторинга загрязнения.

Шаг 2: Проверка настройки сервлета инициализации данных

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

На этом этапе мы посмотрим, как произведена настройка публикации сервлета инициализации данных.

Сервлет описан в файле «DataInitializationServlet.java», который расположен в проекте по пути «/pollutionmonitoring/java/src/main/java/com/sap/hana/cloud/samples/pollutionmonitoring/api/DataInitializationServlet.java».



Способ его публикации обозначен в файле «web.xml» («/pollutionmonitoring/java/src/main
/webapp/WEB-INF/web.xml»
).



Откроем этот файл и убедимся, что сервлет для загрузки данных в приложение мониторинга загрязнения был опубликован по URL-пути «/initialize». Выглядит это следующим образом:



Шаг 3. Использование сервлета для инициализации данных о загрязнении для «ABC PetroCorp» (клиент)

Эмили из ABC PetroCorp может обращаться к приложению мониторинга загрязнения, используя созданную подписку.

Приложение «Pollution Monitoring» использует два типа данных:

Данные об уровне загрязнения (Pollution Data): считываются из таких источников, как внешние API, датчики загрязнения и т.д.

Данные о заводе (Plant Data), как правило, считываются из локальных систем клиента — таких как ERP-системы.

1) На этом этапе мы создадим данные о загрязнении с помощью сервлета инициализации данных, расположенного в проекте. Эти данные будут храниться в базе данных HANA в SAP CP, которая привязана к приложению в учетной записи провайдера.

2) Данные о заводе считываются приложением из локальной системы, то есть они не хранятся в базе данных HANA в SAP CP. Это будет рассмотрено в пятой части статьи «SAP Cloud Connector — настройка и конфигурация сервиса для подключения к локальной системе».

На этом этапе мы загрузим данные о загрязнении в приложение «по подписке». Для этого будет использоваться сервлет «Data Initialization», который находится в проекте и может быть использован для ввода подготовленных данных в базу данных HANA.

Посмотрим, как выглядят подготовленные данные и как их можно инициализировать с помощью сервлета. Для этого снова обратимся к файлу «DataInitializationServlet.java», который расположен в проекте по пути «/pollutionmonitoring/java/src/main/java/com/sap/hana/cloud/samples/pollutionmonitoring/api/DataInitializationServlet.java», и откроем его.

Здесь мы можем увидеть подготовленные данные как для «ABC PetroCorp», так и для другого клиента («XYZ EnergyCorp»).



Инициализируем данные об уровне загрязнения для ABC PetroCorp, вызвав сервлет «Data Initialization».

Перейдем в панель управления субаккаунта клиента ABC PetroCorp. В нашем случае глобальный аккаунт расположен в регионе Europe(Rot), доступ к нему осуществляется по этой ссылке.



В панели управления субаккаунта переходим на вкладку «Applications -> Subscriptions» и выбираем Java-приложение, на которое подписан клиент.



Во вкладке «Overview» будет обозначен URL-приложения, копируем его.



Открываем новое окно браузера, вставляем скопированный URL приложения и добавляем к нему «/initialize?company=ABC PetroCorp». После чего инициализация будет завершена и на экране должны появиться данные, которые будут отправлены в приложение.


Теперь мы инициализировали данные о загрязнении для ABC PetroCorp в приложении мониторинга загрязнения от ITeLO.

В следующей статье мы расскажем об управлении идентификацией с помощью Identity Authentication — настройки тенанта сервиса.
SAP
78,12
Лидер рынка корпоративных приложений
Поделиться публикацией

Комментарии 0

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

Самое читаемое