Являются ли API-интерфейсы SAP BAPI проприетарными или просто оберткой для чего-то еще? - PullRequest
5 голосов
/ 08 октября 2009

Итак, я только что попал в середину проекта с участием SAP. В частности, мне нужно использовать API-интерфейсы SAP BAPI, чтобы извлечь кучу информации из системы SAP «Клиента». Учитывая, что SAP является закрытой платформой, у меня возникли проблемы с поиском высокоуровневого обзора, кто / что / где / когда / как, SAP и BAPI. В частности

  1. Является ли BAPI просто оболочкой для SOAP и / или XML-RPC, или это полностью проприетарный формат связи?

  2. Есть ли расширение PHP или библиотека для работы с этими API?

  3. Я видел аббревиатуру ABAP. Что это значит, и где это вписывается в вещи?

На данный момент я ищу хорошие ресурсы, которые могут дать мне 10 000-футовый обзор. Я понимаю, что вы могли бы потратить всю жизнь, работая с этой системой ERP, и все же не все понимать. Мне просто нужен базовый обзор, чтобы я мог общаться с сотрудниками SAP «Клиента» и не казаться полным новичком.

Ответы [ 4 ]

7 голосов
/ 07 ноября 2009

BAPI означает B удобство A применение P программирование I интерфейс.

Целью SAP при внедрении BAPI было обеспечение ...

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

бизнес-API, обеспечивающие стандартизированный доступ к решениям SAP на семантическом уровне.

Тем не менее, BAPI являются проприетарными интерфейсами SAP.

Интерфейсы BAPI обеспечивают унифицированный доступ к функциональности уровня приложения, независимо от типа вызова: синхронная и асинхронная обработка может быть срабатывает при использовании этих интерфейсов.

Синхронная обработка BAPI приведет к выполнению RFC (Удаленный вызов функций, собственный протокол RPC SAP).

Асинхронная обработка прозрачно использует ALE (Application Link Enabling, собственный формат EDI SAP).

Такие продукты, как адаптер SAP webMethods (также называемый SAP Business Connector), обеспечивают двунаправленный доступ на уровне обслуживания к BAPI, а также протоколам RFC и ALE более низкого уровня от / к удаленному месту назначения.

При использовании этих инструментов не нужно беспокоиться об ABAP, языке программирования 4GL, в котором реализована бизнес-логика SAP.

Существует также несколько сопоставлений XML, определенных для BAPI (а также RFC и IDoc), которые позволяют передавать деловые документы в конверте XML. Это наиболее заметно

  • bXML (Content-Type: application / x-sap.busdoc)
  • RFC-XML (Content-Type: application / x-sap.rfc)
  • IDoc-XML (Content-Type: application / x-sap.idoc)

, а также SOAP.

7 голосов
/ 08 октября 2009

Хорошо, я попробую ...

  1. ABAP - это язык программирования, на котором написана большая часть системы SAP. В основном это версия COBOL для 4 / GL с добавлением некоторого SQL.

  2. BAPI («Бизнес-API») - это спецификация интерфейса SAP и способ получения информации из системы. Я бы сказал, что самый простой способ взглянуть на это - это удаленный вызов процедур в системе SAP, предоставляющий вам доступ к данным и функциям (написанным на ABAP), которые есть в SAP. Он дает вам некоторый API для извлечения данных из системы (например, заказа), изменения их в вашем приложении (например, добавления позиций в заказ), а затем проводки их обратно, а также вызова бизнес-функций (например, публикации этого заказа, чтобы он был более подробным). обрабатывается в системе SAP).

  3. Существуют оболочки для вызова BAPI с нескольких языков. Просто Google или поиск в справочной системе SAP или в сети разработчиков sap онлайн на sdn.sap.com

Удачи в том, что ты не похож на новичка ... или просто признайся в этом ... Удачи!

4 голосов
/ 09 октября 2009
  1. Забудьте о бапи на секунду. SAP имеет собственный протокол связи, называемый RFC (удаленный вызов функций). SAP предоставляет dll (или общую библиотеку для * nix), которую можно использовать для вызова функций в SAP из c. SAP также предоставляет оболочки этой библиотеки для Java и .net. И есть обертки с открытым исходным кодом этой библиотеки для php, python, perl и ruby. Так что процесс идет. а) кто-то разработал (дистанционно активированную) функцию в abap. б) вы можете использовать rfc dll с оболочкой для вашего языка и вызывать эту функцию sap. в) все счастливы.

    Позволяет вернуться в BAPI. Основано на технологии, описанной в предыдущем разделе. SAP решила создать набор функций, которые делают бизнес вещи. И они решили назвать их BAPI. Потому что название «Функции, которые делают бизнес» не круто.

  2. Вот расширение php для вызова sap. Вы также можете найти много информации о php и sap в sap sdn .

  3. ABAP - язык платформы sap.

1 голос
/ 07 июня 2012

BAPI - это удаленно включенные функциональные модули, к которым прикреплены некоторые «стандарты» программирования, если кто-то хочет назвать их «BAPI», например сообщения возвращаются в определенных форматах, параметры набираются определенным образом. Они на самом деле являются не чем иным, как функциональными модулями SAP, поддерживающими удаленную связь с помощью переключателя.

Я не согласен с тем, что не нужно писать код SAP, потому что SAP предоставил так много BAPI, чтобы покрыть большинство стандартных вещей. Почти каждая реализация требует кода, а поставляемый SAP материал - это просто основа. Менеджеры и менеджеры по продажам скажут по-другому, но это не так.

...