Сегодня мы с вами разберемся – что же такое интерфейс в терминах SAP Process Integration, из чего он состоит и, как говорится, “с чем его едят”.
Весь цикл статей:
SAP Process Integration – основы. Часть 1: историческая.
SAP Process Integration – основы. Часть 2 – обзор архитектуры.
SAP Process Integration – основы. Часть 3 – System Landscape Directory.
Основы SAP PI. Часть 4 – “Что такое интерфейс?”.
Основы SAP PI. Часть 5 – “Integration Directory, настройка интерфейса“
Основы SAP PI. Часть 6 – “Правила маршрутизации и pipeline. Почтальон Пиайкин за работой.“
Основы SAP PI. Часть 7 — «Системы всего ландшафта – соединяйся! Адаптеры».
Договоримся о терминах.
Для начала – словарное определение:
Интерфе́йс (англ. interface — сопряжение, поверхность раздела, перегородка) — совокупность возможностей, способов и методов взаимодействия двух систем <..>, устройств или программ для обмена информацией между ними, определённая их характеристиками, характеристиками соединения, сигналов обмена и т. п.
Wikipedia
Заметим, что интерфейсом можно назвать как способ передачи/приема данных одной системы (например, “SAP ERP принимает данные через интерфейс BAPI_OBJECT_CREATE..”), так и совокупность интерфейса системы-отправителя данных, интерфейса системы-получателя данных и необходимых преобразований между ними.
В зависимости от направления движения информации, интерфейсы систем делятся на исходящие (outbound) и входящие (inbound).
Интерфейсы также делятся на синхронные (syncronious) и асинхронные (asyncronious). Синхронные интерфейсы работают по принципу “запрос-ответ”, при этом исходная система останавливает работу до получения ответа от целевой системы, то есть системы синхронизируют свою работу в процессе обмена данными. Асинхронные интерфейсы передают данные только в одну сторону и не ожидают получения ответа.
Процесс преобразования данных и технического протокола передачи между исходящим и входящим интерфейсом называется мэппингом (mapping). Надо сказать, что в SAP Process Integration задачи преобразования данных и протокола разделяются. Первым занимаются программы мэппинга, вторым – адаптеры.
Данные в различных системах могут различаться как по структуре, так и по набору значений (пример – различные артикулы одного и того же товара в складской и торговой системах). Мэппинг также делиться на два вида: мэппинг структуры (structure mapping) и мэппинг значений (value mapping).
Таким образом, схема интерфейса в вышеназванных терминах будет выглядеть так:
Задачи преобразования обычно либо возлагаются на одну из систем, либо на специальное программное обеспечение – интеграционные шины ( middleware). Первый способ хорош, если в ландшафте интерфейсов немного и существуют квалифицированные кадры, готовые разрабатывать и поддерживать эти интерфейсы. Если же интерфейсов много (либо планируется рост их числа) и хочется сократить затраты на разработку и содержание интерфейсов (унифицировать разработку и поддержку интерфейсов, уменьшить зависимость от разработчиков интерфейсов) – нужно задуматься о внедрении интеграционной шины.
Интеграционная шина SAP Process Integration.
Любая интеграционная шина должна решать, как минимум, следующие задачи:
- преобразовать технологический протокол передачи данных из исходного в целевой;
- преобразовать структуру данных из исходной в целевую;
- преобразовать значения данных там, где это необходимо.
Что из себя представляет “система”, которую нужно интегрировать?
Это некоторая “железка”, компьютер или сервер, на которой установлено программное обеспечение. В программном обеспечении предусмотрена возможность “выгрузить” (передать, отправить) или “загрузить” (принять) некоторые данные.
Вспомним некоторые термины из предыдущей статьи про SLD и подставим их в предыдущее утверждение.
Бизнес-система – это техническая система на которой установлены программные компоненты, включающие в себя интерфейсы.
Как мы помним, бизнес-система, техническая система, программные компоненты – все это объекты модели ландшафта в SLD. Интерфейсы – новый тип объекта. В SAP Process Integration за создание, обработку и хранения такого типа объектов отвечает отдельный репозитарий – Enterprise Service Repository (ESR).
Интерфейс в Enterprise Service Repository (ESR).
Связь между SLD и ESR можно изобразить следующим образом:
На левой части рисунка мы видим систему в интеграционном ландшафте – бизнес-система, основанная на технической системе с установленными программными компонентами (продукт в данной связи не используется).
Компоненты импортируются из SLD в репозитарий интерфейсов (ESR), а интерфейсы – создаются в ESR с привязкой к программному компоненту.
В ESR, помимо интерфейсов, также создаются объекты мэппинга – правила и программы преобразования структуры и значений данных при передаче их из исходящего интерфейса во входящий.
В Enterprise Service Repository есть еще множество разных объектов, но на данном этапе мы не будем их затрагивать – важнее сейчас понять принцип построения интерфейса в SAP PI.
Таким образом, в ESR строится модель интерфейса, в которой описаны структуры и формат данных исходящего и целевого интерфейсов, а также правила преобразования данных и значений между ними. То есть, при помощи объектов ESR мы решаем две из трех основных задач интеграции – преобразование данных и преобразование значений.
А что же третья задача – преобразование протоколов передачи данных?
Этим занимается другой репозитарий – Integration Directory.
О нем мы поговорим в следующей статье.