131 SAP bietet für die Entwicklung serviceorientierter Erweiterun- gen ein ganzes Set an Tools an. Diese Tools werden in diesem Kapitel beschrieben. Dabei werden die Werkzeuge und Kompo- nenten anhand der Referenzarchitektur in die Bereiche Service Provisioning, Service Consumption und Cross Components eingeteilt. 5 Implementierung einer service- orientierten Architektur im SAP-Umfeld Von der Idee zur Lösung In Kapitel 4, »Lebenszyklus einer serviceorientierten Architektur«, wurde die klassische SAP-Implementierungsmethode Accelerated SAP (ASAP) vorgestellt sowie die Anpassungen und Erweiterungen beschrieben, die für eine SOA-Einführung von SAP zusätzlich benö- tigt werden. Zudem wurde der SOA-Entwicklungszyklus eingeführt. Wir erinnern uns, dass dieser geschlossene SOA-Entwicklungszyklus aus den folgenden Schritten besteht (siehe Abbildung 5.1): 1. Definition der Geschäftsanforderungen an eine SOA 2. Modellierung der Services entsprechend den fachlichen Anforde- rungen 3. technische Definition der Services 4. Entwicklung und Implementierung der Services 5. Beschreibung und Ermittlung der für die Erfüllung der Ge- schäftsanforderungen benötigten Services 6. Konsumierung der Services Komponenten und Entwicklungs- werkzeuge Nachdem wir im vorangegangenen Kapitel die Phasen dieses Zyklus erläutert haben, beschreiben wir im Folgenden die dazugehörigen Komponenten und Entwicklungswerkzeuge sowie deren Nutzung anhand von Beispielen erklären.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
131
SAP bietet für die Entwicklung serviceorientierter Erweiterun-gen ein ganzes Set an Tools an. Diese Tools werden in diesem Kapitel beschrieben. Dabei werden die Werkzeuge und Kompo-nenten anhand der Referenzarchitektur in die Bereiche Service Provisioning, Service Consumption und Cross Components eingeteilt.
5 Implementierung einer service-orientierten Architektur im SAP-Umfeld
Von der Idee zur Lösung
In Kapitel 4, »Lebenszyklus einer serviceorientierten Architektur«,wurde die klassische SAP-Implementierungsmethode AcceleratedSAP (ASAP) vorgestellt sowie die Anpassungen und Erweiterungenbeschrieben, die für eine SOA-Einführung von SAP zusätzlich benö-tigt werden. Zudem wurde der SOA-Entwicklungszyklus eingeführt.Wir erinnern uns, dass dieser geschlossene SOA-Entwicklungszyklusaus den folgenden Schritten besteht (siehe Abbildung 5.1):
1. Definition der Geschäftsanforderungen an eine SOA
2. Modellierung der Services entsprechend den fachlichen Anforde-rungen
3. technische Definition der Services
4. Entwicklung und Implementierung der Services
5. Beschreibung und Ermittlung der für die Erfüllung der Ge-schäftsanforderungen benötigten Services
6. Konsumierung der Services
Komponenten und Entwicklungs-werkzeuge
Nachdem wir im vorangegangenen Kapitel die Phasen dieses Zykluserläutert haben, beschreiben wir im Folgenden die dazugehörigenKomponenten und Entwicklungswerkzeuge sowie deren Nutzunganhand von Beispielen erklären.
1445.book Seite 131 Donnerstag, 1. April 2010 10:38 10
132
Implementierung einer serviceorientierten Architektur im SAP-Umfeld5
Abbildung 5.1 SOA-Entwicklungszyklus
Als Grundlage dafür verwenden wir die in Kapitel 3 vorgestellte SOA-Referenzarchitektur sowie die in den einzelnen Phasen des Lebenszy-klus notwendigen Entwicklungsschritte. Die Entwicklungswerkzeugeund Komponenten werden entsprechend der Referenzarchitektur indie Bereiche Service Provisioning, Service Consumption und CrossComponents unterteilt und danach anhand ihrer Aufgaben entlangdes Entwicklungszyklus beschrieben. Dazu haben wir die Aufgabenund Produkte gemäß der Referenzarchitektur zugeordnet (Abbildung5.2). Aufbauend auf der Darstellung geben wir einen Kurzüberblicküber die einzelnen Entwicklungswerkzeuge und deren Bedeutung(Tabelle 5.1 und Tabelle 5.2). Die Werkzeuge werden dazu gemäß derfolgenden Struktur in den Abschnitten 5.1, »Entwicklungswerkzeugefür Service Provisioning«, 5.2, »Entwicklungswerkzeuge für ServiceConsumption«, und 5.3, »Übergreifende Entwicklungswerkzeuge(Cross Components)«, erläutert. Sollte es für ein spezielles Tool sinn-voll sein, werden wir von dieser Struktur abweichen. In Abschnitt 5.3gehen wir auf einige spezielle Werkzeuge genauer ein, die für SOA-Projekte relevant sind. Die SAP NetWeaver Development Infrastruc-ture (NWDI) wird gemeinsam mit dem SAP NetWeaver DeveloperStudio (NWDS) in Abschnitt 5.1.3, »SAP NetWeaver Developer Stu-dio«, beschrieben.
SOA-Entwicklung
Geschäfts-anforderungen
Service-modellierung
Service-definition
Service-implementierung
Service-suche &
Service-konsumierung
-beschreibung
1445.book Seite 132 Donnerstag, 1. April 2010 10:38 10
133
Implementierung einer serviceorientierten Architektur im SAP-Umfeld 5
Abbildung 5.2 Zusammenspiel der Entwicklungswerkzeuge und Komponenten einer SOA auf Basis der SAP-Plattform
Endanwender
Entwicklungs-werkzeuge
(NWDS für Java)
SAP Composite Application
Framework (SAP CAF)
Enterprise Services
Repository (ESR)
Process Composer/Guided Procedures
SAP NetWeaverPortal
Services Registry (SR)
Backend-System
Mod
ellie
rung
&D
efin
itio
n
Impl
emen
-ti
erun
gSu
che
&B
esch
reib
ung
Ser
vice
Use
r In
terf
ace
(UI)
Pro
zess
Por
tal
Ver
mit
tlun
g
SAP NetWeaver Process Integration
(PI)
Visual SAP NetWeaver
Composer
Web Dynpro (Java / ABAP)
Adobe Interactive
Forms
AB
AP
Wor
kben
ch
SAP
Net
Wea
ver
Dev
elop
er S
tudi
o (N
WD
S)/
SAP
Net
Wea
ver
Dev
elop
men
t In
fras
truc
ture
(N
WD
I)
Entwicklungs-werkzeuge
(ABAP Workbench für ABAP)
Serv
ice
Con
sum
ptio
nSe
rvic
e P
rovi
sion
ing
1445.book Seite 133 Donnerstag, 1. April 2010 10:38 10
134
Implementierung einer serviceorientierten Architektur im SAP-Umfeld5
Aufbauend auf den Grundlagen und Funktionen der SOA-Werkzeugegehen wir in Kapitel 6 auf das Zusammenwirken der einzelnen Ent-wicklungswerkzeuge im SOA-Entwicklungsprozess ein. Dazu werdenausgewählte Werkzeuge anhand eines Praxisbeispiels erläutert.
Struktur der Beschreibung der einzelnen Werkzeuge und Kompo-nenten:
� Einleitung und Grundlagen
� Einsatzgebiet des Werkzeugs
� Architektur und Komponenten (Hauptelemente)
� Integration mit anderen Tools
� Nutzung im SOA-Kontext
Service Provisioning
Modellierung & Definition
Enterprise Services Repository
Das Enterprise Services Repository (ESR) dient als zentrales Design- und Modellierungswerkzeug für Services zur Prozessdefinition. Mithilfe des ausge-lieferten ESR und der Services Registry (SR) wird die Möglichkeit geschaffen, applikationsübergreifende Geschäftsprozesse auf Basis von Webservices zen-tral zu verwalten, zu erweitern oder individuell zu entwickeln. Durch Standards, vorgefertigte Lösun-gen und Service-Bundles wird die Wiederverwen-dung entscheidend erhöht sowie eine Verkürzung der Entwicklung von Integrationsszenarien verbes-sert.
Suche & Beschrei-bung (Discovery & Description)
Services Registry
Die Services Registry ist ein zentrales Verzeichnis für alle Services. Sie ist Teil der SOA-Landschaft und enthält Einträge für alle Servicedefinitionen.
Die ES Registry ist der zentrale Zugangspunkt für Servicekonsumenten.
Tabelle 5.1 Komponenten der Service-Provisioning-Schicht
1445.book Seite 134 Donnerstag, 1. April 2010 10:38 10
135
Implementierung einer serviceorientierten Architektur im SAP-Umfeld 5
Implementierung ABAP Workbench
Die Entwicklungsumgebung der Programmierspra-che ABAP ist die ABAP Workbench. Der Einstieg erfolgt hierbei über den sogenannten Object Navi-gator (Transaktion SE80).
Über den Web Service Creation Wizard, einen Bestandteil der ABAP Workbench, lassen sich SAP-Standardfunktionalitäten als Service kapseln und im ESR bereitstellen.
NWDS/NWDI
Mit dem NWDS (SAP NetWeaver Developer Studio) steht eine eigene Entwicklungsumgebung für die Entwicklung von Java-basierten Mehrschichten-Business-Anwendungen zur Verfügung. Die neue Entwicklungsumgebung setzt auf dem Open-Source-Produkt Eclipse auf, das mit seiner offenen Plug-in-Architektur eine geeignete Plattform für die Einbindung spezifischer Funktionalität bereitstellt. Das SAP NetWeaver Developer Studio bietet daher eine komplette Unterstützung bei der Entwicklung von Java-Projekten im großen Maßstab, und dies gleichermaßen für Standard- (J2SE, J2EE, XML etc.) wie auch für SAP-Technologien (Web Dynpro, Java Dictionary etc.).
NWDI steht für SAP NetWeaver Development Infra-structure und bezeichnet die Grundlage für die Java-basierte Entwicklungsumgebung von SAP.
Vermittlung (Mediation)
SAP NetWeaver Process Integration (PI)
SAP NetWeaver Process Integration bildet die Infra-strukturkomponente, die die Verbindung zwischen den Systemen ermöglicht. Sie bildet die einheitliche Schnittstelle zur Realisierung der End-to-End-Pro-zesse über Systemgrenzen hinweg.
Service Provisioning
Tabelle 5.1 Komponenten der Service-Provisioning-Schicht (Forts.)
1445.book Seite 135 Donnerstag, 1. April 2010 10:38 10
136
Implementierung einer serviceorientierten Architektur im SAP-Umfeld5
Service Consumption
Service SAP Composite Application Framework (SAP CAF)
Das SAP Composite Application Framework bietet eine stabile Entwicklungs- und Laufzeitumgebung für SAP Composite Applications, die der SOA entsprechen. Das SAP CAF umfasst Entwicklungstools, Methoden, Ser-vices und Prozesse, eine Abstraktionsebene für Objekte sowie Bibliotheken mit vordefinierten Benutzeroberflä-chen und Prozessmustern.
User Interface Adobe Interactive Forms
SAP Interactive Forms unterstützen Unternehmen dabei, schnell und einfach interaktive Formulare zu erstellen und in verschiedene Geschäftsprozesse einzu-binden. Damit wird die Möglichkeit geboten, Geschäftsprozesse über intelligente, elektronische PDF-Dokumente unmittelbar mit webbasierten SAP-Anwendungen zu verbinden. Sie realisieren dabei eine Möglichkeit der Entwicklung von User Interfaces (UI).
SAP NetWeaver Visual Composer
Der Visual Composer ist das zentrale SAP-Modellie-rungstool für Benutzeroberflächen von Composite Applications.
Mit dem Visual Composer lassen sich UIs für Compo-site Applications ohne jeglichen Programmieraufwand erstellen. Die User Interfaces für Composite Applica-tions werden mit dem Visual Composer durch die Nut-zung von Webservices oder auch BAPIs, RFC, Enter-prise Services oder BW Querys modelliert.
Web Dynpro (ABAP und Java)
Web Dynpro ABAP ermöglicht die Entwicklung von User Interfaces auf Basis der Programmiersprache ABAP. Es erlaubt eine einfache Zusammensetzung von Elementen, wobei auch komplexere Eigenschaften via Code hinzugefügt werden können.
Ähnlich wie Web Dynpro ABAP funktioniert auch Web Dynpro Java. Es ermöglicht die Entwicklung von User Interfaces auf Basis der Programmiersprache Java. Web Dynpro Java ist dabei in das SAP NetWeaver Developer Studio implementiert und erlaubt eine einfache Zusam-mensetzung von Elementen, wobei auch komplexere Eigenschaften via Code hinzugefügt werden können.
Tabelle 5.2 Komponenten der Service-Consumption-Schicht
1445.book Seite 136 Donnerstag, 1. April 2010 10:38 10
137
Implementierung einer serviceorientierten Architektur im SAP-Umfeld 5
Piktogramm zur Übersicht
Im folgenden Abschnitt werden der erste Teil der SOA-Referenzarchi-tektur, das Service Provisioning und die dazu benötigten Entwick-lungswerkzeuge beschrieben. Um diese Erläuterungen übersichtli-cher zu gestalten, haben wir zu Beginn jedes Abschnitts, der einEntwicklungswerkzeug beschreibt, ein Piktogramm auf Basis vonAbbildung 5.2 eingefügt, um darzustellen, wo in der Referenzarchi-tektur wir uns gerade befinden.
Prozess Process Composer (BPM)
SAP NetWeaver BPM ist ein integrativer Bestandteil des SAP NetWeaver Composition Environments 7.1 EHP1. Es hat den Anspruch, den gesamten Lebenszyk-lus eines IT-gestützten Prozesses zu unterstützen sowie die Entwicklung durch lauffähige Prozessmodelle zu vereinfachen. Die Anwendungen, die aus den Prozess-modellen generiert werden, laufen dann als Weban-wendung im SAP NetWeaver Portal.
Guided Procedures
Guided Procedures (GP) bietet eine flexible Umgebung für die Modellierung, das Design und das Management von Geschäftsprozessen, die Zugriff auf verschiedene Backend-Systeme zur Laufzeit benötigen.
Guided Procedures ist das Tool für die Implementie-rung und Ausführung von Geschäftsprozessen, die durch die Kombination von vorhandener Funktionalität oder Services in den Backend-Systemen und der Nut-zung von Workflow-Funktionalität und zusätzlichen Kommunikationsschritten entstehen.
Portal SAP NetWeaver Portal
SAP NetWeaver Portal stellt die Komponente für die Integration der Unternehmensprozesse auf Frontend-Ebene dar. Es ermöglicht einen gesicherten, webbasier-ten und rollenspezifischen Zugriff auf Anwendungen, Informationen und Dienste. Im SOA-Umfeld von SAP dient das Portal als oberste Ebene zur Kapselung der Funktionen und Applikationen zum Beispiel durch die Integration von UIs auf Basis von Web Dynpro über iViews. Damit können Benutzer bzw. rollenspezifische Frontends mit starker Prozessausrichtung zur Verfügung gestellt werden.
Service Consumption
Tabelle 5.2 Komponenten der Service-Consumption-Schicht (Forts.)
1445.book Seite 137 Donnerstag, 1. April 2010 10:38 10
138
Implementierung einer serviceorientierten Architektur im SAP-Umfeld5
5.1 Entwicklungswerkzeuge für Service Provisioning
Abbildung 5.3 Service Provisioning
Beschreibung derEntwicklungs-
werkzeugefür Service
Provisioning
Bei der Beschreibung der Entwicklungswerkzeuge beginnen wir mitden Werkzeugen, die zur Definition, Modellierung, Beschreibung,Veröffentlichung, Implementierung und Vermittlung von Servicesdienen. Entsprechend der Referenzarchitektur befinden wir uns imBereich Service Provisioning.
Alle eingeführten SAP-Applikationslandschaften, und mit Sicherheitauch die in naher Zukunft einzuführenden SAP-Applikationen, beru-hen auf den Anwendungen der SAP Business Suite. Ausgehend vonder Einführung einer komplexen SAP-Systemlandschaft betrachtenwir bei der folgenden Beschreibung der Entwicklungswerkzeuge denbereits in Kapitel 4, »Lebenszyklus einer serviceorientierten Architek-tur«, eingeführten Inside-out-Entwicklungsablauf.
Wir gehen von in den Applikationen der SAP Business Suite vorhan-denen Funktionalitäten aus, die bereits als Service zur Verfügung ste-hen bzw. in eine Servicestruktur umgewandelt werden. In diesemAbschnitt werden die in Tabelle 5.3 aufgeführten Entwicklungswerk-zeuge behandelt.
Endanwender
Development Tools (NWDS
for Java )
CAF
ESR
SR
Ser
vice
Con
sum
ptio
nS
erv
ice
Pro
vis
ioni
ng
Backend-System
Mod
ellie
rung
&D
efin
itio
n
Such
e &
Bes
chre
ibun
gS
ervi
ceU
IP
roze
ssP
orta
lV
erm
ittl
ung
PI
Development Tools (ABAP
WB for ABAP)
Visual Composer
Web Dynpro (Java / ABAP)
Adobe Interactive
Forms
AB
AP
Wor
kben
ch
Service Provisioning
SAP NetWeaverPortal
NW
DS/
NW
DI
Impl
emen
-ti
erun
g
Process Composer/Guided Procedures
1445.book Seite 138 Donnerstag, 1. April 2010 10:38 10
139
Entwicklungswerkzeuge für Service Provisioning 5.1
Schritte des Service Provisionings
Tabelle 5.4 zeigt die detaillierte Zuordnung der Werkzeuge zu deneinzelnen in Kapitel 3, »Entwicklung einer SOA-Referenzarchitekturfür SAP«, beschriebenen Schritten des Service Provisionings.
Komponente/Tool Beschreibung in diesem Kapitel
ABAP Workbench ABAP Web Service Creation Wizard zur Konvertierung vorhandener SAP-Funktiona-lität aus den Core-Systemen in Services.
SAP NetWeaver Develop-ment Infrastructure (NWDI)/SAP NetWeaver Developer Studio (NWDS)
NWDI und NWDS als Design- und Runtime für Java-basierte SOA-Entwicklungsprojekte. Beschreibung der Bestandteile und des SAP-spezifischen Komponentenmodells.
Im Enterprise Services Repository werden Enterprise Services mit ihren Schnittstellen modelliert, deklariert und dokumentiert. Die Bestandteile werden definiert und Eigen-schaften beschrieben.
Die Services Registry ist ein zentrales Ver-zeichnis für alle Services. Sie ist Teil der SOA-Landschaft und enthält Einträge für alle Servicedefinitionen.
SAP NetWeaver Process Integration (PI)
Beschreibung der Architektur und der SOA-relevanten Komponenten der Process Inte-gration.
Tabelle 5.3 SOA-Entwicklungstools und -Komponenten für den Bereich Service Provisioning
Service Provisioning
Mod
ellie
rung
Def
init
ion
Impl
emen
tier
ung
Such
e un
d B
esch
reib
ung
Ver
mit
tlun
g
ESR X X
SR X
ABAP Workbench X
NWDS X
SAP NetWeaver PI X
Tabelle 5.4 Zuordnung der Entwicklungstools zu den Schritten der Entwicklung im Service Provisioning
1445.book Seite 139 Donnerstag, 1. April 2010 10:38 10
140
Implementierung einer serviceorientierten Architektur im SAP-Umfeld5
Ausgehend vom Inside-out-Ansatz wenden wir uns zunächst den fürden SOA-Entwicklungszyklus interessanten Inhalte der SAP BusinessSuite zu.
5.1.1 SAP Business Suite
Abbildung 5.4 SAP Business Suite
SAP Business Suiteals Servicelieferant
Die SAP Business Suite als Bezeichnung für die fünf Business-Appli-kationen von SAP steht am Beginn der Beschreibung der Entwick-lungstools und Komponenten, da wir für die Implementierung einerserviceorientierten Architektur immer vom Vorhandensein einerImplementierung mindestens einer der SAP Business Suite-Applika-tionen ausgehen. Bei der Betrachtung des Inside-out-Ansatzes bestehtdie Prozesslandschaft der Geschäftsanwendungen im Kern aus einerSAP-Prozesslandschaft. Diese wird um SOA erweitert. Das heißtgenau genommen: Es gibt keine SOA ohne die SAP Business Suite-Implementierung mindestens einer Komponente. Als SAP BusinessSuite werden folgende fünf Business-Applikationen von SAP bezeich-net:
� ECC (ERP Central Component)
� CRM (Customer Relationship Management)
� PLM (Product Lifecycle Management)
Endanwender
Development Tools (NWDS
for Java )
CAF
ESR
SR
Se
rvic
e C
ons
ump
tion
Ser
vice
Pro
vis
ion
ing
Backend-System
PI
Development Tools (ABAP
WB for ABAP)
Visual Composer
Web Dynpro (Java / ABAP)
Adobe Interactive
Forms
AB
AP
Wor
kben
ch
BackendSAP Business
Suite
Process Composer/Guided Procedures
SAP NetWeaverPortal
Mod
ellie
rung
&D
efin
itio
nSu
che
&B
esch
reib
ung
Ser
vice
UI
Pro
zess
Por
tal
Ver
mit
tlun
gIm
plem
en-
tier
ung
NW
DS/
NW
DI
1445.book Seite 140 Donnerstag, 1. April 2010 10:38 10
141
Entwicklungswerkzeuge für Service Provisioning 5.1
� SRM (Supplier Relationship Management)
� SCM (Supply Chain Management)
Diese fünf Applikationen sind die Backend-Applikationen jeder SAP-zentrischen ERP-Systemlandschaft und bilden die integrierte Prozess-landschaft aller in SAP hinterlegten Standard-Business-Prozesse ab.Um die eingeführten und weit verbreiteten SAP Business Suite-basierten Systemlandschaften im SOA-Umfeld verwenden zu kön-nen, Investitionskosten zu sparen und den Weg von »starren« Sys-temlandschaften hin zu SOA-basierten, flexiblen IT-Infrastrukturenzu ermöglichen, machte SAP ihre Business Suite servicefähig. Abbil-dung 5.5 zeigt die Applikationen der SAP Business Suite als zentrales»Repository« für die Geschäftsprozesslogik.
Abbildung 5.5 SAP Business Suite mit zentralen SAP-Business-Applikationen
Die SAP Business Suite ist abgestimmt auf die SOA-Plattform, die mitSAP NetWeaver ausgeliefert wird. Die SOA-Komponenten und diedazugehörigen Softwareprodukte sowie deren Paketierung und Aus-lieferung (zum Beispiel ESR als Bestandteil von Composition Environ-ment oder Process Integration) wurden bereits in Kapitel 3, »Entwick-lung einer SOA-Referenzarchitektur für SAP«, beschrieben.
Desktop MobilePortal Forms Voice SearchPervasiveWiki/Blog
Universeller Zugriff
SOA-fähig
SAP Business Suite
1445.book Seite 141 Donnerstag, 1. April 2010 10:38 10
142
Implementierung einer serviceorientierten Architektur im SAP-Umfeld5
Standard-End-to-End-Prozesse
Mit Einführung der SAP Business Suite 7 sind integrierte SAP-Stan-dard-End-to-End-Prozesse über die SAP Business Suite-Applikationenverfügbar. Diese basieren auf der SAP NetWeaver-Plattform, die überdie Auslieferung von Enhancement Packages ständig erweitert wird.Teil der Enhancement Packages sind Standard-Enterprise-Services.Damit wird die Hürde zur SOA-Einführung mit SAP gesenkt, und ein-geführte SAP-Lösungen werden weiterentwickelt und bei BedarfSchritt für Schritt zu serviceorientierten Architekturen erweitert. SAPbietet mit ihren Enhancement Packages ein Standardauslieferungs-verfahren für eigene Services und daneben Tools zur Erweiterungvon Standardfunktionalität zu kundenspezifischen Services an.
Mit Auslieferung der SAP Business Suite 7 sind die Applikationen derBusiness Suite »service-enabled«, das heißt, dass die IT- und Software-architektur die Nutzung spezieller Funktionalitäten als Service stan-dardmäßig erlaubt und dass Funktionalitäten aus der Business Suiteeinfach zu Services erweitert werden können. Im Folgenden werdenwir beschreiben, wie diese Services eingesetzt werden können.
5.1.2 ABAP Workbench
Abbildung 5.6 ABAP Workbench
Einleitung undGrundlagen
ABAP ist die SAP-eigene Programmiersprache. Sie wurde speziell fürdie Erstellung von kommerziellen Anwendungen im SAP-Umfeld
Endanwender
PC / GP
CAF
ESR
SR
Se
rvic
e C
ons
ump
tion
Ser
vice
Pro
vis
ion
ing
Backend-System
Ser
vice
UI
Pro
cess
Por
tal
Med
iati
on
PI
Visual Composer
Web Dynpro (Java / ABAP)
Adobe Interactive
FormsABAPWorkbench
AB
AP
Wor
kben
ch
NW
DS/
NW
DI
SAP NetWeaverPortal
Mod
ellie
rung
&D
efin
itio
nSu
che
&B
esch
reib
ung
Impl
emen
-ti
erun
g Entwicklungs-werkzeuge
(NWDS für Java)
Entwicklungs-werkzeuge
(ABAP Workbench für ABAP)
1445.book Seite 142 Donnerstag, 1. April 2010 10:38 10
143
Entwicklungswerkzeuge für Service Provisioning 5.1
geschaffen. Ursprünglich stand ABAP für Allgemeiner Berichts-Anwen-dungs-Prozessor, da mit dieser Sprache nur kundenspezifische Aus-wertungen programmiert werden sollten. Im Zuge der Weiterent-wicklungen der Sprache steht das Akronym mittlerweile für AdvancedBusiness Application Programming. Der Sprachumfang ist nicht festdefiniert und wurde in der Vergangenheit immer wieder erweitert,zum Beispiel um die Sprachbefehle von ABAP Objects im Jahr 1999.Die überwiegende Mehrheit der Anwendungen und Systeme vonSAP sind in ABAP geschrieben.
Einsatzgebiet des Werkzeugs
Die ABAP Workbench stellt die in den SAP-Applikationsserver inte-grierte Entwicklungsumgebung für die Erstellung von Anwendungenin ABAP dar. Im Gegensatz zu den meisten konventionellen Program-miersprachen sind alle Komponenten eines Programms, das in ABAPgeschrieben ist, an einem zentralen Speicherplatz innerhalb des SAP-Systems gespeichert, dem ABAP Repository, dem ein spezielles Seg-ment der SAP-Datenbank zugeordnet ist.
Architektur und Komponenten
Die ABAP Workbench ist mit verschiedenen Werkzeugen für dieArbeit mit den Repository-Objekten über den gesamten Software-lebenszyklus ausgestattet. Die wichtigsten ABAP-Entwicklungstoolsin der ABAP Workbench sind:
� ABAP Editor für die Erstellung und Bearbeitung von ABAP-Quell-code
� ABAP Dictionary zum Speichern des Quellcodes und Metadatenwie Tabellendefinitionen, Datentypen und Wertehilfen
� Screen Painter für die Erstellung von Screens im ABAP-Programm-ablauf
� Menu Painter für das Design von grafischen Benutzeroberflächenin ABAP-Programmen
� Function Builder für das Management der Entwicklung von Funk-tionsmodulen
� Class Builder für die Erzeugung und das Management globalerABAP-Klassen in den Schnittstellen
Integration mit anderen Tools
Zusätzlich enthält die ABAP Workbench Werkzeuge für verschiedeneEntwicklungsaufgaben, beispielsweise Webanwendungen, Web Dyn-pro ABAP, SOA und Tools zum Testen der entwickelten Anwendun-gen.
1445.book Seite 143 Donnerstag, 1. April 2010 10:38 10
144
Implementierung einer serviceorientierten Architektur im SAP-Umfeld5
Nutzung imSOA-Kontext
Ein Bestandteil der ABAP Workbench ist der Web Service CreationWizard (WS Creation Wizard). Dieser Wizard ermöglicht die Defini-tion eines Webservice in wenigen Schritten. Webservices können fürRFC-fähige Funktionsbausteine, Funktionsgruppen, BAPIs und PI-Message-Interfaces angelegt werden. Features, die sich zum Beispielauf die Sicherheit oder die Transportgarantie beziehen, werden überKonfigurationsprofile zugeordnet.
Bei der Definition eines Webservice mithilfe des WS CreationWizards werden ein virtuelles Interface und eine Webservice-Defini-tion automatisch angelegt. Damit ist eine einfache Möglichkeit gege-ben, vorhandene Funktionalität aus der SAP Business Suite in konsu-mierbare Enterprise Services zu erweitern. Die praktische Nutzungdes WS Creation Wizards wird in der Beispielbeschreibung am Endedieses Kapitels und in der Beschreibung der Praxisbeispiele in Kapitel 6genauer erklärt.
5.1.3 SAP NetWeaver Developer Studio
Abbildung 5.7 SAP NetWeaver Developer Studio
Einleitung undGrundlagen
Das nächste Entwicklungswerkzeug, das wir im Rahmen dieses Kapi-tels beschreiben werden, ist das SAP NetWeaver Developer Studio(NWDS) mit seiner Grundlage, der SAP NetWeaver DevelopmentInfrastructure (NWDI).
Endanwender
PC / GP
CAF
ESR
SR
Ser
vice
Co
nsu
mp
tion
Ser
vic
e P
rovi
sio
nin
g
Backend-System
nS
ervi
ceU
IP
roce
ssP
ort
alM
edia
tion
PI
Visual Composer
Web Dynpro (Java / ABAP)
Adobe Interactive
FormsSAP NetWeaverDevelopment
Studio AB
AP
Wor
kben
ch
NW
DS/
NW
DI
SAP NetWeaverPortal
Mod
ellie
rung
&D
efin
itio
nSu
che
&B
esch
reib
ung
Impl
emen
-ti
erun
g Entwicklungs-werkzeuge
(NWDS für Java)
Entwicklungs-werkzeuge
(ABAP Workbench für ABAP)
1445.book Seite 144 Donnerstag, 1. April 2010 10:38 10
145
Entwicklungswerkzeuge für Service Provisioning 5.1
Die Entwicklungsumgebung NWDS ermöglicht die Entwicklung vonGeschäftsanwendungen, die auf dem Java/J2EE-Technologiestandardbasieren. Aus SAP-Sicht genügt dieser technologische Standard jedochnicht, um die vielfältigen Geschäftsanforderungen von Kunden undPartnern abzudecken. Daher erweitert SAP diese technologische Basisum eigene Technologie- und Business-Funktionalitäten. Beispiele hier-für sind die Integration von Adobe Services in den Java-Server (sieheAbschnitt 5.2.3, »SAP Interactive Forms by Adobe«) oder das SAP CAF(siehe Abschnitt 5.2.1, »SAP Composite Application Framework«).
Einsatzgebiet des Werkzeugs
Das NWDS ist die strategische Entwicklungsumgebung zur Realisie-rung von Java-basierten Geschäftsanwendungen von SAP. Es basiertauf der Eclipse-Plattform, die von IBM entwickelt und als Open-Source-Projekt der Eclipse Foundation Community zur Verfügunggestellt wurde. Diese offene Entwicklungsplattform besteht auserweiterbaren Frameworks (Plug-in Framework), Tools und Laufzeit-umgebungen und bietet SAP auf diese Weise eine offene Architektur,um die eigenen Java-basierten Technologien und Frameworks ein-binden zu können (Abbildung 5.8).
Abbildung 5.8 Um SAP-Spezifika erweiterte Eclipse-Plattform als Basis des NWDS
J2EE Webservices Web Dynpro
Java XML Java Dictionary
Integration Framework
Eclipse Plug-in Framework
1445.book Seite 145 Donnerstag, 1. April 2010 10:38 10
146
Implementierung einer serviceorientierten Architektur im SAP-Umfeld5
Ein weiterer wichtiger Punkt neben der Entwicklung von Code istdessen Verwaltung und Bereitstellung innerhalb von mittleren bisgroßen, meist verteilt arbeitenden Teams. Die NWDI erfüllt dieseAnforderungen und ist mit dem NWDS sowohl für SAP NetWeaver7.0 als auch für SAP NetWeaver CE 7.1 einsetzbar.
Architektur undKomponenten des
SAP NetWeaverDeveloper Studios
Das SAP NetWeaver Developer Studio beinhaltet alle Funktionalitä-ten der Eclipse Workbench, die mit dem Eclipse-SDK (Software Deve-lopment Kit) installiert werden, und erweitert diese durch eine Reihevon Tools und Services, die je nach Anwendungsgebiet in verschie-dene Sichten (Perspektiven) zusammengefasst sind. Die Entwicklungvon SAP-spezifischen Projekten wird durch SAP-eigene Sichtenunterstützt. Folgende Sichten sind im NWDS vorhanden:
� J2EE-SichtDie J2EE-Sicht unterstützt Entwicklung und Anwendung der Tech-nologien von Java 2 Enterprise Edition (J2EE) wie JavaServer Pages(JSP), Servlets und Enterprise JavaBeans (EJB).
� Webservice-SichtDie Webservice-Sicht kombiniert Werkzeuge für die Definieren,das Finden und Testen von Webservices.
� Web-Dynpro-SichtDie Web-Dynpro-Sicht bietet eine umfassende Umgebung für denmodellbasierten Entwurf von Benutzeroberflächen. Web Dynprogeneriert automatisch Programmcode aus Modellen von Benut-zeroberflächen.
� PersistenzsichtDie Persistenzsicht unterstützt die Erstellung und Definition vonDatenbankobjekten wie Tabellen und Indizes mithilfe des JavaDictionarys sowie von Editoren und Standards wie SQLJ (Embed-ded SQL) oder JDO (Java Data Objects).
� Debugging-SichtDie Debugging-Sicht unterstützt das Testen von Java-Anwendun-gen durch die Prüfung von Kenngrößen, Konventionen und Sprach-einschränkungen.
� Java-Entwicklungsinfrastruktur-SichtDie Java-Entwicklungsinfrastruktur-Sicht bietet Werkzeuge zumOrganisieren, Verfolgen und Koordinieren der Arbeit größererEntwicklungsteams. Die Entwicklerinfrastruktur verwaltet Quell-text, erstellt inkrementell neue Versionen und implementiertAnwendungen auf dem richtigen Server zur richtigen Zeit.
1445.book Seite 146 Donnerstag, 1. April 2010 10:38 10
147
Entwicklungswerkzeuge für Service Provisioning 5.1
Integration der SAP NetWeaver Development Infrastructure in das SAP NetWeaver Developer Studio
Die Besonderheit des SAP NetWeaver Developer Studios (NWDS)besteht nicht allein in der Bereitstellung von Werkzeugen für dieJava-Entwicklung von unterschiedlichen Projektarten, sondern vorallem in einer engen Integration in eine robuste SAP-Entwicklungsin-frastruktur. Diese Kombination von NWDS und NWDI (SAP NetWea-ver Development Infrastructure) lässt das Developer Studio zu einerhoch produktiven und umfassenden Entwicklungsumgebung wer-den, die den gesamten Lebenszyklus von Java-basierten Projektenabdeckt – einschließlich der Einbindung eines Source-Management-Systems, der Konfiguration und des Transportmanagements. DieVorteile dieser Lösung wirken sich besonders bei der Erstellung vonumfangreichen, serverbasierten Business-Applikationen aus, diegroße Entwicklerteams voraussetzen.
Architektur und Komponenten der NWDI
Die NWDI umfasst eine Reihe von Services. Das Design Time Reposi-tory (DTR) dient der zentralen Speicherung und Versionierung vonJava-Sourcecode und anderen Design-Time-Objekten. Auch eineZusammenarbeit in umfangreichen Projekten, an denen eine Vielzahlvon Entwicklern beteiligt ist, die auch über mehrere Standorte ver-teilt sein können, wird durch das DTR ermöglicht. Die Integration desDTR in das Developer Studio erfolgt über einen DTR-Client, der alleelementaren Entwickleraktivitäten, zum Beispiel das Ein- und Aus-checken, beinhaltet. Darüber hinaus stellt das Developer Studio demEntwickler spezielle Werkzeuge zur Verfügung, die je nach Aufga-benschwerpunkt in der Development-Configuration oder in der DTR-Perspektive zusammengestellt sind.
Der Component Build Service (CBS) ermöglicht den zentralen Build,der auf dem SAP-Komponentenmodell basiert. Der CBS hält sowohldie Build-Ergebnisse als auch die zum Build benötigte Umgebung(zum Kompilieren benötigte Bibliotheken, Generatoren, Build-Skripte) in einem zentralen Archiv-Pool bereit; sie können bei Bedarfin die lokale Entwicklungsumgebung des Entwicklers heruntergela-den werden. Ebenso hält der CBS je nach verwendeter Konfigurationdie jeweils passenden Versionen der Archive bereit. Die Erstellungvon Code-Zeilen, die Konsolidierung, Validierung und das Deploy-ment in die zentralen Systeme erfolgen auf Basis eines definiertenSoftware-Logistik-Prozesses.
1445.book Seite 147 Donnerstag, 1. April 2010 10:38 10
148
Implementierung einer serviceorientierten Architektur im SAP-Umfeld5
Der Change Management Service (CMS) verwaltet den Transport vonSoftwareänderungen innerhalb einer Java-Entwicklungslandschaft.Mit dem Transport-View innerhalb des NWDS kann der Entwicklerseine Softwareänderungen zum weiteren Transport in entsprechendeEntwicklungs- und Konsolidierungslandschaften freigeben. DerTransport von Softwarepaketen setzt aber die Beschreibung der Sys-temlandschaft voraus. Diese System- und Transportlandschaft wirdinnerhalb des System Landscape Directorys (SLD) beschrieben und istdort zentral abgelegt. Daneben stellt das SLD auch einen Namensser-vice bereit, der als zentrale Prüfinstanz für Namen von Entwicklungs-objekten dient. Um Namenskonflikte zu vermeiden, bietet derNamensreservierungsservice die Möglichkeit, global eindeutigeNamen zu reservieren. Die Integration von NWDS und SAP-Trans-portlogistik zeigt Abbildung 5.9.
Abbildung 5.9 SAP-Transportlogistik im Zusammenspiel von NWDS und NWDI
Neben den gerade erwähnten Infrastrukturservices ist das SAP-Kom-ponentenmodell ein zentraler Bestandteil der NWDI. Es dient zurStrukturierung von Software anhand von Einzelkomponenten, dieklare Verwendungsbeziehungen untereinander definieren und soeine Voraussetzung für die Modularisierung und Wiederverwendungbilden. Über Metadaten ist der Entwickler in der Lage, Schnittstellenfür die externe Verwendung, Abhängigkeiten oder die Sichtbarkeit
Entwickler-PC Zentrale Instanz
Developer Studio
SAP-Komponenten-
modell
Lokales Dateisystem
Cha
nge
Man
agem
ent
Serv
ice
(CM
S)
Design TimeRepository
(DTR)
ComponentBuild Service
(CBS)
Name Server
System Landscape Directory(SLD)
Laufzeitder
J2EE-Systeme
sichern
verteilensynchronisieren
synchronisieren
1445.book Seite 148 Donnerstag, 1. April 2010 10:38 10
149
Entwicklungswerkzeuge für Service Provisioning 5.1
von Entwicklungsobjekten zu steuern. Das SAP-spezifische Kompo-nentenmodell wird von allen Projekttypen unterstützt, die alsBestandteil der SAP-Entwicklungsinfrastruktur (NWDI) im DeveloperStudio fest verankert sind.
Vier Ebenen des Komponenten-modells
Um die Software zu strukturieren, verwendet SAP in seinem Kompo-nentenmodell die folgenden vier Ebenen (Abbildung 5.10):
� ProdukteProdukte von SAP sind Geschäftslösungen mit einem definiertenFunktionsumfang, die an SAP-Kunden verkauft werden sollen. Daein Produkt die Art und Funktionen der Software bestimmt, gibtes auch die Struktur vor. Die Unterstrukturen eines Produktes ausneuen, installierbaren und wiederverwendbaren Teilen nennt manSoftware Components. Produkte werden im SLD definiert.
� Software Components (SC)Software Components sind Gruppen von zusammengehörigenFunktionen. Beispiele sind allgemein verfügbare Bibliothekenoder ein Framework, das von allen Anwendungen benutzt wird.Diese Funktionen sind in Development Components (DC) implemen-tiert. Eine Software Component kann als Behälter für genau eineDevelopment Component betrachtet werden. Genau wie Produktewerden auch Development Components im SLD definiert.
� Development Components (DC)Development Components sind Gruppierungen von Objekten(den Entwicklungsobjekten), definieren aber direkt deren wechsel-seitige Verwendung und sind somit die eigentlichen Einheiten, mitdenen der Entwickler arbeitet. Sie sind auch die Einheiten, die derBuild-Prozess der NWDI verarbeitet. Die Development Compo-nents tragen alle entscheidenden Eigenschaften des Komponenten-modells: Hier sind die Verwendungsbeziehungen zwischen Deve-lopment Components und weitere Metadaten zu finden. Es stehensowohl für die Java-Standard-Entwicklung als auch für SAP-spezi-fische Entwicklungen entsprechende DC-Typen bereit:
� Composite-Application-DC
� Dictionary-DC
� J2EE/JEE-DC
� Java-Enterprise-Application-DC
� EJB-Modul-DC
1445.book Seite 149 Donnerstag, 1. April 2010 10:38 10
150
Implementierung einer serviceorientierten Architektur im SAP-Umfeld5
� Webmodul-DC
� J2EE-Server-Component-Library-DC
� Java-DC
� Web-Dynpro-DC
� Webservice-DC (Webservice-Client-Proxy-Java-DC)
� Development Objects (DO)Development Objects sind die eigentlichen Entwicklungsobjekte,zum Beispiel Klassen und Interfaces, EJBs, Icons für Oberflächen,Tabellen im Java Dictionary oder Web-Dynpro-Dateien. Sie wer-den im DTR als versionierte Ressourcen (Versioned Resources)gespeichert.
Abbildung 5.10 Komponentenmodell für die Java-basierte Entwicklung auf Basis der SAP-Plattform
Produktversion
SK-Version
EK-Version
EO-Version
*
*
*
*
1
1
*
1
Produkt
Software-komponente (SK)
Entwicklungs-komponente (EK)
Entwicklungs-objekt (EO)
1445.book Seite 150 Donnerstag, 1. April 2010 10:38 10
151
Entwicklungswerkzeuge für Service Provisioning 5.1
Nutzung im SOA-Kontext
In Abhängigkeit davon, ob und in welchem Umfang die NWDI beimEntwicklungsprozess zum Einsatz kommt, lassen sich folgende Ver-wendungsszenarien ableiten:
� Entwicklung im Team unter Nutzung der gesamten NWDIDieses Szenario ist geeignet für größere Entwicklungsprojekte, dieeine Aufteilung in eine Vielzahl von kleineren Teilprojekten erfor-derlich machen, die über klar definierte Abhängigkeiten unterein-ander verfügen. Zusätzliches NWDI-Expertenwissen (Personal) istzur Installation, Konfiguration und NWDI-Bedienung erforderlich.
� Lokale Entwicklung ohne NWDIDieses Szenario ist nur für lokale Projekte zur Einarbeitung undEvaluierung geeignet.
� Lokale Entwicklung mit dem SAP-KomponentenmodellNur das SAP-Komponentenmodell wird in Form von lokalen Deve-lopment Components (DC) zur Strukturierung der Software ver-wendet, ohne Gebrauch von weiteren NWDI-Services zu machen.
NWDI und SAP NetWeaver CE 7.1
Die SAP NetWeaver Development Infrastructure mit dem Stand 7.0kann uneingeschränkt für die Entwicklung mit dem SAP NetWeaverComposition Environment 7.1 eingesetzt werden, da die NWDI weit-gehend unabhängig von der Version der verwalteten Software betrie-ben werden kann.
Mit dem Support Package Stack 13 (SPS13) von SAP NetWeaver 7.0wird nun auch der Einsatz der NWDI für die Entwicklung in SAP Net-Weaver CE 7.1 offiziell und uneingeschränkt unterstützt. DieserStand (oder höher) wird für die Verwendung mit dem SAP NetWea-ver Composition Environment empfohlen, da mit diesem Software-stand eine Reihe neuer oder verbesserter Funktionen ausgeliefertwird, unter anderem:
� Deployment mit dem geänderten Deploy-Tool
� Verbesserung der allgemeinen Systemperformance
� Vereinfachung der NWDI-Konfiguration
� neue und erweiterte NWDI-Funktionalitäten (DTR, CBS, CMS)
Mit der bisherigen Beschreibung von Entwicklungswerkzeugen undKomponenten wurde die Bereitstellung, Modellierung, Implementie-rung und Verteilung von Services behandelt. Als letzte Komponente
1445.book Seite 151 Donnerstag, 1. April 2010 10:38 10
152
Implementierung einer serviceorientierten Architektur im SAP-Umfeld5
des Service Provisionings stellen wir im Folgenden SAP NetWeaverProcess Integration (PI) vor.
5.1.4 SAP NetWeaver Process Integration
Abbildung 5.11 SAP NetWeaver Process Integration
Einleitung undGrundlagen
In der SOA-Referenzarchitektur spielt SAP NetWeaver PI eine zentraleRolle, wie bereits in Kapitel 3, »Entwicklung einer SOA-Referenz-architektur für SAP«, beschrieben wurde. Im Kontext der Entwick-lungswerkzeuge für das Service Provisioning konzentrieren wir unsjedoch auf die Funktionalität als SOA-Middleware. Wie in der Refe-renzarchitektur (siehe dazu Abbildung 5.2) ersichtlich, übernimmt SAPNetWeaver PI im SOA-Kontext die Aufgabe der Service Mediation.Service Mediation bezeichnet dabei die Rolle des Enterprise ServiceBus, eine zuverlässige Kommunikation zwischen IT-Ressourcen aufunterschiedlichen IT-Systemen (zum Beispiel Applikationen, Plattfor-men, Services) zu gewährleisten.1
Endanwender
PC / GP
CAF
ESR
NW Portal
SR
Se
rvic
e C
ons
ump
tion
Ser
vice
Pro
vis
ion
ing
Ser
vice
UI
Por
tal
PI
Visual Composer
Web Dynpro (Java / ABAP)
Adobe Interactive
Forms
AB
AP
WB
SAP NetWeaverProcess
Integration
Backend-System
NW
DS/
NW
DI
Mod
ellie
rung
&D
efin
itio
nSu
che
&B
esch
reib
ung
Impl
emen
-ti
erun
g Entwicklungs-werkzeuge
(NWDS für Java)
Entwicklungs-werkzeuge
(ABAP Workbench für ABAP)
Pro
zess
Ver
mit
tlun
g
1 Eine umfangreiche, alle Einsatzmöglichkeiten von SAP NetWeaver PI im SAP-Umfeld erklärende Darstellung bieten Huvar, Falter, Fiedler, Zubev: Anwendungs-entwicklung mit Enterprise SOA (SAP PRESS 2008) oder Krimmel, Orb: SAP NetWeaver Process Integration (2. Aufl., SAP PRESS 2010).
1445.book Seite 152 Donnerstag, 1. April 2010 10:38 10
Anwendungs-Frontend 66Application Link Enabling � ALEApplication to Application � A2AApplication to X Users � A2XApplikationsintegration 76, 77Applikationslandschaft 229, 274Applikationsplattform 240Architektur
Business Blueprint 109, 113Go-live und Support 109klassisches 107kombiniertes 107Methode 107Produktionsvorbereitung 109Realisierung 109Vorbereitungsphase 108
SAPscript 181SAP-Standardsoftware 23, 88, 231
SAP-Strategie 42SAP-Template 32Scenario Model 98Schnittstelle 29, 36, 76, 148