Продолжение, начало: SAP PI – Создаем асинхронный интерфейс. Часть 1.
В предыдущей части мы начали строить асинхронный интерфейс для передачи данных клиента из внешней системы в SAP ERP – подготовили необходимый ландшафт в SLD.
Теперь переходим к другому репозитарию SAP PI – Enterprise Service Repository.
Дизайн интерфейса в Enterprise Service Repository(ESR).
Дизайн интерфейса в SAP PI – это процесс создания модели интерфейса без привязки его к конкретным техническим деталям (системы, протоколы передачи, шифрование и т.п.).
На этом этапе определяются форматы данных и правила преобразования этих форматов. Основным репозитарием для объектов дизайна является Enterprise Service Repository.
Для работы с этим репозитарием в PI 7.4 может быть использовано два инструмента:
- Integration Builder – GUI, основанное на Java Web Start (требует установки JRE на клиентском месте, обновляется автоматически при запуске);
- Netweaver Developer Studio(NWDS) – инструментарий разработчика на базе Eclipse (требует отдельной установки на клиентском месте).
1. Запуск Enterprise Service Builder.
Мы будем использовать для работы Enterprise Service Builder. Для его работы необходима инсталляция Java Runtime Environment на локальной машине разработчика.
Если Java установлена, то запускаем любой удобный браузер и переходим на стартовую страницу SAP PI:
где <host> и <port> – сервер приложений и HTTP-порт системы.
Затем вызываем ссылку Enterprise Service Builder:
Вводим имя пользователя и пароль.
Пользователь должен иметь, как минимум, роль SAP_XI_DEVELOPER_J2EE.
В первый запуск будет выдано сообщение о подготовке файлов Java Web Start на сервере. Ждем минуту, запускаем ссылку Enterprise Service Builder еще раз. После скачивания необходимых файлов с сервера откроется основное окно инструментария разработчика.
В следующий раз запуск пройдет быстрее – все нужные файлы сохраняются в кэш Java. Если на сервере было обновление, то Java Web Start при запуске автоматически скачает новую версию клиентского программного обеспечения. Запустив команду javaws -viewer можно настроить используемую версию JRE/JDK и просмотреть/очистить кэш.
Рабочее окно делиться на две части – дерево объектов слева и рабочая область, в которой отображаются выбранные объекты – справа.
2. Подготовка к разработке – организация объектов в ESR.
Объекты в дереве слева объединены следующей иерархией:
Для начала разработки нам нужно импортировать в ESR созданный на предыдущем шаге программный компонент SC_CUSTOMERS_DATABASE.
Запускаем создание объекта (меню ESR -> Object -> New), выбираем Work Area – Software Component Version.
Выбираем “Import from SLD”, нажимаем “Display” – и после некоторого времени (ESR читает данные из SLD) получаем список всех версий программных компонент, имеющихся в наличии.
С помощью инструмента поиска находим наш программный компонент, выделяем его и нажимаем “Import”.
После импорта данных остается лишь дополнить параметры – например, указать язык по-умолчанию для всех объектов.
Если необходимо, то можно указать параметры сервера сообщений ERP системы, из которой в последствии будут импортироваться интерфейсы. Если поля не заполнить сейчас – ничего страшного не случится, их в любой момент можно заполнить позже.
Сохраняем наши изменения кнопочкой “Save”, и переходим к заполнению следующего уровня иерархии объектов – пространства имен.
Пространство имен в SAP PI – это некоторый набор символов, построенный по правилам URL (Uniform Resource Locator) или URN (Uniform Resource Name). URL не обязательно должен существовать в интернете. Пространство имен – это один из элементов уникального ключа объекта и используется для объединения и разделения групп объектов интерфейса.
К примеру, с помощью пространства имен можно отделить объекты интерфейсы базы данных от интерфейсов ERP. Объекты с одинаковым именем, но с разным пространством имен, в PI считаются различными объектами. Пространство имен пришло в SAP Process Integration из спецификации языка XML.
В окне свойств версии программного компонента, в разделе Namespaces нажимаем кнопку “Open” и переходим к редактированию пространств имен.
Создаем новое пространство имен, задаем URL и описание.
Продумайте правила формирования пространства имен и зафиксируйте их документально – это сильно поможет в будущих разработках (особенно, если разработки будут вестись группой специалистов – тут должен быть стандарт наименования всех объектов разработки).
Пример подобного стандарта: При именовании пространства имен используется префикс «http://sap.pitroff.ru/», за которым идет имя группы интерфейсов (разделяются по функциям – примеры, мосты, MM, SD и т.п) и название интерфейса. Например, http://sap.pitroff.ru/examples/interface1.
Сохраняем изменения.
Теперь наши изменения нужно активировать.
3. Активация объектов в ESR.
Для обеспечения ведения независимых и/или командных разработок все вновь созданные/измененные/удаленные объекты попадают в так называемый лист изменений (change list). Для того, чтобы наши изменения были учтены сервером интеграции и были использованы в работе интерфейсов, нам необходимо произвести активацию изменений.
Для этого переключаемся на вкладку Change Lists, находим лист изменений с нашими объектами, вызываем контекстное меню (через правую кнопку мыши) и выбираем Activate. Активировать можно как весь лист изменений, так и каждый объект по отдельности (через контекстное меню объекта). Здесь можно также отменить изменения, выбрав пункт “Reject”.
Если все в порядке, то SAP PI выдаст сообщение об успешной активации, а на вкладке Design Objects будет следующая картина:
Дополнительную информацию по механизму обработки изменений и активации объектов в SAP PI можно почитать тут – “Не работает? Обнови кэш!”. Архитектура и механизм кэширования в SAP PI 7.4
На этом все подготовительные работы закончены, можно приступать к разработке.
В следующей статье мы разберем непосредственно создание объектов интерфейса.
Хороший гайд для новичков