Основы SAP PI. Часть 4 – «Что такое интерфейс?».

cern

Сегодня мы с вами разберемся — что же такое интерфейс в терминах 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

Рис.1: Интерфейс

Рис.1: Интерфейс


Заметим, что интерфейсом можно назвать как способ передачи/приема данных одной системы (например, «SAP ERP принимает данные через интерфейс BAPI_OBJECT_CREATE..»), так и совокупность интерфейса системы-отправителя данных, интерфейса системы-получателя данных и необходимых преобразований между ними.

В зависимости от направления движения информации, интерфейсы систем делятся на исходящие (outbound) и входящие (inbound).

Рис.2: Исходящий и входящий интерфейсы

Рис.2: Исходящий и входящий интерфейсы

Интерфейсы также делятся на синхронные (syncronious) и асинхронные (asyncronious). Синхронные интерфейсы работают по принципу «запрос-ответ», при этом исходная система останавливает работу до получения ответа от целевой системы, то есть системы синхронизируют свою работу в процессе обмена данными. Асинхронные интерфейсы передают данные только в одну сторону и не ожидают получения ответа.

Рис.3: Синхронные и асинхронные интерфейсы.

Рис.3: Синхронные и асинхронные интерфейсы.

Процесс преобразования данных и технического протокола передачи между исходящим и входящим интерфейсом называется мэппингом (mapping). Надо сказать, что в SAP Process Integration задачи преобразования данных и протокола разделяются. Первым занимаются программы мэппинга, вторым — адаптеры.

Данные в различных системах могут различаться как по структуре, так и по набору значений (пример — различные артикулы одного и того же товара в складской и торговой системах). Мэппинг также делиться на два вида: мэппинг структуры (structure mapping) и мэппинг значений (value mapping).

Таким образом, схема интерфейса в вышеназванных терминах будет выглядеть так:

Рис.4: Интерфейс и его составляющие

Рис.4: Интерфейс и его составляющие

Задачи преобразования обычно либо возлагаются на одну из систем, либо на специальное программное обеспечение — интеграционные шины ( middleware). Первый способ хорош, если в ландшафте интерфейсов немного и существуют квалифицированные кадры, готовые разрабатывать и поддерживать эти интерфейсы. Если же интерфейсов много (либо планируется рост их числа) и хочется сократить затраты на разработку и содержание интерфейсов (унифицировать разработку и поддержку интерфейсов, уменьшить зависимость от разработчиков интерфейсов) — нужно задуматься о внедрении интеграционной шины.

Рис.5: Чем больше систем и интерфейсов - тем выгоднее внедрение интеграционной шины

Рис.5: Чем больше систем и интерфейсов — тем выгоднее внедрение интеграционной шины

Интеграционная шина SAP Process Integration.

Любая интеграционная шина должна решать, как минимум, следующие задачи:

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

Что из себя представляет «система», которую нужно интегрировать?
Это некоторая «железка», компьютер или сервер, на которой установлено программное обеспечение. В программном обеспечении предусмотрена возможность «выгрузить» (передать, отправить) или «загрузить» (принять) некоторые данные.

Вспомним некоторые термины из предыдущей статьи про SLD и подставим их в предыдущее утверждение.

Бизнес-система — это техническая система на которой установлены программные компоненты, включающие в себя интерфейсы.

Как мы помним, бизнес-система, техническая система, программные компоненты — все это объекты модели ландшафта в SLD. Интерфейсы — новый тип объекта. В SAP Process Integration за создание, обработку и хранения такого типа объектов отвечает отдельный репозитарий — Enterprise Service Repository (ESR).

Интерфейс в Enterprise Service Repository (ESR).

Связь между SLD и ESR можно изобразить следующим образом:

Рис.7: Связь объектов SLD и ESR.

Рис.7: Связь объектов SLD и ESR.

На левой части рисунка мы видим систему в интеграционном ландшафте — бизнес-система, основанная на технической системе с установленными программными компонентами (продукт в данной связи не используется).
Компоненты импортируются из SLD в репозитарий интерфейсов (ESR), а интерфейсы — создаются в ESR с привязкой к программному компоненту.

В ESR, помимо интерфейсов, также создаются объекты мэппинга — правила и программы преобразования структуры и значений данных при передаче их из исходящего интерфейса во входящий.

Рис.8: Интерфейс и его отображение в ESR.

Рис.8: Интерфейс и его отображение в ESR.

В Enterprise Service Repository есть еще множество разных объектов, но на данном этапе мы не будем их затрагивать — важнее сейчас понять принцип построения интерфейса в SAP PI.

Таким образом, в ESR строится модель интерфейса, в которой описаны структуры и формат данных исходящего и целевого интерфейсов, а также правила преобразования данных и значений между ними. То есть, при помощи объектов ESR мы решаем две из трех основных задач интеграции — преобразование данных и преобразование значений.

А что же третья задача — преобразование протоколов передачи данных?

Этим занимается другой репозитарий — Integration Directory.

О нем мы поговорим в следующей статье.

Поделиться:
Share on FacebookShare on VKShare on LinkedInTweet about this on TwitterShare on Google+Digg thisPin on PinterestShare on RedditShare on TumblrEmail this to someonePrint this page

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *