SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1...

27
Bonn Boston Christian Sy SAP Business Connector 4.8 Administration und Entwicklung ®

Transcript of SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1...

Page 1: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

Bonn � Boston

Christian Sy

SAP Business Connector 4.8 – Administration und Entwicklung

®

995-5.book Seite 3 Mittwoch, 2. Juli 2008 2:31 14

Page 2: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

5

Inhalt

1 Einleitung ................................................................ 9

1.1 Zielgruppe .............................................................. 101.2 Aufbau des Buches ................................................. 101.3 Danksagung ............................................................ 11

2 Enterprise Application Integration und der SAP Business Connector ........................................ 13

2.1 Enterprise Application Integration aus Anwendersicht ........................................................ 13

2.2 Tanker und Schnellboote ........................................ 142.3 Welches Tool für welchen Zweck? .......................... 152.4 Migration oder Kooperation des BCs mit

anderen EAI-Tools? ................................................. 162.5 Funktionsübersicht des Business Connectors .......... 172.6 Positionierung durch SAP ....................................... 18

3 Landkarte für ein BC-Projekt .................................. 21

3.1 Planung eines BC-Projekts ...................................... 213.2 Durchführung des Projekts ...................................... 22

4 BC-Administration .................................................. 25

4.1 Installation ............................................................. 254.2 Grundlagen ............................................................. 26

4.2.1 Starten des BC-Servers ................................ 264.2.2 Aufruf des Server-Administrator-UIs ........... 27

4.3 Administration der Kernfunktionen ......................... 294.3.1 Monitoring der Serverperformance ............. 294.3.2 Shut-down und Restart ............................... 304.3.3 SAP JVM Monitoring .................................. 314.3.4 Log File Monitoring .................................... 354.3.5 Scheduler ................................................... 354.3.6 Sicherheit .................................................. 374.3.7 Resource Settings ....................................... 39

995-5.book Seite 5 Mittwoch, 2. Juli 2008 2:31 14

Page 3: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

Inhalt

6

4.4 Adaptermanagement ............................................... 404.4.1 Konfiguration des SAP-Adapters ................. 414.4.2 Konfiguration der Routing Rules .................. 474.4.3 Transaction Monitoring ............................... 504.4.4 Konfiguration des DB-Adapters ................... 53

4.5 Package-Management ............................................. 604.5.1 BC System Packages .................................... 604.5.2 Servicebrowser ............................................ 614.5.3 Installieren neuer Packages ......................... 654.5.4 Archivierung ............................................... 664.5.5 Publish/Subscribe ........................................ 66

5 BC-Entwicklung ....................................................... 71

5.1 Grundlegende Konzepte im BC Developer ............... 725.1.1 Servicekonzept ............................................ 725.1.2 Pipelinekonzept .......................................... 72

5.2 Entwicklungsobjekte ............................................... 735.2.1 Packages ..................................................... 755.2.2 Folder und ihr Namensraumkonzept ........... 765.2.3 Flow-Services .............................................. 775.2.4 Java-Services ............................................... 775.2.5 WebTap- und C-Services ............................. 775.2.6 Record ........................................................ 775.2.7 Specification ............................................... 805.2.8 Schema ....................................................... 805.2.9 Webservice-Connector ................................ 815.2.10 Zusammenfassung ....................................... 81

5.3 Flow-Services .......................................................... 815.3.1 Szenario, Teil 1: Implementierung

innerhalb des BCs ........................................ 825.3.2 Szenario, Teil 2: volle Unterstützung

der SAP-Anbindung .................................... 1025.3.3 Handling großer Eingabewerte im

BC Developer GUI ....................................... 1035.4 Java-Services ........................................................... 105

5.4.1 Ein erster Java-Service ................................. 1055.4.2 Verwendung eines anderen Services

innerhalb eines Java-Services ....................... 1105.4.3 Einbinden von Java-Code aus

BC-fremden Klassen .................................... 113

995-5.book Seite 6 Mittwoch, 2. Juli 2008 2:31 14

Page 4: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

Inhalt

7

5.5 Debugging .............................................................. 1145.5.1 Flow Debugging im Developer ................... 1145.5.2 Java Debugging in Eclipse ........................... 1165.5.3 Flow Debug Logs ........................................ 1165.5.4 Debugging in QA und Prod ........................ 116

5.6 SAP-Connectivity-Unterstützung ............................. 1215.6.1 Lookup (Administrator-UI) ......................... 1215.6.2 Inbound Maps (Administrator-UI) .............. 1235.6.3 Outbound Maps (Administrator-UI) ............ 1245.6.4 SAP-Funktionen im BC Developer .............. 125

5.7 Webservice-Unterstützung ...................................... 1265.7.1 BC als Webservice-Client ............................ 1265.7.2 BC als Webservice-Server ........................... 128

