Datum
21.08.2014
Dieser Beitrag wurde verfasst von:
Oft werde ich von Kunden gefragt, ob der IBM Business Automation Workflow auch mit dem vorhandenen SAP kommunizieren könne. Dies ist beispielsweise der Fall, wenn Bedarfsanforderungen erstellt, Rechnungsdaten abgerufen oder Kostenstellenzugehörigkeiten geprüft werden. Die Antwort lautet: „ja“. Der IBM BAW hat zwar keine direkte Schnittstelle zum SAP, aber einige Tricks machen die Verbindung möglich.
Direkte Anbindung zu SAP
In aktuellen SAP-Versionen besteht die Möglichkeit, direkt aus den verfügbaren SAP-Schnittstellen Webservices zu generieren. Diese können im BAW aufgerufen werden. Doch was zunächst nach einer einfachen Aufgabe klingt, erweist sich oft als Kampf mit komplizierten Datenstrukturen, die zu noch komplizierteren Aufrufen führen. Auch das direkte Ansprechen der Java-Schnittstellen mittels dem SAP Java Connector ist mühselig, da stets sämtliche Schnittstellen und Attributsnamen bekannt sein müssen. Der Programmierer benötigt hier entweder volle Kenntnis des SAP-Systems und der Schnittstellen oder einen dauerhaften Ansprechpartner, der jederzeit für Rückfragen zur Verfügung steht.
Doch wie sollen wir aus den oft verwirrenden BAPI-Calls die richtigen Werte auslesen? Und mehr noch: Wie soll das ganze anschließend im BAW verwendet werden?
Die Antwort ist einfach: IBM bietet bereits seit einiger Zeit einen Adapter speziell für SAP an. Dieser kann auf verschiedene Weisen an den IBM BPM angebunden werden. Im Folgenden werde ich auf die beiden häufigsten Methoden eingehen.
Anbindung des SAP über den SAP Adapter mit BAW Advanced
Am einfachsten lässt sich SAP mit der Advanced-Variante des Business Automation Workflows ansprechen. Hier haben wir die Möglichkeit, SCA-Schnittstellen zu verwenden und diese mit einem Advanced Integration Service im BPMN-Prozess anzubinden.
Die SCA-Schnittstelle zum SAP wird vom Adapter über den Namen des BAPI-Bausteins angelegt. Anschließend kann ein grafisches Mapping verwendet werden, um entsprechende Schnittstellen zum Prozess herzustellen. Ob die Anbindung funktioniert, lässt sich leicht über die integrierten Debugging-Tools des IBM Integration Designers, der Entwicklungsumgebung für Advanced Integration Services, testen.
Anbindung des SAP über den SAP Adapter mit BAW Standard
Etwas aufwändiger stellt sich das Problem ohne die SCA-Fähigkeit dar. Mit der Standard-Version des BPM führt der Weg über Java-Module, welche über eine Webservice-Schnittstelle in den Prozess eingebunden werden. Dabei erzeugt der SAP-Adapter hier Java-Objekte, die den Ein- und Ausgaben des BAPI-Bausteins entsprechen. Diese müssen dann durch Java-Code manuell auf die jeweiligen Attribute aus dem Prozess gelegt werden.
Die so entstehende Enterprise Java Bean (EJB) kann nun als Unternehmensanwendung auf einem WebSphere Application Server installiert und über die Webservice Schnittstelle aufgerufen werden. Ein solcher WAS wird bei der Installation des BAW automatisch mit eingerichtet.
Test und Debugging können hier über die üblichen Schnittstellentests oder über zusätzlich implementierte Java-Methoden durchgeführt werden.
Zusammenfassung
SAP-Integration ist möglich und geht mit dem BAW Advanced einfach von der Hand. Für einige wenige Anbindungen kann man allerdings auch bedenkenlos auf die Advanced-Variante verzichten. Das kommt insbesondere dann zum Tragen, wenn keine weitere SAP-Anbindung stattfinden wird oder mehr Budget für Entwicklung und Wartung vorhanden ist als für den Lizenzkauf. Eine Anbindung ohne den SAP-Adapter ist nur zu empfehlen, wenn sehr viel umfangreiches Fachwissen und sehr gute Kenntnisse von SAP im Allgemeinen und dem betreffenden SAP-System bei den beteiligten Entwicklern vorliegen.
Unabhängig von der Wahl Ihrer Methode unterstützen wir Sie gerne bei Ihrem Projekt. Kommen Sie auf uns zu!