Создание web-сервиса в системе SAP

Так как еще не было ни одного слова сказано про создание web-сервиса в системе SAP на этих уютненьких страницах, исправляюсь.

Начну с двух обязательных составляющих, являющихся неотъемлемыми атрибутами архитектуры любого веб-сервиса, будь он реализован в системе SAP или ей подобной.

См. Web Service

SOAP

Протокол обмена данными между различными системами посредством XML сообщений, если можно так сказать.

См. SOAP

SOAP (originally Simple Object Access Protocol) is a messaging protocol specification for exchanging structured information in the implementation of web services in computer networks. Its purpose is to induce extensibility, neutrality and independence. It uses XML Information Set for its message format, and relies on application layer protocols, most often Hypertext Transfer Protocol (HTTP) or Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission.

WSDL

Язык описания структуры самого веб-сервиса для его использования внешними системами (системами-потребителями). Структура сервиса описывается посредством XML.

См. Web Services Description Language

The Web Services Description Language (WSDL) is an XML-based interface definition language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service (also referred to as a WSDL file), which provides a machine-readable description of how the service can be called, what parameters it expects, and what data structures it returns. Therefore, its purpose is roughly similar to that of a type signature in a programming language.

Что мне дает симбиоз SOAP и WSDL?

Безусловно экономию времени, а также удобство в использовании. В системе SAP возможно в автоматическом режиме сгенерировать WSDL схему вашего сервиса для предоставления коллегам, которые собираются его вызывать извне. Структура сервиса становится доступной из любого soap-клиента, который вы, или ваши коллеги, используют в работе.

Пример создания веб сервиса

Разберем хрестоматийный пример создания веб-сервиса в системе SAP. Полезности в нем особенно не будет, но последовательность действий может пригодиться, что называется, для общего развития.

0. Задача

Создать веб-сервис, возвращающий из системы SAP фамилию и имя работника по его табельному номеру.

1. Создание функционального модуля

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

При создании ФМ, обратите внимание на то, что для него должно быть активировано свойство Remote-Enabled Module

См. remote function call

Рисунок 1.

Наполнение ФМ, согласно поставленной выше задаче, будет следующим

Рисунок 2.

За использование конструкции вида SELECT * FROM прошу строго не судить. Исключительно демонстрации ради.

2. Создание веб-сервиса (1)

Откройте группу функций, к которой относится ваш ФМ в транзакции SE80, и, кликнув по ней правой кнопкой мыши, выберите в контекстном меню Create -> Other objects -> Enterprise Service

См. Function Groups

Рисунок 3.

Система поможет вам в создании нового веб-сервиса, предложив указать дополнительную информацию

Рисунок 4.

В результате проделанных манипуляций будет создан новый веб-сервис

Рисунок 5.

В созданном веб-сервисе я изменю настройки безопасности, выбрав значение None на закладке Configuration в блоке Security Profile (исключительно для демонстрации в заметке)

См. Authentication for Web ServicesLocate this document in the navigation structure

Рисунок 6.

Не забудьте активировать вновь созданный сервис.

3. Промежуточное тестирование веб-сервиса на стороне SAP

Выполните тест нового веб-сервиса

4. Создание веб сервиса (2)

Последующие манипуляции по настройке нового веб-сервиса должны быть проделаны в транзакции SOAMANAGER. На ниже представленном видеофрагменте представлена соответствующая последовательность действий

См. Working with SOA Manager

5. Тестирование доступа к веб-сервису из внешнего приложения

В качестве демонстрации доступа к новому веб-сервису извне, я буду использовать клиент SoapUI.

Скопируйте WSDL ссылку на свой сервис

Рисунок 7.

В клиенте SoapUi создайте новый проект и выполните тестирование

За более подробной информацией по этой, безусловно, интересной теме, обращайтесь к справочному материалу вендора

См. Web Service Providers