5.8 Verwendung der mitgelieferten Package-Services ... 1305.8.1 WmPublic Package ..................................... 1305.8.2 SAP Package ............................................... 1305.8.3 WmDB Package .......................................... 1305.8.4 WmPartners Package .................................. 1315.8.5 WmSamples Package .................................. 131

5.9 Teamarbeit im BC Developer .................................. 1315.9.1 Locking-Konzept ........................................ 1325.9.2 Anbindung externer Versionierungs-

systeme ...................................................... 1335.10 Hinweise zur Wahl von Adaptertypen ..................... 1345.11 Erstellung von Webanwendungen mit DSPs ............ 1355.12 Nutzen der BC JARs in einer

Stand-alone-Java-Anwendung ................................ 1365.13 Häufige Probleme und Lösungen bei der

Entwicklung ............................................................ 1415.13.1 Performanten IDoc-Download

implementieren .......................................... 1415.13.2 Transaktionale Sicherheit bei

der Verarbeitung ........................................ 1425.13.3 Serverabhängige Informationen

pflegen ....................................................... 1435.13.4 Vermeiden von Elementduplikaten

in der Pipeline ............................................ 1445.13.5 Löschen nicht mehr benötigter Elemente

in einer Loop .............................................. 1445.13.6 Debuggen von IDoc-Receive-Services ......... 146

5.14 Fazit ....................................................................... 147

995-5.book Seite 7 Mittwoch, 2. Juli 2008 2:31 14

Page 5: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

Inhalt

8

6 Neuerungen und Erweiterungsmöglichkeiten ........ 149

6.1 Neuerungen im SAP Business Connector 4.8 ........... 1496.1.1 Neue Features und Änderungen .................. 1496.1.2 Migration von Release 4.7 nach 4.8 ............ 150

6.2 Erweiterungsmöglichkeiten durch Third-Party-Hersteller .............................................. 151

7 Fazit und Ausblick ................................................... 153

Anhang ............................................................................ 155

A Wichtige Anwendungsfälle Schritt für Schritt .................... 157A.1 SAP-IDoc-Download ............................................... 157A.2 SAP-Upload ............................................................. 158A.3 DB-Anbindung ........................................................ 158

B Glossar .............................................................................. 159

C Der Autor .......................................................................... 163

Index ........................................................................................ 165

995-5.book Seite 8 Mittwoch, 2. Juli 2008 2:31 14

Page 6: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

71

5 BC-Entwicklung

Eigene Services entwickeln

In diesem Kapitel werden die Funktionen der BC Developer-Anwen-dung behandelt. Sie benötigen den BC Developer nur, wenn Sieeigene Services entwickeln. Diese Services haben meistens mit derTransformation von Eingangsdaten zu tun, beispielsweise von einemSAP-IDoc-Format in ein anderes fremdsystemspezifisches Format.

Wenn Sie hingegen nur Standardadapter und -formate verwenden,brauchen Sie den Developer nicht. Ein Beispiel: Sie haben einFremdsystem, das in der Lage ist, XML-Dokumente via HTTP imSAP-XML-Format zu senden und zu empfangen. Dann brauchen Sienur SAP-Systeme und Routing Rules im BC-Administrator-UI zu kon-figurieren – und schon ist dieses Szenario einsatzbereit.

Sind allerdings Transformationen oder komplexere Routing-, An-wendungs- oder Fehlerlogik notwendig, so bietet Ihnen der BC dieMöglichkeit, diese als Services im BC Developer zu implementieren.

Routing Rules und BC Scheduler

Wie werden die Services zur Laufzeit gefunden; woher weiß der BC,dass und wann er sie ausführen soll? Die wichtigste Verbindungs-stelle sind die Routing Rules. Wenn Sie dort den Typ B2B Service

wählen, können Sie einen BC-Service angeben, der aufgerufen wer-den soll. Diesem Service wird dann beim Empfang einer entspre-chenden Nachricht automatisch das Eingangsdokument (zum Bei-spiel ein IDoc) übergeben. Die zweite wichtige Verbindungsstelle istder BC Scheduler. Auch dort können Sie Services angeben, die dannScheduler-gesteuert aufgerufen werden.

Dieses Kapitel erläutert zunächst die grundlegenden Konzepte im BCDeveloper. Anschließend werden die Entwicklungsobjekttypen be-schrieben und schließlich wird auf Details bei der Programmierungeingegangen (Erstellen von Services mit Flow, Java, Anbindung andas SAP-System, Webservices usw.).

995-5.book Seite 71 Mittwoch, 2. Juli 2008 2:31 14

Page 7: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

72

BC-Entwicklung5

5.1 Grundlegende Konzepte im BC Developer

In diesem Abschnitt werden zunächst die wichtigsten allgemeinenKonzepte des BC Developers beschrieben.

5.1.1 Servicekonzept

