Перейти к содержимому
Kitegra
← Вернуться в блог

Модуль в этой статье: iFlow Inspector

Соглашения об именовании в SAP CPI: набор правил, который команда может соблюдать

Соглашения об именовании шагов, каналов, свойств и адресов ProcessDirect в SAP CPI в виде общего набора правил команды — и как проверить по нему каждый iFlow.

Соглашения об именовании в SAP CPI: набор правил, который команда может соблюдать

У большинства команд SAP Cloud Integration (SAP CPI) есть соглашения об именовании. Гораздо реже им следует каждый iFlow, потому что правила живут на странице вики, а имя Content Modifier перед транспортом никто не проверяет.

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

Почему имена важны в SAP CPI

Имя шага — то, что вы видите, когда что-то ломается. Монитор сообщает о шаге с ошибкой по имени, поиск «шага, который задаёт ID заказа» найдёт его, только если это сказано в имени, а проектный документ или передача дел читаются как подписи на схеме. «Content Modifier 3» ничего не говорит; CM_SetOrderHeaders говорит, что шаг делает.

Единообразные имена также делают два iFlow сравнимыми: ревьюер, знающий соглашение, с первого взгляда прочтёт любой iFlow команды.

Стартовое соглашение

Для большинства команд достаточно префикса по виду шага, за которым следует то, что шаг делает, в PascalCase. Это набор, который поставляется с Kitegra; это отправная точка для адаптации, а не стандарт SAP:

ЭлементШаблонПример
Content ModifierCM_<Action>CM_SetOrderHeaders
Скрипт Groovy или JavaScriptGS_<Action>GS_BuildPayload
RouterRT_<Decision>RT_ByOrderType
Request ReplyRR_<System>RR_S4HanaOData
Content EnricherCE_<Lookup>CE_CustomerMaster
Process CallPC_<Process>PC_CallValidateOrder
Local Integration ProcessLIP_<Purpose>LIP_ValidateOrder
Exception SubprocessESP_<Purpose>ESP_LogAndAlert
Message MappingMM_<Source>_to_<Target>MM_Order_to_SalesOrder
Sender и Receiver<PascalCase>S4Hana, Salesforce
Exchange property<camelCase>orderId
Адрес ProcessDirect/<Path>/orders/validate

Запишите соглашение в виде правил

Соглашение, которое может проверить инструмент, — это список правил, по одному на вид элемента. Литеральный текст должен совпадать точно; <Placeholder> означает любой текст; <PascalCase>, <camelCase>, <UPPER>, <lower> и <Number> означают текст такой формы. Для каждого вида действует первое правило, и у каждого правила есть важность: «Ошибка», «Предупреждение» или «Инфо».

В Kitegra правила — это набор правил в JSON. Фрагмент:

{
  "rules": [
    {
      "id": "content-modifier",
      "target": "content-modifier",
      "pattern": "CM_<Action>",
      "example": "CM_SetOrderHeaders",
      "notes": "Content Modifier: CM_ and what it sets.",
      "severity": "warning",
      "enabled": true
    },
    {
      "id": "mapping",
      "target": "mapping",
      "pattern": "MM_<Source>_to_<Target>",
      "example": "MM_Order_to_SalesOrder",
      "notes": "Message Mapping: source and target message.",
      "severity": "info",
      "enabled": true
    },
    {
      "id": "property",
      "target": "property",
      "pattern": "<camelCase>",
      "example": "orderId",
      "notes": "Exchange property names in camelCase.",
      "severity": "info",
      "enabled": true
    }
  ]
}

Договоритесь о нём всей командой

  1. Откройте страницу параметров расширения и найдите «Правила именования». Изначально там набор по умолчанию.
  2. Измените у правила «Шаблон», «Важность» или «Примечания», отключите правило флажком «Правило вкл.» или выберите «Добавить правило» и укажите, что оно «Проверяет».
  3. Выберите «Экспорт JSON» и положите файл туда, где команда хранит свои стандарты, рядом с правилами транспорта.
  4. Каждый коллега выбирает «Импорт JSON» с этим файлом. Если он вошёл через Kitegra, набор затем доступен ему на любом компьютере.

Синхронизация держит набор одного человека одинаковым на всех его компьютерах; одинаковые правила для всей команды обеспечивает общий файл JSON.

Проверьте iFlow по правилам

Откройте iFlow, нажмите кнопку «Инструменты Kitegra» и выберите «Инспектор» (или нажмите Alt+Shift+K). Вкладка «Именование» перечисляет все имена не по правилам, а их число показано на кнопке: фактическое имя, что «Ожидается», «Пример» и, если содержимое шага это позволяет, имя, которое «Предлагается», составленное из того, что делает шаг. Щелчок по находке выделяет шаг на схеме.

В режиме редактирования «Переименовать» вводит предложенное имя в поле Name шага. Оно никогда не сохраняет: панель сообщает «Переименовано. Сохраните iFlow, чтобы оставить изменение.», и решаете вы.

Те же находки появляются в отчёте iFlow рядом с проверками дизайна, как показывает чек-лист ревью iFlow, а хорошие имена делают сгенерированный проектный документ удобным для чтения.

Чем помогает Kitegra

Именование — часть iFlow Inspector в Kitegra. Проверка читает модель iFlow в вашем браузере; ваш набор правил синхронизируется с аккаунтом Kitegra, когда вы входите, а содержимое iFlow никогда не отправляется.

Helper, Message Monitor, iFlow Inspector и iFlow Docs по отдельности считают iFlow, на которых вы их используете: 5 на модуль без аккаунта Kitegra, 50 на тарифе Free, 100 на Starter и 300 на Pro; в Business ограничений нет. Toolbox и дополнения для рабочего пространства бесплатны. Сравните тарифы.

Попробуйте в следующем iFlow

Узнайте, что Kitegra добавляет к дизайнеру SAP Integration Suite, или посмотрите его рядом с другими расширениями Kitegra для Chrome.

Частые вопросы

Есть ли у SAP официальное соглашение об именовании для CPI?

SAP публикует рекомендации, но каждая команда устанавливает свои правила. Набор из этой статьи — отправная точка для адаптации.

Что должно содержать имя шага?

Вид шага и то, что он делает, например CM_SetOrderHeaders для Content Modifier, который задаёт headers заказа.

Как поделиться правилами именования с командой?

Экспортируйте набор правил в JSON на странице параметров, храните файл со стандартами команды и попросите каждого коллегу его импортировать.

Переименовывает ли расширение шаги само?

Нет. «Переименовать» вводит предложенное имя в поле Name шага в режиме редактирования, а iFlow вы сохраняете сами.

Можно ли сделать правило ошибкой, а не предупреждением?

Да. У каждого правила есть важность: «Ошибка», «Предупреждение» или «Инфо».

Проверяются ли и имена exchange properties?

Да. Набор по умолчанию ожидает camelCase для exchange properties, и это правило можно изменить.

Работайте с iFlows, не покидая дизайнер

Добавьте Kitegra в Chrome или Microsoft Edge. Начните бесплатно, без аккаунта.