Sap tenant что это
Технологии и «не-IT»: как и зачем S/4HANA применяется в оптовой торговле
Мы уже говорили о том, что современные магазины обладают сложной инфраструктурой. Но то же самое можно сказать и про компании, которые занимаются оптовой торговлей — здесь также используются сложные и продвинутые ИТ-решения.
Разработчики SAP S/4HANA на Хабре уже рассказывали о том, как система работает с большими данными. Сегодня мы поговорим о том, как этот продукт внедряют в сфере оптовой торговли, какие ошибки при этом совершаются и каких результатов удается добиться бизнесу.
Зачем нужна S/4HANA
S/4HANA — это программно-аппаратный комплекс, включающий оборудование, оптимизированное под решения на платформе SAP, и предустановленное программное обеспечение SAP. Система нужна для быстрого получения аналитической информации для принятия бизнес-решений. Ниже мы простым языком поговорим о том, как ее используют.
Зачастую в оптовой торговли ситуация с анализом данных обстоит так — когда руководство интересуется определенным вопросом, оно просит у подчиненных отчет. Они, в свою очередь, начинают в ручном режиме искать нужную информацию, связываясь с коллегами, иногда даже в филиалах из разных городов.
Информация выгружается из различных систем, дополняется вручную и сводится в общий документ, как правило, это Excel. Потом руководители компании анализируют этот отчет и принимают какие-то важные для бизнеса решения. Весь процесс может занимать от дня до недель.
Гораздо более эффективный подход здесь — использование систем наподобие S/4HANA, которая позволяет руководителям задавать важные метрики и в режиме реального времени видеть их изменение на экране компьютера, мобильного устройства, а также на лету формировать различные отчеты.
Как внедряют систему
С ростом бизнеса может возникать ситуация, при которой его дальнейшее развитие требует изменения бизнес-процессов и большей автоматизации, в противном случае для принятия важных решений будет не хватать данных, либо выполнить намеченные планы не удастся из-за неэффективности работы.
Разобраться с этим бизнес может самостоятельно, но решить задачу по выбору систем автоматизации и их внедрению компании, которая занимается оптовыми продажами, довольно сложно. Поэтому обычно к таким проектам привлекаются экспертные компании, такие как «Пилот», у которых есть целый департамент, специализирующийся на внедрении решений ПО SAP.
Внешние аналитики изучают бизнес и формулируют рекомендации о том, какие бизнес-процессы и как можно автоматизировать, а также определяют, с помощью каких инструментов это следует делать. Для этого детально описываются существующие процессы в том формате, как они работают сейчас. Затем нужно понять, как именно процесс должен выглядеть в конечном итоге. Именно здесь чаще всего и возникают проблемы.
Ошибки и решения
Далеко не всегда внедрение сложных систем вроде S/4HANA приводит к желаемым результатам. Часто виной тому — ошибки, которые совершаются руководителями и рядовыми сотрудниками компаний. Ниже мы перечислим некоторые из них и поговорим о том, как их можно избежать.
Ошибка #1: использование системы не по назначению
Иногда руководители хотят внедрить S/4HANA не для того, чтобы повысить качество бизнес-решений, а для выполнения задач, которые, как им кажется, важны для компании. Причем, в реальности это может быть совсем не так. В результате может возникнуть ситуация наподобие той, что сложилась на одном из проектов внедрения, который вели специалисты «Пилота».
Руководство компании-заказчика приняло решение о разработке около 50 отчетов, которые использовались в каждодневной работе пользователей в текущих процессах. При этом пришлось практически в два раза увеличить бюджет проекта, отведенный на разработки и доработки. Мнение консультантов по использованию стандартных отчетов не было учтено.
Через год эксплуатации выяснилось, что большинство отчетов не использовались — это было видно по статистике запуска программ. Её анализ показал, что после того, как пользователи привыкали к системе, для работы им хватало стандартных отчетов. А значит деньги на разработку и внедрение новых были потрачены впустую.
Ошибка #2: ожидание чуда
Другая крайность при внедрении — рассчитывать на то, что новая система сама по себе решит все проблемы бизнеса. Это не серебряная пуля, S/4HANA позволяет получить важную информацию, с помощью которой уже можно принимать важные решения. Но система сама не сгенерирует это решение за руководителя.
В итоге может получиться так, что компания внедряет S/4HANA, руководство ждет улучшения результатов работы, выпускается красивый пресс-релиз по этому поводу, но ключевые пользователи не понимают, в чем смысл использования системы. Иногда мы слышим фразы такого содержания: «В нашем пресс-релизе указано, что мы очень успешно внедрили новую систему в плановый срок и бюджет, но у меня нет понимания, что именно изменилось в самом бизнесе».
Важно внедрять не новомодный софт, а системы управления, подходящие под задачи конкретной компании — выбрать такую без привлечения профессиональных консультантов нелегко.
Ошибка #3: недостаточное информирование пользователей
В большинстве своем люди не очень любят перемены. Особенно, если нужно переучиваться и переходить с одного бизнес-процесса и используемой программы к чему-то новому и незнакомому. Это касается как рядовых сотрудников, так и руководителей. Причем в последнем случае это даже опаснее, поскольку у таких людей есть реальные полномочия, и они могут пытаться не изменить бизнес-процессы под новое решение, а переформатировать ту же S/4HANA под старые, не оптимальные, но привычные процессы или заставить программу создавать отчеты в старом формате.
Продукты от крупных вендоров типа SAP при внедрении могут буквально ломать привычные бизнес-процессы, это всегда сложный этап. Однако в итоге компания получает решение на основе лучших практик и мирового опыта — ведь такие ERP-системы используют десятки тысяч компаний во всем мире, а ее разработчики обладают большим опытом.
Переживания линейного персонала могут быть и вполне обоснованными — как минимум, потому что повышенная степень автоматизации зачастую приводит к сокращениям. Но это неизбежный процесс, связанный с развитием бизнеса, поэтому говорить о «восстании машин» тоже не приходится.
Основная задача нашей команды на этапе подготовки к проекту внедрения — объяснить пользователям новые бизнес-процессы компании, точно прояснить роль и выполняемые шаги каждого игрока команды в этих процесса. Если вовлекать сотрудников в процесс обучения еще на стадии тестировании системы, то можно быстрее передать им знания о том, как будет работать новый бизнес-процесс. Также, если пользователь увидит, как внедрение нового инструмента может помочь ему в работе и дальнейшем продвижении по службе, то это станет дополнительной мотивации к обучению.
На какие результаты можно рассчитывать: немного цифр
В завершение поговорим о том, каких результатов позволяет добиваться внедрение системы ERP-систем от SAP на примере реальных компаний из сферы ритейла.
Увеличение скорости открытия новых точек
Наш опыт говорит о том, что внедрение ERP-системы SAP позволяет растущим торговым сетям значительно повысить скорость открытия новых точек. Так один из крупнейших онлайн-гипермаркетов смог за один год (2013) увеличить количество собственных кибермаркетов до 29 и торговых точек до 130, став самым быстрорастущим интернет-магазином России.
А ритейл-сеть офлайн-магазинов «у дома» из Северо-Западного региона страны смогла увеличить количество открываемых торговых точек почти на 50%. Аналогичная компания из Удмуртии, в свою очередь, сумела добиться сокращения сроков открытия новых торговых точек на 80%.
Повышение скорости бизнес-процессов
Та же ритейл-сеть из Удмуртии с помощью внедрения новой системы сократила время обработки товаров на складе на 20%. Результатов добилась и столичная сеть магазинов электроники, увеличив оперативность обмена данными между головной организацией и офисами продаж. А крупный ритейлер алкогольной продукции ускорил основные рабочие операции на 20%.
Оптимизация отчетности
Упомянутая выше сеть магазинов электроники с помощью использования ERP-системы повысила достоверность коммерческой, финансовой и учетной информации на 30%. На такую же цифру сократились сроки подготовки управленческой отчетности у другого нашего заказчика, занимающегося оптовыми продажами алкогольной продукции, и на 20% снизить это время удалось сети магазинов «у дома». Другая аналогичная сеть сократила срок закрытия отчетных периодов до 20 регламентных дней.
Заключение: кому это нужно
На самом деле практический опыт нашей компании говорит о том, что S/4HANA стоит внедрять далеко не всем компаниям. Прежде всего, нет нужды так сильно напрягаться небольшому бизнесу — иногда действительно может быть достаточно Excel. В случае же крупных компаний необходима определенная степень готовности к внедрению такого продукта.
Поэтому перед стартом проекта внедрения наши аналитики подробно изучают бизнес заказчика и то, как все в компании работает в данный момент. Возможна ситуация, при которой заказчик получит рекомендации о том, что ему нужно сделать, чтобы внедрение S/4HANA могло принести наибольший эффект — тогда ему нужно будет сначала провести подготовительные работы.
Разработка мультитенантных приложений на SAP Cloud Platform в среде Neo, часть 2: авторизация и аутентификация
Во второй статье из цикла про разработку приложений на SAP Cloud Platform в среде Neo мы затронем один из самых важных аспектов — управление авторизацией и аутентификацией пользователей.
В этой статье мы покажем, как установить связь между SAP Cloud Platform и провайдером идентификаций (IDP) воображаемого клиента «ABC PetroCorp», а также добавим пользователей в IDP. Далее мы рассмотрим, как назначить роли для пользователей из компании клиента в конкретном приложении (из IDP), а также — как настроить атрибуты SAML для их передачи из IDP в приложение облачной платформы SCP.
В суббакаунте вымышленного клиента «ABC PetroCorp» из первой статьи уже установлена подписка на приложения мониторинга загрязнения в SCP, предоставляемые «ITeLO Consulting». Теперь сотруднику «ABC PetroCorp» нужно сделать это приложение доступным для других коллег.
Пользователь SAP Cloud Platform может подключить свой корпоративный IDP к облачной платформе и настроить управление безопасностью и аутентификацией для своего приложения, загруженного в SCP.
Компания «ABC PetroCorp» подключила сервис SAP Cloud Platform Identity Authentication, который позволяет обеспечить доступ к бизнес-процессам, приложениям и данным. Этот сервис предоставляет собой SCI-тенант, внутри которого происходит конфигурация приложений и управление авторизацией пользователей.
У Эмили, воображаемого героя из первой статьи, есть доступ к данному SCI-тенанту — она является его администратором и может настраивать авторизацию пользователей в конкретном приложении. Она хочет разобраться в том, как создать эти конфигурации при помощи сервиса Identity Authentication.
Шаг 1: Установка доверительных отношений между SCI-тенантом и субаккаунтом SCP.
Шаг 2: Импорт пользователей в SCI-тенант и обновление (добавление) необходимых атрибутов.
Шаг 3: Назначение ролей пользователям на уровне приложения в SCP.
Шаг 4: Настройка атрибутов в SCI-тенанте и панели управления SCP для их передачи в приложение.
Шаг 5: Проверка настроек.
Шаг 1: Установка доверительных отношений между SCI-тенантом и субаккаунтом SCP
Эмили является администратором субаккаунта «ABC PetroCorp» и SCI-тенанта, что дает ей возможность применить необходимые настройки для использования SCI-тенанта в качестве «хранилища пользователей» для мультитенантного приложения, предоставляемого провойдером «ITeLO Consulting».
Для начала Эмили необходимо установить доверительные отношения между SCI-тенантом и субаккаунтом SCP клиента «ABC PetroCorp».
Перейдем к консоли администрирования сервиса Identity Authentication, воспользовавшись ссылкой «https://.accounts.ondemand.com/admin», где — это идентификатор SCI-тенанта. Эту ссылку можно найти в регистрационном письме, которые приходит администратору тенанта сервиса Identity Authentication. Там же обозначен и идентификатор тенанта.
Консоль администрирования сервиса Identity Authentication выглядит следующим образом:
В открывшемся меню «Trust Management» переходим во вкладку «Local Service Provider» и нажимаем «Edit».
Затем выполняем следующие шаги:
Нажимаем на «Get Metadata», чтобы скачать файл метаданных в формате «xml», который содержит ранее описанные конфигурации. Он будет использован для установления доверительных отношений с SCI-тенантом.
В появившемся окне вводим имя приложения (например, ABC_PetroCorp_IDP) и нажимаем «Save». После этого в тенанте для нашего приложения будет создана новая точка.
В созданном приложении переходим во вкладку «Trust» и выбираем параметр «SAML 2.0 Configuration».
В разделе «Define from Metadata» нажимаем «Browse» и выбираем файл метаданных в формате «xml», который мы скачали ранее при настройке доверительных отношений в субаккаунте SCP. Детали, касающиеся конфигурации SAML 2.0, будут автоматически заполнены после загрузки файла. Нажимаем «Save» — теперь конфигурация SAML 2.0 создана и сохранена для этого приложения.
Во вкладке «Overview» будет нужный нам URL.
Затем возвращаемся к точке приложения в SCI-тенанте, обозначаем URL-приложения в «Home URL» и нажимаем «Save».
В открывшемся окне нажимаем «Download Metadata File», чтобы скачать файл формата «xml», содержащий конфигурации SCI-тенанта. Он будет использован в дальнейшем для настройки доверительных отношений с субаккаунтом клиента в SCP.
Во вкладке «General» нажимаем «Browse» и выбираем файл метаданных в формате «xml», скачанный из консоли администрирования сервиса Identity Authentication. Детали конфигурации автоматически заполняются после загрузки файла. Убираем галочку у поля «Only for IDP-Initiated SSO» и нажимаем «Save».
Теперь доверительные отношения между субаккаунтом клиента «ABC PetroCorp» и его SCI-тенантом успешно установлены. Те же настройки можно применить для субаккаунтов других клиентов (например, для клиента «XYZ EnergyCorp»).
Шаг 2: Импорт пользователей в SCI-тенант и обновление (добавление) необходимых атрибутов
Эмили необходимо обеспечить регистрацию пользователей приложения в корпоративном IDP компании ABC PetroCorp.
В идеале корпоративный IDP (в нашем случае SCI-тенант) уже включал бы в себя список всех пользователей в компании. Для наглядности мы импортируем некоторых пользователей в SCI-тенант, после этого они получат соответствующие разрешения для доступа в приложение.
Демо-пользователи для приложения хранятся в файле формата «csv» на github — в Github.
Скачаем файл «CSV» для «ABC PetroCorp» из GitHub. В файле формата «csv» обозначены два пользователя:
«CSV»-файл для «ABC PetroCorp» содержит вымышленные email-адреса пользователей. Их нужно заменить на реальные, так как потом на них придут письма для активации аккаунтов. Например, если ваша реальная почта «john.smith@sap.com», то необходимо заменить обозначение <> на «john.smith», а > на «sap».
Пользователи должны активировать свой аккаунт. Чтобы получить e-mail со ссылкой для активации, необходимо нажать «Send» в окне «Send E-Mails».
Перейдем к пользователю P000011 или «Area Manager» и добавим имя, которое можно будет также использовать и в качестве логина для входа. Для этого нажимаем на значок редактирования в поле «Personal Information» и заполняем «Login Name» (в нашем случае это Johan).
После чего нажимаем «Save».
Теперь проделаем тоже самое с пользователем P000010 или «Plant Supervisor», но назовем его Smith.
У пользователя «Plant Supervisor» должна быть возможность просмотра информации только о своем заводе, то в секции с информацией о компании необходимо обозначить идентификатор компании (как этот идентификатор будет использоваться, будет объяснено в Шаге 4).
Для этого перейдем к разделу «Company Information» и введем идентификатор завода, а именно «101», в поле «Company».
Теперь информация о наших пользователях изменена. Для их активации переходим в указанные в «csv» файле почтовые ящики и переходим по ссылке для активации, либо нажимаем «Click here to activate your account».
Итак, мы успешно импортировали пользователей в SCI-тенант, обновили информацию о них и активировали их.
Шаг 3: Назначение ролей пользователям на уровне приложения в SAP Cloud Platform
Мультитенантное приложение «Pollution Monitoring», созданное Робертом из компании «ITeLO Consulting», предоставляет две предопределенные роли «PlantSupervisor» и «AreaManager», которые контролируют авторизацию пользователей в приложении и определяют, что видит конечный пользователь.
Перейдем к файлу «web.xml», расположенном по пути «/pollutionmonitoring
/src/main/webapp/WEB-INF/web.xml» в папке проекта.
Откроем файл и убедимся, что две вышеупомянутые роли заданы в приложении.
Теперь перейдем к файлу «PollutionDataService.java», расположенному по пути «/pollutionmonitoring/src/main/java/com/sap/hana/cloud/samples/pollutionmonitoring/api/PollutionDataService.java» проекта и откроем его.
В этом файле обозначен метод «getCompanyPollutionData()». Он позволяет проверить, является ли пользователь администратором (менеджером). Если да, то в приложении отображаются данные по всем заводам, если же нет – данные фильтруются по идентификатору завода (plant_id). Также в приложении будет отображаться информация только по тем заводам, идентификаторы которых соответствуют обозначенным в информации о пользователе.
Для большей ясности можно обратиться к методу «isUserAdmin()», который позволяет определить по роли, является ли тот или иной пользователь администратором (менеджером) или нет.
Аналогичный алгоритм применяется для извлечения данных о заводе из локальных систем.
Теперь Эмили как сотруднику компании «ABC PetroCorp» нужно выделить менеджеров области и руководителей заводов, назначив им соответствующие роли («ABCPlantSupervisor» и «ABCAreaManager») в приложении в SCP.
Далее переходим во вкладку «Roles» (на уровне приложения).
В открывшемся окне появится список ролей, обозначенных в приложении. Выбираем роль «PlantSupervisor» и нажимаем «Assign». В появившемся окне вводим идентификатор пользователя, обозначенного в SCI-тенанте как «ABCPlantSupervisor». В нашем случае идентификатором такого пользователя будет P000010.
Затем выбираем роль «AreaManager» и нажимаем «Assign». В появившемся окне вводим идентификатор пользователя, обозначенного в SCI-тенанте как «ABCAreaManager» (в нашем случае идентификатором такого пользователя будет P000011).
Итак, мы успешно сопоставили роли приложения с соответствующими пользователями «ABC PetroCorp» из SCI-тенанта.
Те же настройки можно применить в субаккаунте другого клиента (например, «XYZ EnergyCorp»).
Шаг 4: Настройка атрибутов в SCI-тенанте и панели управления SCP для их передачи в приложение
Роберт из «ITeLO Consulting» запрограммировал мультитенантное приложение таким образом, что ему необходимо передать идентификатор завода пользователя «PlantSupervisor», чтобы данные о заводе могли быть отфильтрованы в приложении для этого конкретного идентификатора завода.
В предыдущих шагах мы добавили идентификатор завода пользователю «PlantSupervisor» в SCI-тенанте в поле «Company Information», который теперь нам нужно передать в мультитенантное приложение. Далее он может использоваться в приложении для отображения данных, относящийся к конкретному заводу. Пользователь «AreaManager» по сути является администратором, который может просматривать данные со всех заводов.
Давайте посмотрим, как это организовано на уровне кода приложения.
Откроем файл «PollutionDataService.java», расположенный по пути «/pollutionmonitoring/src/main/java/com/sap/hana/cloud/samples/pollutionmonitoring/api/PollutionDataService.java» в проекте.
В данном файле описан метод «getPlantId()». Этот метод описывает получение имени пользователя и проверку атрибута «PLANT_ID», который используется для фильтрации данных об уровне загрязнения и данных завода.
Мы можем передавать атрибуты пользователя из SCI-тенанта в приложение через «SAML Assertion Attributes». Это необходимо, чтобы атрибут пользователя из SCI-тенанта, содержащий информацию о компании, был считан SCP во время входа пользователя в систему. Нужно, чтобы так называемый «Assertion Attribute» (атрибут утверждения), определенный для пользователя, был передан в приложение мониторинга загрязнения.
Для этого сначала создаём «Assertion Attribute» в SCI-тенанте, затем — обозначаем атрибут утверждения в основном атрибуте («Principal Attribute») в субаккаунте «ABC PetroCorp», который может быть прочитан кодом приложения, как показано выше.
Появится список уже существующих атрибутов, нам нужно в него ещё один. Для этого нажимаем на кнопку «Add» и выбираем атрибут «Company».
Затем в значение атрибута добавляем «plant_id» (чувствителен к регистру) и нажимаем «Save».
В открывшемся окне переходим на вкладку «Attributes» и нажимаем «Add Assertion-Based Attribute». В поле «Assertion Attribute» вводим значение «plant_id» (как в SCI-тенанте), а в поле «Principal Attribute» вводим «PLANT_ID» (это значение будет передано в приложение как код завода) — и нажимаем «Save».
Итак, мы успешно настроили атрибуты в SCI-тенанте и в панели управления SCP для их передачи в приложение.
Шаг 5: Проверка настроек
Теперь Эмили может проверить, правильно ли определены настройки SCI-тенанта (IdP) для субаккаунта «ABC PetroCorp» в SCP и для приложения, которое предоставляет провайдером.
Скопируем ссылку на приложение. Откроем новую вкладку в браузере в режиме инкогнито и вставим ссылку на HTML5-приложение. Появится окно для входа в приложение, где будет отображаться название, обозначенное в SCI-тенанте.
Если всё настроено верно, то у вас должна появиться возможность входа в приложение под пользователями «AreaManager» и «PlantSupervisor», обозначенными в SCI-тенанте.
В нашем случае менеджером области является пользователь Johan (P000011), а начальником завода – Smith (P000010). В приложение под этими пользователями можно войти, используя в качестве логина либо имя пользователя, либо его идентификатор.
Примечание: при входе в приложение на этом этапе никакие данные не будут отображены. Это нормально, так как настройка еще не завершена и локальная система не подключена.
Итак, мы настроили связь провайдера идентификаций (IDP) с нашим приложением для мониторинга загрязнения в SCP. Мы также импортировали пользователей и назначили им правильные роли для доступа к приложению, обеспечили передачу корректной информации о заводе в приложение.