Anforderungen Die Erstellung von Services im Developer lässt sich in den meistenFällen auf die beiden folgenden Anforderungen zurückführen:

1.Transformation der Eingangsdaten

2. Transport der Ausgangsdaten

Folgerichtig lassen sich die meisten im BC eingebauten Funktionendiesen beiden Kernaufgaben zuordnen.

Servicekategorien Zweck des BC Developers ist es, Services zu erstellen, die vom BC-Server verwendet werden. Die beiden wichtigsten Servicekategoriensind:

� Java-ServiceErstellung eines Services in Java

� Flow-ServiceErstellung eines Services in einer proprietären Flow-Sprache, fürdie es sehr gute grafische Unterstützung im Developer gibt

Um von den Fähigkeiten des BCs maximal zu profitieren, empfiehltsich die Verwendung von Flow-Services, wo immer es möglich ist.Wo die Fähigkeiten der Flow-Sprache nicht ausreichen, weichen Sieauf Java aus. Eine Ausnahme zu dieser Richtlinie gibt es: Bei Massen-daten- oder performancekritischen Szenarien sollten Sie Java-Ser-vices immer bevorzugen, da Java-Services performanter als Flow-Services sind.

Die Servicekategorien werden im folgenden Abschnitt detailliertbeschrieben. Zunächst möchten wir aber auf ein zentrales Konzepteingehen, das für alle Servicetypen von Bedeutung ist: die Pipeline.

5.1.2 Pipelinekonzept

Pipeline Sie können sich die Pipeline als Datenspeicher vorstellen, der einer-seits dazu dient, Eingangsparameter an Services zu übergeben undandererseits dazu, deren Ausgangsparameter zu speichern. Insbeson-

995-5.book Seite 72 Mittwoch, 2. Juli 2008 2:31 14

Page 8: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

73

Entwicklungsobjekte 5.2

dere bei Flow-Services spielt die Pipeline eine zentrale Rolle, nämlichbeim Verbinden der einzelnen Flow-Steps. Mehr zu diesem Themaerfahren Sie in Abschnitt 5.3, »Flow-Services«.

Trifft ein neuer Request über eine Routing Rule oder über den Sche-duler ein, so wird dem aufgerufenen Service eine Pipeline überge-ben. Abhängig von der Request-Art ist die Pipeline entweder leer,oder sie enthält ein zu verarbeitendes Objekt (zum Beispiel einIDoc). Jeder neue Request erhält eine eigene neue Pipeline. Der BCsorgt automatisch dafür, dass die Pipelines von abgearbeitetenRequests intern entfernt werden.

5.2 Entwicklungsobjekte

In diesem Abschnitt erhalten Sie einen Überblick über die BC Devel-oper-Objekttypen (siehe Abbildung 5.1). Die komplexesten Typen(Flow-Service, Java-Service und Webservice-Connector) werden in denAbschnitten 5.3, »Flow-Services«, 5.4, »Java-Services«, und 5.7, »Web-service-Unterstützung«, detaillierter beschrieben.

Öffnen Sie nun den BC Developer, um sich die Entwicklungsobjekt-typen anzusehen.

LoginStarten Sie den BC Developer über das Verzeichnis developer/bin � in-tegrator.bat. Sie sehen nun die Loginmaske (siehe Abbildung 5.2).Geben Sie <host>:<port> für Ihren BC-Server an sowie Username

und Password. Der Benutzer muss zur Developer-Gruppe des BCsgehören. Nach dem Login werden die Objekte des Servers in einerBaumstruktur angezeigt (siehe Abbildung 5.3).

Tipp: Vermeiden von Kontextabhängigkeit

Sie sollten es möglichst vermeiden, bei der Ausführung eines Servicesbestimmte Annahmen über bereits vorher ausgeführte Services zumachen oder auf den Kontext aus anderen BC-Sessions zuzugreifen. Opti-malerweise arbeitet der Service nur mit den Eingangsvariablen. Wirdexterne Information benötigt, so arbeiten Sie möglichst nicht mit Dateienauf dem lokalen BC-Server, denn dies erschwert die Konzepte für die Last-verteilung. Speichern Sie solche Informationen am besten in einer exter-nen Datenbank ab, und stellen Sie die Konsistenz durch die Verwendungvon DB-Transaktionen sicher.

995-5.book Seite 73 Mittwoch, 2. Juli 2008 2:31 14

Page 9: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

74

BC-Entwicklung5

Abhängig vom ausgewählten Baumobjekt wird nun in der rechtenSeite eine spezielle Ansicht für diesen Objekttyp eingeblendet. DieObjekttypen werden im nächsten Abschnitt beschrieben.

Abbildung 5.1 BC-Objekttypen

Abbildung 5.2 Developer-Login

995-5.book Seite 74 Mittwoch, 2. Juli 2008 2:31 14

Page 10: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

75

Entwicklungsobjekte 5.2

Abbildung 5.3 Baumstruktur

5.2.1 Packages

Packages sind die oberste Gruppierungs- und Deploy-Ebene von Ser-vices. Services werden in Packages organisiert und verwaltet. AusAdministrationssicht ist die Deployment-Sicht interessant (gemein-sames Publizieren/Archivieren von Services); aus Entwicklersicht isteher die logische Zusammengehörigkeit einzelner Services undderen weitere hierarchische Strukturierung innerhalb des Packagesvon Bedeutung.

Kunden-PackagesKundenfunktionen sollten nicht in den standardmäßig mitgeliefer-ten Packages, sondern in neuen Kunden-Packages erstellt werden.Andernfalls kann es Probleme beim BC-Upgrade oder beim Einspie-len von BC-Servicereleases geben. Spezielle Namenskonventionenfür die Kundenfunktionalität, wie bei den SAP-Kundenfunktionen(diese beginnen mit Y oder Z), gibt es allerdings beim BC nicht.

Tipp: Mehrere Server gleichzeitig bearbeiten

Der BC Developer bietet die Möglichkeit, Verbindungen zu mehreren Ser-vern gleichzeitig zu öffnen. Jeder Server erscheint dann als Top-Level-Node. Dies ist zum Vergleichen von Services hilfreich, oder auch zumKopieren von Implementierungen. Hierbei ist zu beachten, dass Sie zwarkeine kompletten Services zwischen zwei Servern kopieren können, dafüraber zumindest Flow-Steps und Input-/Output-Parametersignaturen.

995-5.book Seite 75 Mittwoch, 2. Juli 2008 2:31 14

Page 11: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

76

BC-Entwicklung5

Hat der Entwickler innerhalb eines Packages Änderungen vorgenom-men, die nun transportiert werden sollen, so vergibt er sinnvoller-weise zunächst eine neue Package-Versionsnummer (siehe Abbil-dung 5.4). Anschließend transportiert der Administrator das Packageund gibt dabei eine Beschreibung der Änderungen ein.

Abbildung 5.4 Vergabe einer Package-Versionsnummer

Änderungen an Services sollten prinzipiell nicht direkt auf der Pro-duktivumgebung, sondern auf dem Entwicklungssystem vorgenom-men und von dort transportiert werden. Hierbei gibt es nur zweiAusnahmen, nämlich das temporäre Debuggen (siehe Abschnitt5.5.4, »Debugging in QA und Prod«) und das Konfigurieren server-spezifischer Informationen (siehe Abschnitt 5.13.3, »Serverabhän-gige Information pflegen«).

5.2.2 Folder und ihr Namensraumkonzept

Folder Folder sind Ordner innerhalb eines Packages. Sie dienen der hierar-chischen Strukturierung der Package-Elemente. Wichtig zum Ver-ständnis des Namensraumkonzepts ist Folgendes: Zur Laufzeit wer-

995-5.book Seite 76 Mittwoch, 2. Juli 2008 2:31 14

Page 12: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

77

Entwicklungsobjekte 5.2

den die Packages mit der Ordnerstruktur, aber ohne den Package-Namen als oberste Ebene in einen globalen Namensraum geladen.Dies bedeutet, dass, wenn Sie in Package A einen Ordner X mit demService Y anlegen und im Package B dasselbe versuchen, der BC eineFehlermeldung ausgeben wird, da das Element X:Y schon im globa-len Namensraum existiert.

Services sind immer für alle anderen Packages sichtbar. Das heisst esgibt kein Konzept für private, protected oder public Services wie inJava. Ab Version 4.8 können Sie im BC zu Dokumentationszweckeneine Folder Description eingeben.

5.2.3 Flow-Services

Flow-Services sind aus Flow-Steps zusammengebaut, die im Devel-oper mit grafischer Unterstützung erstellt werden. Die einzelnenSteps können eine Kontroll-Logik enthalten (Branch, Loop) oderandere Services aufrufen. Flow-Services werden in Abschnitt 5.3detailliert beschrieben.

5.2.4 Java-Services

Der BC Developer bietet auch die Möglichkeit, Services in Java zuschreiben. Dies wird in Abschnitt 5.4, »Java-Services«, erläutert.

5.2.5 WebTap- und C-Services

VeraltetDer Objekttyp der WebTap-Services ist veraltet und sollte daher nichtmehr verwendet werden. Vermutlich wird er in künftigen BC-Versi-onen nicht mehr unterstützt.

Mit C-Services haben Sie die Möglichkeit, C-Code zu verwenden.

5.2.6 Record

Ein Record definiert eine Struktur. Diese Struktur kann dann in Map-pings oder Input-/Outputdefinitionen verwendet werden.

Record erstellenEinen Record können Sie aus einem vorhandenen XML-Sche-ma/DTD, aus einem SAP-IDoc oder aus einer SAP-Struktur erzeugenlassen.

995-5.book Seite 77 Mittwoch, 2. Juli 2008 2:31 14

Page 13: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

78

BC-Entwicklung5

Abbildung 5.5 Erstellen eines neuen Records

Immer nur einElement auf

oberster Ebene

Achten Sie darauf, immer nur ein Element auf der obersten Ebenedes Records zu definieren. Richtig wäre zum Beispiel ein wie inAbbildung 5.6 dargestellter Record; problematisch wäre ein wie inAbbildung 5.7 gezeigter Record. Der BC warnt Sie beim Anlegeneines problematischen Records leider nicht. Dies kann später zu Pro-blemen führen. Die Begründung liegt darin, dass der Record vomAnwendungsentwickler oft in eine XML-Struktur umgewandeltwird, und XML nur ein Root-Element haben darf.

Abbildung 5.6 Korrekter Record

995-5.book Seite 78 Mittwoch, 2. Juli 2008 2:31 14

Page 14: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

79

Entwicklungsobjekte 5.2

Abbildung 5.7 Problematischer Record

BC-DatentypenEin Record kann aus den in Abbildung 5.8 gezeigten Datentypenbestehen. Wichtig für das Verständnis und für die Verwendung inJava-Services ist zu wissen, wie die BC-Datentypen auf Java-Datenty-pen abgebildet werden (jeweils in Klammern angegeben):

� String (java.lang.String)

� String List (java.lang.String[]); eindimensionales String Array

� String Table (java.lang.String[][]); zweidimensionales String Array

� Record (com.wm.data.IData oder com.wm.util.Values); ein Containerfür weitere Elemente Die Elemente selbst können ebenfalls wieder Records sein, sodassSie geschachtelte Strukturen aufbauen können.

� Record List (com.wm.data.IData[] oder com.wm.util.Values[]); eindimensi-onales Record Array

995-5.book Seite 79 Mittwoch, 2. Juli 2008 2:31 14

Page 15: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

80

BC-Entwicklung5

� Record Referencewie Record, allerdings nur ein Verweis auf einen im BC definier-ten Record

� Record Reference Listwie Record List, allerdings nur eine Liste mit Verweis auf einen imBC definierten Record

� Objectjedes Element, das nicht in eine der obigen Kategorien fällt,(java.lang.Object oder Unterklasse von java.lang.Object)

� Object Listeindimensionales Objekt Array (zum Beispiel Vector[])

Abbildung 5.8 Datentypen

Records und Record Lists werden Ihnen zum Beispiel bei der SAP-IDoc-Verarbeitung häufig begegnen. Objects tauchen beispielsweiseals Byte Arrays in manchen BC-Servicefunktionen auf.

5.2.7 Specification

Eine Specification speichert die Input-/Outputparameter. Habenmehrere Services dieselben Input-/Outputparameter, so können Sieeine Specification verwenden, um das nicht doppelt deklarieren zumüssen.

5.2.8 Schema

Ein Schema definiert, wie ein XML-Dokument auszusehen hat. Siekönnen beispielsweise definieren, dass ein Element ein Mussfeldoder optional ist, oder ob es ein- oder n-mal vorkommen soll.

995-5.book Seite 80 Mittwoch, 2. Juli 2008 2:31 14

Page 16: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

81

Flow-Services 5.3

5.2.9 Webservice-Connector

WizardDieser Typ ist ein Wizard, mit dem Sie Services generieren können,mit denen der BC als Webservice-Client auf einen Webservicezugreifen kann. Sie sollten die Generierung in einem eigenen Ordnerstattfinden lassen, da viele Services erzeugt werden.

Beispiele für Webservices (BC sowohl als Client als auch als Server)finden Sie in Abschnitt 5.7, »Webservice-Unterstützung«.

5.2.10 Zusammenfassung

Die Typen Package und Folder sind Strukturierungselemente für dieServices selbst. Record, Schema und Specification definieren Struktu-ren, die innerhalb der Services verwendet werden.

Services gibt es in den Ausprägungen Flow, Java, WebTap und C.Wenn es keine zwingenden Gründe für die anderen Ausprägungengibt (zum Beispiel existierender Code), empfiehlt sich die Verwen-dung von Flow und Java, da dies am produktivsten ist. Java undFlow sind die intern verwendeten Sprachen des BCs und werdendaher bei der Entwicklung am besten unterstützt.

5.3 Flow-Services

Flow-StepsDie Entwicklung von Flow-Services wird im BC Developer komforta-bel unterstützt. Ein Flow-Service besteht aus n Flow-Steps, einer Listevon Eingabeparametern und einer Liste von Ausgabeparametern.

Die Steps können wiederum in zwei Kategorien aufgeteilt werden:

� Kontroll-Steps (Loop, Branch, Repeat, Exit, Sequence)Diese Steps steuern, wie der Flow durchlaufen wird.

� Execution-Steps (Invoke, Map)Diese Steps verändern die Pipelinedaten.

BeispielDiese Step-Arten werden im Folgenden anhand eines Beispielsbeschrieben. Das Beispiel beschreibt folgendes Szenario: Wir emp-fangen ein IDoc vom SAP-System, führen bestimmte Prüfungendurch und konvertieren das Dokument in eine Zielstruktur. Das Bei-spiel ist nicht trivial; es kann deshalb die alltäglichen Problemstellun-gen und Lösungen beim Mapping im BC sehr gut veranschaulichen.

995-5.book Seite 81 Mittwoch, 2. Juli 2008 2:31 14

Page 17: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

82

BC-Entwicklung5

Wir splitten das Szenario in zwei Teile auf. Im ersten Teil wird dieVerarbeitung im BC beschrieben; die Darstellung der SAP-Anbin-dung folgt im zweiten Teil.

5.3.1 Szenario, Teil 1: Implementierung innerhalb des BCs

Zunächst durchlaufen wir also die Implementierung im BusinessConnector:

Neuen Flow-Service anlegen

1. Für unser Szenario möchten wir das Orders-IDoc vom SAP-Systemverwenden. Zunächst legen wir einen neuen Flow-Service an. Kli-cken Sie auf [Ctrl-N] im Developer, und wählen Sie als Typ Flow

Service (Default) aus. Geben Sie nun das gewünschte Verzeichnisinnerhalb des Packages an, und vergeben Sie einen Servicenamen(Abbildung 5.9). Schließlich drücken Sie auf Finish.

Abbildung 5.9 Neuen Flow anlegen

Inputstrukturgenerieren

2. Der BC hat nun den neuen Flow angelegt. Als Nächstes brauchenwir eine Inputstruktur, damit der Flow mit den Daten arbeitenkann. Diese Inputstruktur können wir aus dem SAP-System gene-

995-5.book Seite 82 Mittwoch, 2. Juli 2008 2:31 14

Page 18: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

83

Flow-Services 5.3

rieren, da es sich um ein SAP-IDoc handelt. Wählen Sie SAP � IDoc

Definition, und geben Sie den Namen des IDoc-Typs und desSAP-Servers an (siehe Abbildung 5.10).

Abbildung 5.10 IDoc-Generierung, Teil 1

3. Sie sehen nun (hoffentlich) die gewünschte SAP-Struktur (sieheAbbildung 5.11). Klicken Sie auf Generate Record und dann aufNext. Vergeben Sie einen Namen für den Record, zum BeispielorderRec. Drücken Sie Next und dann Finish. Der BC hat nun denRecord generiert, und Sie können ihn verwenden (siehe Abbil-dung 5.12).

Abbildung 5.11 IDoc-Generierung, Teil 2

995-5.book Seite 83 Mittwoch, 2. Juli 2008 2:31 14

Page 19: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

84

BC-Entwicklung5

Abbildung 5.12 Ergebnis IDoc-Generierung

4. Gehen Sie nun auf den ordersService, wählen Sie den In-

put/Output-Tab, und legen Sie einen neuen Inputparameter vomTyp Record Reference an (siehe Abbildung 5.13).

5. Selektieren Sie orderRec im darauf folgenden Select-Dialog(Abbildung 5.14), und vergeben Sie einen Namen für den Input-parameter (zum Beispiel idoc).

Ausgabestrukturdefinieren

6. Wir definieren nun die Ausgabestruktur für unser fiktives externesSystem Global Trade. Die Struktur soll Folgendes enthalten: Aufder Kopfebene die Auftragsnummer sowie die Adresse des Waren-empfängers, auf der Positionsebene PosNr, Menge und Preis.Diesen Record legen Sie wie folgt manuell an: Legen Sie ein neuesRecord-Element (Source für record generation ist diesmalNone) mit dem Namen globalTradeRec an. Erstellen Sie nun die

995-5.book Seite 84 Mittwoch, 2. Juli 2008 2:31 14

Page 20: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

85

Flow-Services 5.3

einzelnen Record-Elemente durch Einfügen der jeweils richtigenElementtypen (Abbildung 5.15).

Abbildung 5.13 Inputparameter definieren

Abbildung 5.14 Record als Input selektieren

995-5.book Seite 85 Mittwoch, 2. Juli 2008 2:31 14

Page 21: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

86

BC-Entwicklung5

Abbildung 5.15 Manuelles Erstellen eines Records

7. Zunächst erstellen Sie das Root-Element (Typ Record). Anschlie-ßend erstellen Sie zwei weitere Records innerhalb des Root-Ele-ments. Diese Records werden die Header- und Positionsstrukturenaufnehmen.

Mit den blauen Pfeilen können Sie die Elemente umgruppieren.Schieben Sie mit diesen das Header- und das Pos-Record nachrechts. Das Zwischenergebnis sollte wie in Abbildung 5.16 darge-stellt aussehen.

8. Innerhalb der header- und pos-Records definieren Sie Elementevom Typ String. Das Endergebnis sollte wie in Abbildung 5.17dargestellt aussehen.

995-5.book Seite 86 Mittwoch, 2. Juli 2008 2:31 14

Page 22: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

87

Flow-Services 5.3

Abbildung 5.16 Zwischenergebnis GTS-Record

Abbildung 5.17 Endergebnis GTS-Record

Ausgabeparameter9. Diesen Record geben Sie nun als Ausgabeparameter im In-

put/Output-Tab von ordersService ein, indem Sie einen neuenAusgabeparameter vom Typ Record Reference anlegen. In denInput/Output-Tab können Sie auch einen Kommentar eingeben,der sich auf den ganzen Service bezieht (Abbildung 5.18).

995-5.book Seite 87 Mittwoch, 2. Juli 2008 2:31 14

Page 23: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

88

BC-Entwicklung5

Abbildung 5.18 Service-Kommentar

Schritte der Trans-formationsaufgabe

Nun können Sie mit der Flow-Entwicklung starten, da die Eingabe-und Ausgabeparameter definiert wurden. Unsere Aufgabe ist es nun,die IDoc-Struktur in eine Zielstruktur zu transformieren. Hierbeiwerden Sie die wichtigsten Step-Typen und deren Besonderheitenkennenlernen. Die gesamte Transformationsaufgabe zerlegen wirgedanklich in folgende Schritte:

� Mapping der Kopfdaten

� Mapping der Positionsdaten

Beliebig vieleFlow-Steps

Der BC bietet hierzu gute Unterstützung, denn Sie können beliebigviele Flow-Steps einfügen, die dann sequenziell ausgeführt und gra-fisch dargestellt werden. Auf diese Weise behalten Sie auch bei kom-plexen Flows die Übersicht. Die Ausgangsdaten des Vorgänger-Flows sind die Eingangsdaten des Nachfolger-Flows (Pipelinekon-zept). Wir führen nun das Mapping für die Kopf- und Positionsdatendurch:

1. Wechseln Sie in den Flow-Tab vom Orders-Service. Fügen Sienun einen Map-Step in den Flow ein (siehe Abbildung 5.19).

995-5.book Seite 88 Mittwoch, 2. Juli 2008 2:31 14

Page 24: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

165

Index

A

Abwärtskompatibilität 150ACL (Access Control List) 64, 159Adapter 17, 22, 40, 159Adaptertyp 134Add SAP Server 41Administration 25Administrationsumgebung 17Administrator 23Administrator-UI 121, 123, 124Anmeldedaten 157API-Referenz 109Archivierung 66Audit Log 52

ausschalten 52Aufwandsschätzung 22

B

BAPI (Business Application Program-ming Interface) 159

BC (Business Connector) 21Developer 22, 72, 159Funktionsübersicht 17Hilfsklasse 109Mapping Engine 144Neuerungen in 4.8 149Package 23Scheduler 71Stärken 17

BC-Server 22starten 26

Benutzer 37Berechtigungssteuerung 69BPEL (Business Process Execution

Language) 159BPEL-Engine 17BPM (Business Performance Manage-

ment) 13, 159Branch 101Business Connector � BC

C

C 17Clustering 40Code-Generierung 137Concat-Transformer 97Connection-Pool 54, 150, 159Connectivity 17, 159Create Archive 66C-Service 77

D

Database Alias 159Datenbank 53, 55

Adapter 40, 53Alias 158Anbindung 53, 158Connection-Pooling 53Lock 56

DDIC-Cache 159Debugging 24, 114–116, 146

in QA und Prod 116Debug-Port 33Developer 114documentToRecord 117DSP (Dynamic Server Page) 135, 159

E

EAI (Enterprise Application Integra-tion) 159

EAI-Tool 14Eclipse 116Eingabewerte, große 103Elementduplikate 144E-Mail-Listener 38, 39E-Mail-Port 38Entwickler 23Entwicklungsobjekt 73Entwicklungssystem 21Entwicklungsumgebung 17Exception 111

995-5.book Seite 165 Mittwoch, 2. Juli 2008 2:31 14

Page 25: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

166

Index

Exception-Handling 111Extended Settings 159

F

Filter 101Firewall-Timeout 56Flat File 134, 160Flat-File-Adapter 17Flow 160

Debug Logs 116Debugging 114Language 17Service 72, 77, 81, 82, 114Step 81, 88

Flow-VerarbeitungRobustheit 104

Folder 76, 150, 160fremde Klassen 113FTP 17FTP-Server 38

G

Garbage Collection 32grafisches Mapping-Tool 17Gruppe 37Guaranteed Delivery 160

H

History-Counter 56, 58Home-Button 135HTTP 17, 134

I

IDoc 90, 95, 123, 145, 160Child-Segment 123Download 141, 157Receive-Service 146Upload 142

IDocLib 151Inbound Map 123Information

serverabhängige 143Install Inbound Release 65Installation 25Installer 25Integrationsszenario 21Integrationstest 23Invoke 110, 112, 113Invoke-Step 102

J

J2SE-Anwendung 160JAR 136Java 17

Code aus BC-fremden Klassen einbin-den 113

Debugging 116Editor 105Sample-Code 113Shared-Code 107

Java Connector 3.0 150, 151Java-Service 72, 77, 105, 106, 110

anlegen 105Architektur 105

JDBC (Java Database Connectivity) 18, 160

JDBC-Treiber 160JDBC-URL 160JMS (Java Messaging Service) 160JMS-Adapter 17JRE (Java Runtime Environment)

25, 160JSP (Java Server Page) 160JVM (Java Virtual Machine) 160

Speicherparameter 29

K

Klasse, BC-fremde 113Konfigurations-Package 143Kontextabhängigkeit 73Kopfdaten 90Kunden-Packages 75

995-5.book Seite 166 Mittwoch, 2. Juli 2008 2:31 14

Page 26: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

167

Index

L

Locking 132Logfile 35Logging 24Log-Level 39Lookup 121, 122, 123Loop 96, 97, 144Loop-Step 95Löschen von Elementen 144

M

Map 125Mapping 90, 94, 95, 102Mapping-Variable 98Map-Step 89Middleware 160Migration von 4.7 nach 4.8 150Monitoring 29, 31, 55, 146

N

Namensraum 76

O

Outbound Map 124Output-Pipeline 92

P

Package 40, 60–62, 66, 68, 75, 160installieren 65Management 60Services 130

Parametername 109Performance 29, 54Pipeline 72, 89, 109, 114, 115, 144Plattenplatz 52Poll-Komponente 142Pool-Statistik 56, 57Port 38

pflegen 38Positionsdaten 90

Produktivsystem 21Programm-ID 44, 47, 161Publish/Subscribe 66Publishing 161

Q

QA-System 21

R

Receiver-Adresse 95Record 77, 78

manuell erstellen 86Remote-Server 40Repository 161Repository Setting 40Resource Setting 38, 161Restart 30Reverse-Invoke-Szenario 40RFC 122, 160

Destination 44, 45Server 44Trace 44

Robustheit 104Rolle 37

Administrator 23Entwickler 23

Routing 17Routing Engine 161Routing Rule 23, 40, 47–50, 71, 161Routing Transports 161

S

Sammel-IDoc 90Sample-Code 113SAP

Adapter 40, 41, 150Anbindung 102Connectivity 121Destination 45GUI 45IDoc 157JVM 25, 31, 150, 161JVM Debugging 33

995-5.book Seite 167 Mittwoch, 2. Juli 2008 2:31 14

Page 27: SAP Business Connector 4.8 - Administration und …...Inhalt 6 4.4 Adaptermanagement 40 4.4.1 Konfiguration des SAP-Adapters 41 4.4.2 Konfiguration der Routing Rules 47 4.4.3 Transaction

168

Index

JVM Monitoring 31Listener 43, 44, 46, 157, 161Map 161Package 130Server 41, 42Upload 158

Scheduled Task 36Scheduler 35, 161Schema 80Send Release 68Sequence 101Server-UI 27, 161Service 30, 36, 109, 110, 130, 161

entwickeln 71Servicebrowser 61Servicekategorie 72Servicekonzept 72Service-Usage 30Shut-down 30Sicherheit 37SMTP-Server 161SOA (Service-Oriented Architecture)

13, 161SOAP 17Specification 80Speicherverbrauch 32stringToDocument 117Subscriber 67Subscribing 162Sweeper 52

T

Teamarbeit 131Test SQL 59Thread-Pool 39Transaction Detail 51Transaction List 162Transaction Message Type 162Transaction Monitoring 40, 50Transaction State 162transaktionale Sicherheit 142Transaktionsdatei 53Transaktionsliste 50, 51Transformer 98, 99Transport 17, 49

U

Unlocken 132, 133Users and Groups 37

V

Verbindungsdaten 41, 67Verbindungstest 46, 47Versionierungssystem 133Viewer

zentraler 146Visual Basic 17

W

Webanwendung 135Webservice 126–128

Webservice-Client 126Webservice-Connector 81, 126Webservice-Server 128

WebTap-Service 77WmDB Package 130, 150WmPartners Package 131WmPartnersUsers Package 37WmPublic Package 130WmSamples Package 131Work-History-Fenster 149WSDL (Web Services Description

Language) 126–128

X

XML 17XML-Template 122

Z

Zielstruktur 93Zwischenvariable 97

995-5.book Seite 168 Mittwoch, 2. Juli 2008 2:31 14