Programmierhandbuch SAP NetWeaver Composition

06.09.2007 - tens den Eintrag New Business Object (siehe Abbildung 2.6). Abbildung 2.6 Anlegen eines neuen Geschäftsobjektes. 7. Vergeben Sie in dem ...
3MB Größe 8 Downloads 409 Ansichten
00____1129.book Seite 3 Donnerstag, 6. September 2007 9:57 09

Jan Rauscher, Volker Stiehl

Programmierhandbuch SAP NetWeaver® Composition Environment

Bonn  Boston

00____1129.book Seite 5 Donnerstag, 6. September 2007 9:57 09

Auf einen Blick 1

Composite Applications .........................................

23

2

Entwicklung einer Beispielanwendung ..................

43

3

Composite Application Framework ........................ 135

4

SAP NetWeaver Visual Composer .......................... 205

5

Guided Procedures ................................................. 223

6

Spezifikation von Composite Applications ............. 319

7

Zusammenfassung und Ausblick ............................ 343

A

Installation und Entwicklungslandshaft ................ 349

B

Die Autoren ............................................................. 379

03____IVZ_lang.fm Seite 7 Donnerstag, 6. September 2007 10:08 10

Inhalt Vorwort ..................................................................................... 13 Einführung ................................................................................. 17

1

Composite Applications ........................................... 23 1.1 1.2 1.3

1.4

2

Bedeutung und Nutzen ........................................... Grundlegende Annahmen ........................................ Architektur .............................................................. 1.3.1 Geschäftsobjekt- und Service-Schicht ............ 1.3.2 User-Interface-Schicht .................................. 1.3.3 Prozessschicht .............................................. SAP NetWeaver Composition Environment ..............

24 26 28 29 32 32 37

Entwicklung einer Beispielanwendung .................... 43 2.1

2.2

Modellierung von Geschäftsobjekten mit dem Composite Application Framework .......................... 2.1.1 Anlegen einer Composite Application im SAP NetWeaver Developer Studio ................ 2.1.2 Modellierung der Attribute von Geschäftsobjekten ........................................ 2.1.3 Relationen zwischen Geschäftsobjekten ........ 2.1.4 Lebenszyklusmethoden eines Geschäftsobjektes ......................................... 2.1.5 Zugriffsrechte für Geschäftsobjekte ............... 2.1.6 Persistenz für Geschäftsobjekte ..................... 2.1.7 Modellierung der Remote-Persistenz ............ 2.1.8 Bereitstellung von Methoden als Webservice 2.1.9 Testen von Webservices ................................ Modellierung von Benutzeroberflächen mit dem SAP NetWeaver Visual Composer ............................ 2.2.1 Einführung zum Visual Composer .................. 2.2.2 Arbeiten mit dem Visual Composer ............... 2.2.3 Anlegen eines neuen Modells ....................... 2.2.4 Suche und Verwendung von Diensten .......... 2.2.5 Hinzufügen von User-Interface-Elementen .... 2.2.6 Editieren des Bildschirm-Layouts ..................

45 45 52 56 56 58 59 61 63 68

70 71 72 74 78 86 88

7

03____IVZ_lang.fm Seite 8 Donnerstag, 6. September 2007 10:08 10

Inhalt

2.2.7 2.2.8

2.3

2.4

3

89 94

99 100 104 115 121 126

Composite Application Framework ......................... 135 3.1

3.2

3.3

3.4

8

Modellierung des Datenflusses ...................... Übersetzung, Deployment und Test der Applikation ................................................... Modellierung von Prozessen mit Guided Procedures .............................................................. 2.3.1 Guided-Procedures-Entwicklungsobjekte ...... 2.3.2 Prozessflussmodellierung .............................. 2.3.3 Parameterkonsolidierung .............................. 2.3.4 Rollenzuordnung ........................................... Test von Composite Applications ............................

Beziehungen zwischen Business-Objekten ............... 3.1.1 Anlegen eines Objekttyps für die Projektphase ................................................. 3.1.2 Anlegen eines Objekttyps für den Projektteilnehmer ......................................... Autorisierungskonzepte für Business-Objekte .......... 3.2.1 Geschäftsanforderungen für die Definition von Zugriffsrechten ....................................... 3.2.2 Weitergabe von Berechtigungen ................... 3.2.3 Berechtigungspropagation testen .................. Remote-Persistenz von Business-Objekten .............. 3.3.1 Backend-System untersuchen ........................ 3.3.2 Anpassen der Backend-Services ..................... 3.3.3 Anpassen des Business-Objektes ................... 3.3.4 Business Application Programming Interfaces importieren ................................... 3.3.5 Services und Parameter mappen ................... 3.3.6 Service-Konfiguration .................................... 3.3.7 Test der Remote-Persistenz ........................... Application Services mit Business-Logik und Webservices ............................................................ 3.4.1 Anlegen eines Projektes für die Budgeterweiterung ....................................... 3.4.2 Service zur Währungskonvertierung erstellen ........................................................ 3.4.3 Service zur Währungskonvertierung programmieren und als Webservice publizieren ....................................................

136 137 141 147 147 152 155 157 159 162 168 173 176 180 182

185 186 189

190

03____IVZ_lang.fm Seite 9 Donnerstag, 6. September 2007 10:08 10

Inhalt

3.4.4 3.4.5

4

SAP NetWeaver Visual Composer ........................... 205 4.1 4.2

5

Webservice konsumieren .............................. 193 Öffentlichen Webservice nutzen ................... 200

Modellierung eines Wizards .................................... 206 Modellierung von Result States ............................... 215

Guided Procedures ................................................... 223 5.1

5.2

5.3 5.4

5.5

Definition eines Callable Objects ............................. 224 5.1.1 Typen von Callable Objects ........................... 225 5.1.2 Häufig verwendete Callable Objects .............. 229 5.1.3 Callable-Object-Typ External Service ............. 232 5.1.4 Callable-Object-Typ Web Dynpro Component (Guided-Procedures-Interface) ...................... 236 Prozessaktionen ...................................................... 258 5.2.1 Ausnahmebehandlung .................................. 260 5.2.2 Ausnahmebehandlung in Prozess einbinden .. 267 5.2.3 Prozessvorlage für Ausnahmebehandlung konfigurieren ................................................ 269 5.2.4 Ausnahmebehandlung testen ........................ 271 Blöcke ..................................................................... 272 Prozesse .................................................................. 274 5.4.1 Guided-Procedures-Prozess aus Runtime heraus starten ............................................... 275 5.4.2 Guided-Procedures-Prozess mit Guided Procedures Application Processing Interface starten ........................................... 276 5.4.3 Guided-Procedures-Prozess mit Webservice starten .......................................................... 277 5.4.4 Runtime-Views auf Prozessebene .................. 278 Formulare in Guided Procedures .............................. 282 5.5.1 Guided-Procedures-Prozess für Formular anlegen ......................................................... 283 5.5.2 E-Mail-Vorlage vorbereiten ........................... 284 5.5.3 E-Mail-Vorlage in Callable Object verwenden .................................................... 291 5.5.4 Interaktives Formular anlegen ....................... 293 5.5.5 Formular aus der Formularvorlage erzeugen .. 301

9

03____IVZ_lang.fm Seite 10 Donnerstag, 6. September 2007 10:08 10

Inhalt

5.6

6

303 304 306 306 306 307 308 308 309 309 310 311 312 315 316

Spezifikation von Composite Applications .............. 319 6.1 6.2

6.3 6.4

6.5

6.6 6.7

10

Guided-Procedures-Administration ......................... 5.6.1 Maintain Processes ....................................... 5.6.2 Unlock Objects ............................................. 5.6.3 Maintain E-Mail Templates ........................... 5.6.4 Manage Permissions ..................................... 5.6.5 Assign Default Roles ..................................... 5.6.6 Schedule Process Initiation ............................ 5.6.7 Impersonation Manager ................................ 5.6.8 Impersonation History ................................... 5.6.9 Guided Procedures Configuration Tool .......... 5.6.10 Archiving and Deleting .................................. 5.6.11 Guided-Procedures-Transport ....................... 5.6.12 Konfiguration von Adobe Document Services 5.6.13 Guided-Procedures-Berechtigungen und Rollen ........................................................... 5.6.14 Guided-Procedures-Monitor im SAP NetWeaver Administrator ......................

Allgemeine Informationen über die Composite Application ............................................ Prozessinformationen .............................................. 6.2.1 Prozessübersicht ........................................... 6.2.2 Allgemeine Prozessinformationen ................. 6.2.3 Rollen ........................................................... 6.2.4 Visualisierung des Prozessflusses ................... 6.2.5 Informationen zu den Prozessschritten .......... Ausnahmebehandlung ............................................. Geschäftsobjekte ..................................................... 6.4.1 Auflistung der beteiligten Geschäftsobjekte ........................................... 6.4.2 Geschäftsobjektdetails .................................. Benutzeroberflächen ............................................... 6.5.1 Prototyp der Benutzeroberfläche ................... 6.5.2 Oberflächenbeschreibung ............................. Dienste ................................................................... Übergabe der Spezifikation an den Architekten ......

322 324 324 324 325 325 327 329 330 331 331 335 335 336 338 341

03____IVZ_lang.fm Seite 11 Donnerstag, 6. September 2007 10:08 10

Inhalt

7

Zusammenfassung und Ausblick ............................. 343

Anhang............................................................................ 347 A

Installation und Entwicklungslandshaft .............................. 349 A.1

B

Installation des SAP NetWeaver Composition Environments ...................................... A.2 Verteilte Entwicklung mit dem SAP NetWeaver Composition Environment ....................................... A.3 Frequently Asked Questions im SAP Developer Network .................................................................. Die Autoren .......................................................................

349 372 375 379

Index ..........................................................................................381

11

00____1129.book Seite 13 Donnerstag, 6. September 2007 9:57 09

Vorwort

Das SAP NetWeaver Composition Environment (SAP NetWeaver CE) ist eine integrierte Entwicklungs-, Modellierungs- und Laufzeitumgebung für Composite Applications – und eine der tragenden Säulen in der Umsetzung des Enterprise-SOA-Konzeptes von SAP. SAP NetWeaver CE ergänzt die SAP Business Suite, die unseren Kunden als servicebasiertes Komplettpaket zu hoher Flexibilität und niedrigen Gesamtbetriebskosten ihrer Geschäftsanwendungen verhilft, um die Möglichkeit, diese Flexibilität auch bei der Erstellung von Composite Applications zu nutzen und mit ihrer Hilfe einen schnellen Mehrwert zu schaffen. Als Teil von SAP NetWeaver verfügt das Composition Environment über alle Vorteile einer robusten Technologieplattform auf dem neuesten Stand. SAP NetWeaver CE ist für Entwickler, Business-Analysten und Geschäftsprozessexperten gedacht, und richtet sich gleichermaßen an SAP-Kunden, Partner und an SAP selbst, um EnterpriseSOA-basierte Composite Applications zu erstellen, zu modifizieren und auszuführen. SAP NetWeaver CE liefert dazu produktivitätssteigernde, schlanke und standardbasierte Werkzeuge und Frameworks. Das SAP NetWeaver Composition Environment wurde mit dem klaren Ziel entwickelt, in heterogenen Systemlandschaften als beste Plattform für die Erstellung von Composite Applications zu fungieren. Im Fokus der Produktstrategie stand dabei, a) die EnterpriseSOA-Semantik bestmöglich zu unterstützen, b) einen effektiven und effizienten Softwarezyklus für Composite Applications unter Beachtung von c) Standards und der Prämisse von Einfachheit zu ermöglichen. Sie werden im Umgang mit SAP NetWeaver CE die Erfahrung machen, dass alle drei Aspekte im Produkt berücksichtigt worden sind: Sie können SAP NetWeaver CE in 45 bis 60 Minuten aufsetzen, werden von Anfang an mit der aktuellsten Java EE 5-Engine und Eclipse-IDE arbeiten, können auf Beispielapplikationen zurückgreifen u. v. m. Wir haben bei sämtlichen Aspekten der Entwicklung von SAP NetWeaver CE darauf geachtet, Ihnen die Arbeit so einfach wie möglich zu machen, Industriestandards einzuhalten und die Werk-

13

00____1129.book Seite 14 Donnerstag, 6. September 2007 9:57 09

Vorwort

zeugintegration so voranzutreiben, dass Entwickler, Berater und sonstige Experten ein Maximum an Produktivität erzielen können. Markt- und Kundenanalysen haben gezeigt, dass es ein großes Potenzial für diese Art von Anwendungen gibt, die die Produktivität erhöhen, kollaborative Workflows unterstützen, neue Prozesse ermöglichen und mit denen flexibel auf Ereignisse und Ausnahmesituationen im Unternehmen reagiert werden kann. Das SAP NetWeaver Composition Environment ist als Plattform für solche Anwendungen hervorragend geeignet. Neben der robusten Laufzeitumgebung wurde sehr viel Wert darauf gelegt, eine Architektur zur modellgetriebenen Entwicklung sowie eine Werkzeugumgebung anzubieten, um Anwendungen schneller und effizienter erstellen zu können. SAP-Technologien wie das Composite Application Framework, der SAP NetWeaver Visual Composer und Guided Procedures decken diese Konzepte optimal ab und sind bereits in den bisherigen Releases von SAP NetWeaver von unseren Kunden sehr gut angenommen worden. Im SAP NetWeaver Composition Environment werden nun alle diese Technologien in einem Produkt zusammengefasst. Wir sehen ein großes Potenzial darin, innovative Anwendungen an SAP-Kunden zu liefern. SAP NetWeaver CE hilft SAP, seinem Ökosystem und nicht zuletzt seinen Kunden, auch solche Aufgabenstellungen erfolgreich zu lösen, die nicht durch Standardsoftware abgedeckt werden können. Das SAP NetWeaver Composition Environment zeigt Ihnen neue Mittel und Wege, solche Anwendungen basierend auf dem Enterprise-SOA-Prinzip zu erstellen und hilft Ihnen dabei, Konzepte wie Wiederverwendbarkeit, Integration, modellgetriebene Entwicklung und ein effizientes Life Cycle Management besser zu verwirklichen. Unsere Vision ist es, die Entwicklung von Unternehmenssoftware auf eine Ebene der »Industrialisierung« – das bedeutet, Standardisierung, Vereinfachung und ein semantischer Mehrwert für Tools und Methoden – zu bringen. Ich freue mich außerordentlich, dass das SAP NetWeaver Composition Environment bereits jetzt auf solch enormes Interesse im Markt trifft und bin sicher, dass Sie sehr schnell den Mehrwert von SAP NetWeaver CE erkennen werden, wenn es darum geht, Enterprise-SOAVorhaben in Ihrem Unternehmen umzusetzen. Mit diesem Buch liefern Ihnen die Autoren eine ausgezeichnete, fundierte und praktische Anleitung, wie Sie Composite Applications mit

14

00____1129.book Seite 15 Donnerstag, 6. September 2007 9:57 09

SAP NetWeaver CE erstellen können, und geben Ihnen einen tiefen Einblick in das Produkt selbst. Das Buch richtet sich in erster Linie an Entwickler und Prozessexperten, die Composite Applications entwickeln wollen. Ich hoffe, dass Sie beim Durcharbeiten – und damit beim Kennenlernen des SAP NetWeaver Composition Environments – viel Freude haben werden und wünsche Ihnen viel Spaß beim »Komponieren«!

Prasad Kompalli

Senior Vice President and Product Owner of SAP NetWeaver CE SAP NetWeaver Research & Development

15

00____1129.book Seite 43 Donnerstag, 6. September 2007 9:57 09

Die Entwicklung von Composite Applications erstreckt sich über verschiedene Schichten unter Verwendung unterschiedlichster Werkzeuge. Zugleich erfordert die serviceorientierte Architektur ein Umdenken bei der Softwareentwicklung. Der beste Ansatz, sich dieser neuen Welt zu nähern, ist die Implementierung eines Beispiels, bei dem wesentliche Aspekte der Composite-Application-Entwicklung angesprochen werden können.

2

Entwicklung einer Beispielanwendung

Nachdem wir in Kapitel 1, »Composite Applications«, über die wesentlichen Bestandteile einer Composite Application gesprochen haben, ist es nun an der Zeit, sich der Entwicklung zu nähern. Dazu haben wir einen übersichtlichen Projektverwaltungsprozess ausgewählt, der auf der einen Seite leicht und schnell zu implementieren ist, auf der anderen Seite aber die wesentlichen Bestandteile der Composite-Application-Implementierung beleuchtet. Wie Sie in Abbildung 2.1 sehen können, gibt es zwei Rollen: einen Programmverantwortlichen, der im Wesentlichen die in seinem Programm angesiedelten Projekte koordiniert und neue Projekte anlegt, und einen Projektleiter, der Projektmanagementaufgaben zu übernehmen hat. In unserem Szenario soll die Anlage eines neuen Projektes skizziert werden: 1. Dazu gibt der Programmverantwortliche im ersten Schritt die Basisdaten des neuen Projektes ein. Zudem selektiert er den Projektleiter aus einer Liste von Mitarbeitern. Diese Liste wird durch einen Webservice-Aufruf an ein Backend-System gefüllt. 2. Nach Abschluss der Projekteingabe hat der ausgewählte Projektleiter die Aufgabe, das neu angelegte Projekt zu bestätigen. Hierfür soll es in unserem kleinen Beispiel genügen, dass der Projektleiter kurz bestätigt, ob ihm zur Durchführung des Projektes alle not-

43

Beispielszenario: Projektverwaltung

00____1129.book Seite 44 Donnerstag, 6. September 2007 9:57 09

2

Entwicklung einer Beispielanwendung

wendigen Ressourcen zur Verfügung stehen. In einem Kommentarfeld kann er zudem eine kurze erläuternde Notiz hinterlegen. 3. Im letzten Schritt schließlich werden die gesammelten Daten in ein eigens entwickeltes Geschäftsobjekt über einen WebserviceAufruf gespeichert. Programmverantwortlicher

Projektleiter Visual-Composer-UI: • Felder: Comment, Resources Available, Accept

Eingabe Projektdaten

• Aktion: Bestätigung Projekt

Visual-Composer-UI: • Felder: Title, Description, Schedule • Aktion: Eingabe Projektdaten und Auswahl Projektleiter aus Liste (per Webservice gelesen)

Bestätige Projekt

Webservice mit CAF erzeugt: • Aktion: Legt Projektdaten in Datenbank ab

Erzeuge Projekt

Abbildung 2.1 Beispielszenario Projektverwaltung Am Entwicklungsprozess beteiligte Technologien

Dieses Beispiel eignet sich als Einstieg in die Composite-ApplicationEntwicklung, da es das Zusammenspiel der Technologien und damit der beteiligten Werkzeuge sehr gut zeigt: 왘

Composite Application Framework für die Geschäftsobjektmodellierung mit Persistenz und die Bereitstellung der CREATE-Methode als Webservice



SAP NetWeaver Visual Composer zur Oberflächenmodellierung, wobei im User Interface für den Programmverantwortlichen ein Webservice konsumiert wird, während beim Schritt des Projektleiters die Daten komplett aus dem GP-Context versorgt werden



Guided Procedures zur Modellierung des Prozessflusses

In dieser Reihenfolge wollen wir die kleine Beispiel-CompositeApplication nun implementieren. Die Entwicklung des Beispiels unterteilt sich in drei Schritte: Zunächst werden wir mit dem Composite Application Framework unser Geschäftsobjekt Projekt modellieren. Im Anschluss daran hilft uns der Visual Composer bei der

44

00____1129.book Seite 45 Donnerstag, 6. September 2007 9:57 09

Modellierung von Geschäftsobjekten mit dem Composite Application Framework

Erstellung der beiden Benutzeroberflächen für den Programmverantwortlichen und den Projektleiter. Den Abschluss bildet schließlich die Geschäftsprozessmodellierung auf Basis des Guided-ProceduresFrameworks, mit dem wir die drei Schritte zu einem kollaborativen Prozess zusammenfügen werden.

2.1

Modellierung von Geschäftsobjekten mit dem Composite Application Framework

Das Composite Application Framework (CAF) erlaubt die Modellierung von Geschäftsobjekten und die Implementierung von Geschäftslogik. Dabei bedient es sich bei der Umsetzung der Modellierungsartefakte in ausführbaren Code der aus der Java EE 5-Welt bekannten Session Beans für alle Service-Aufrufe sowie des Java Persistence API für die Persistenz der Geschäftsobjekte. Der Entwickler bemerkt die Einzelheiten der Implementierung allerdings nicht. Er modelliert lediglich seine Anwendungskomponenten, die als Metadatendateien abgespeichert werden. Aus diesen Metadaten generiert das Composite Application Framework anschließend die Java-Source-Files, die daraufhin in einem Build-Prozess übersetzt und zu deploybaren Dateien zusammengefasst werden. Wie dieser Entwicklungsprozess im Detail aussieht, wollen wir uns nun ansehen.

2.1.1

Anlegen einer Composite Application im SAP NetWeaver Developer Studio

Beginnen wir also mit dem neuen Geschäftsobjekt Projekt, das später die von den Prozessbeteiligten eingegebenen Daten abspeichern soll. Generell ist es bei der Entwicklung einer Composite Application zu empfehlen, sich über die relevanten Daten ihres Prozesses Gedanken zu machen und sich auf diese zu konzentrieren. Sie müssen daher überlegen, welche Attribute für Ihren Prozess eine Rolle spielen und dürfen sich nicht von der Vielzahl möglicher Attribute, wie sie beispielsweise in den Geschäftsobjekten Ihrer Backend-Systeme vorliegen, ablenken lassen. Denken Sie zum Beispiel an das Objekt Auftrag in einem SAP-System, dessen Attributsvielfalt sicherlich nicht in Gänze für eine Composite Application benötigt wird.

45

2.1

00____1129.book Seite 46 Donnerstag, 6. September 2007 9:57 09

2

Entwicklung einer Beispielanwendung

Konzentrieren Sie sich auf die Felder, die im Kontext Ihres Geschäftsprozesses einen Sinn ergeben. Für den Beispielprozess benötigen Sie Informationen über das Projekt selbst, das heißt, zum Beispiel den Titel und eine Kurzbeschreibung des Projektes, eine Aussage über dessen zeitliche Planung sowie den Namen des Projektleiters. Aufgrund dieser Überlegungen ergibt sich die in Tabelle 2.1 dargestellte Zusammensetzung des Projekt-Geschäftsobjektes: Attribute des Geschäftsobjektes Projekt

Bezeichnung

Datentyp

Inhalt

Title

STRING

Projektname

description

STRING

Kurzbeschreibung des Projektes

schedule

STRING

geschätzter Zeitrahmen des Projektes

firstname

STRING

Vorname des Projektleiters

lastname

STRING

Nachname des Projektleiters

comment

STRING

Kommentar des Projektleiters

resourcesAvailable

BOOLEAN

Sämtliche Ressourcen zur Durchführung des Projektes sind verfügbar.

accepted

BOOLEAN

Das Projekt wird, wie vorgeschlagen, angenommen.

Tabelle 2.1 Attribute des Geschäftsobjektes Projekt

1. Starten Sie nun das SAP NetWeaver Developer Studio. Ein Shortcut befindet sich entweder direkt auf Ihrem Windows-Desktop, oder Sie starten es über Start  All Programs  SAP NetWeaver Composition Environment 7.1  SAP NetWeaver Developer Studio  SAP NetWeaver Developer Studio und öffnen über Window  Open Perspective  Other… die eigens für die Composite-Applica-

tion-Entwicklung erstellte Composite Application-Perspektive. 2. Zur Anlage eines neuen Projektes beginnen Sie, wie gewohnt, mit dem New Project Wizard, den Sie über den Menüpunkt File  New  Project… erreichen. Die einzelnen Dialoge des Wizards bearbeiten Sie nun wie folgt: Anlegen eines Projektes im CAF



46

Unterhalb des Development-Infrastructure-Knotens wählen Sie den Eintrag Development Component aus und bestätigen ihn mit Next (siehe Abbildung 2.2).

00____1129.book Seite 47 Donnerstag, 6. September 2007 9:57 09

Modellierung von Geschäftsobjekten mit dem Composite Application Framework

Abbildung 2.2 Entwicklung von Composite Applications als Komponenten 왘

Selektieren Sie Composite Application als Typ für die neue Entwicklungskomponente, und klicken Sie dann auf Next (siehe Abbildung 2.3).



Da Sie die Composite Application lokal entwickeln wollen, wählen Sie im nächsten Schritt den Knoten MyComponents unterhalb des Knotens Local Development aus. Klicken Sie auf Next.



Vergeben Sie einen Namen für Ihre Entwicklungskomponente. Für unser Beispiel belassen Sie das Herstellerfeld (Vendor) bei »demo.sap.com« und benennen die Komponente mit »xproject«. Beachten Sie, dass im Feld Name nur Kleinbuchstaben zugelassen sind. Geben Sie in dem Feld Caption eine kurze Beschreibung Ihrer Komponente ein (siehe Abbildung 2.4), und bestätigen Sie dann mit Next.

47

2.1

00____1129.book Seite 48 Donnerstag, 6. September 2007 9:57 09

2

Entwicklung einer Beispielanwendung

Abbildung 2.3 Composite Application als neue Komponente

Abbildung 2.4 Benennung der Entwicklungskomponente (Development Component)

48

00____1129.book Seite 49 Donnerstag, 6. September 2007 9:57 09

Modellierung von Geschäftsobjekten mit dem Composite Application Framework

3. Der nächste Dialogschritt listet Ihnen die Projekte auf, die für eine Composite Application erzeugt werden, es handelt sich dabei insgesamt um fünf Projekte (siehe Abbildung 2.5): 왘

Das Metadaten-Projekt beinhaltet begleitende Informationen über die von Ihnen modellierten Geschäftsobjekte und Services. Dazu gehören beispielsweise Informationen über die Länge eines Strings, den Sie einem Ihrer Felder als Datentyp zugewiesen haben, oder ob ein Feld ein Pflichtfeld ist.



Das Dictionary-Projekt enthält Detaildaten zum Erzeugen der Datenbanktabellen für Ihre Geschäftsobjekte.



Über das Permissions-Projekt werden Zugriffsrechte auf die Objekte und Dienste gesteuert.



Die beiden letzten Projekte (EJB- und EAR-Projekt) beinhalten die Standard Java EE 5-Komponenten.

2.1

Teilprojekte einer Anwendung im Composite Application Framework

Abbildung 2.5 Projekte einer Composite Application

4. Mit dem Finish-Button beenden Sie den Wizard. 5. Im Composite Application Explorer wird daraufhin das neue Projekt aufgelistet. Öffnen Sie den Knoten [Local Development] xproject. Zwei Unterknoten namens external und modeled erscheinen. Unter dem external-Knoten können Verbindungen zu externen Services importiert werden, das hat für das vorliegende Beispiel jedoch keine Relevanz, da Sie weder eine neue Geschäfts-

49

Composite Application Explorer

00____1129.book Seite 50 Donnerstag, 6. September 2007 9:57 09

2

Entwicklung einer Beispielanwendung

logik unter Verwendung externer Dienste noch Geschäftsobjekte mit Persistenz in Backend-Systemen implementieren wollen. Stattdessen ist die Modellierung eines neuen Geschäftsobjektes unser Ziel. Anlegen eines neuen Geschäftsobjektes

6. Deshalb selektieren Sie aus dem Kontextmenü des modeled-Knotens den Eintrag New Business Object (siehe Abbildung 2.6).

Abbildung 2.6 Anlegen eines neuen Geschäftsobjektes

7. Vergeben Sie in dem daraufhin aufgeblendeten Dialog den Namen »Project« für Ihr neues Objekt. Nach Bestätigung durch Finish erscheinen im Composite Application Explorer zwei neue Unterknoten namens Business Objects und Data Types (siehe Abbildung 2.7). Wie Sie sehen, hat das CAF nicht nur das Geschäftsobjekt selbst angelegt. Zugleich hat es sowohl eine Datenstruktur erzeugt, die später die Attribute des Geschäftsobjektes umfassen wird, als auch typische Lebenszyklusmethoden eines Objektes generiert (create, read, update, delete, find). Die Attributbezeichnungen sind selbsterklärend. Zur Laufzeit werden die Attribute vom Composite Application Framework automatisch verwaltet und der Primärschlüssel (Attribut key) von diesem vergeben.

Default-Felder und Methoden eines Geschäftsobjektes

8. Die eigentliche Modellierung des Objektes erfolgt nun in der rechten Bildschirmhälfte, in der sich ein mit Project betiteltes Fenster geöffnet hat (siehe Abbildung 2.8).

50

00____1129.book Seite 51 Donnerstag, 6. September 2007 9:57 09

Modellierung von Geschäftsobjekten mit dem Composite Application Framework

Abbildung 2.7 Geschäftsobjekt Project nach der Erstellung im Composite Application Explorer

Abbildung 2.8 Bearbeitung des Geschäftsobjektes Project im Developer Studio

51

2.1

00____1129.book Seite 52 Donnerstag, 6. September 2007 9:57 09

2

Entwicklung einer Beispielanwendung

Master-Projekt einer Composite Application

Ihnen wird sicherlich nicht das zweite mit *xproject betitelte Fenster entgangen sein. Dabei handelt es sich gewissermaßen um das Master-Projekt der Anwendung. Wie Sie einleitend bereits gesehen haben, besteht eine Composite Application aus fünf Unterprojekten. Damit Änderungen an den jeweiligen Unterprojekten nicht separat verfolgt und angezeigt werden müssen, sorgt das stets gegenwärtige Master-Projekt dafür, dass Sie über den Änderungsstand Ihrer Anwendung informiert sind. Befindet sich der Stern vor dem Anwendungsnamen (wie in Abbildung 2.8 zu sehen), so wurde mindestens an einem der Unterprojekte eine Veränderung vorgenommen. Das Master-Projekt hält sozusagen die gesamte Composite Application zusammen. Folglich werden durch die Speicherung des Master-Projektes auch die Änderungen aller Teilprojekte gesichert.

Geschäftsobjektmodellierung: allgemeine Objektinformationen

Das Geschäftsobjekt wird nun in mehreren Schritten bearbeitet. Dabei helfen Ihnen die einzelnen Reiter am unteren Rand des Bildschirms. Der General-Reiter fasst Verwaltungsinformationen des Objektes zusammen. Wichtig für die Entwicklung ist die Checkbox Generate Remote Interface. Da Sie das Geschäftsobjekt aus unserer Guided Procedure per Webservice-Aufruf erzeugen und damit letztendlich die create-Methode aufrufen wollen, muss diese auch entsprechend vorbereitet sein. Ein Schritt dazu ist eben die Aktivierung des Remote-Interface. Sie erinnern sich: Letztlich werden die Methoden als Session Beans zur Verfügung gestellt, die sowohl lokal als auch remote aufgerufen werden können; Sie benötigen jetzt die Remote-Variante, da Sie später die Methode zur Erzeugung einer Objektinstanz über Webservices zugänglich machen wollen. Aus diesem Grund aktivieren Sie die Checkbox, wie in Abbildung 2.8 gezeigt, da diese Box standardmäßig deaktiviert ist.

2.1.2

Modellierung der Attribute von Geschäftsobjekten

Sie fahren mit der Definition der Objektattribute fort und wechseln dazu auf den Structure-Reiter. Der Inhalt dieses Reiters ergibt sich aus den Attributen des Objektes. Wie Sie sehen, werden auch hier die bereits oben erwähnten administrativen Felder des Objektes zusammen mit dessen Primärschlüssel aufgelistet.

52

00____1129.book Seite 53 Donnerstag, 6. September 2007 9:57 09

Modellierung von Geschäftsobjekten mit dem Composite Application Framework

1. Sie ergänzen das Objekt nun um die betriebswirtschaftlichen Felder. Dazu klicken Sie auf Edit Main Structure. Ein weiteres, zweigeteiltes Fenster öffnet sich (siehe Abbildung 2.9). In der linken Bildschirmhälfte finden Sie Datentypen, die Ihnen für die Objektdefinition zur Verfügung stehen. In der rechten Hälfte ist die Struktur Ihres Objektes mit seinen Attributen aufgelistet.

2.1

Geschäftsobjektmodellierung: Attribute

Abbildung 2.9 Editieren der Struktur eines Geschäftsobjektes

2. Zur Anlage eines neuen Attributes verfahren Sie wie folgt: 왘

Expandieren Sie den primitive-Knoten. Unterhalb dieses Knotens finden Sie den Datentyp STRING. Selektieren Sie den Eintrag, und klicken Sie anschließend auf den Button mit dem zur rechten Seite zeigenden Pfeil ( ).



Überschreiben Sie den Namen des Attributes innerhalb der Tabelle (der Name befindet sich sofort im Editiermodus und kann daher direkt geändert werden). Vergeben Sie den Namen »title« für die Projektbezeichnung. Sollten Sie versehentlich einmal den Editiermodus verlassen haben, können Sie jederzeit durch Doppelklick wieder in diesen Modus wechseln und Bezeichnungen anpassen.



In der Spalte Cardinality können Sie auswählen, ob das Attribut ein Einzelfeld sein soll oder ob es sich um eine Liste von Einträgen handelt. Zudem können Sie bei Einzelfeldern festlegen, ob es sich um ein Mussfeld handelt, und bei Listen können Sie bestimmen, ob die Liste wenigstens ein Element enthalten soll. In unserem Fall handelt es sich bei title um ein Einzelfeld, das aber bei der Anlage des Objektes gefüllt werden muss. Ändern Sie deshalb die Kardinalität auf 1..1. Darüber hinaus werden Mussfelder als Parameter in der createMethode hinzugefügt.

53

Datentyp zuweisen

Kardinalität eines Attributes

00____1129.book Seite 54 Donnerstag, 6. September 2007 9:57 09

2

Entwicklung einer Beispielanwendung



Wiederholen Sie die vorherigen Schritte für die Felder description, schedule, firstname, lastname, comment (vom Typ STRING), resourcesAvailable und accepted (vom Typ BOOLEAN).

Ihr Geschäftsobjekt sollte nun das in Abbildung 2.10 gezeigte Aussehen haben.

Abbildung 2.10 Definition der Attribute des Geschäftsobjektes Project Vordefinierte Datentypen

3. Wenn Sie ein wenig in den vom Composite Application Framework ausgelieferten Datentypen browsen, werden Sie unter anderem unterschiedliche Textdatentypen finden. So befinden sich beispielsweise im services-Unterknoten die Datentypen LongText, ShortText und xLongText. Die Antwort auf die Frage, worin die Unterschiede dieser Typen liegen, finden Sie im Fenster Properties, das sich unmittelbar unter dem Editor für die Strukturdefinition befindet. Denn wie Sie Abbildung 2.11 entnehmen können, besitzt der Datentyp ShortText die Länge 30 (Attribut DefaultLength). Im Gegensatz dazu hat der Datentyp LongText die Länge 256. Auf diese Weise helfen Ihnen die Detailinformationen des Properties-Fensters bei der Auswahl des geeigneten Datentyps für Ihre Bedürfnisse. Im vorliegenden Beispiel haben wir aus Gründen der Einfachheit für alle Textfelder den Datentyp STRING ausgewählt. Für diesen Datentyp gilt eine Maximallänge von 30 Zeichen, die Sie jetzt selbst leicht aufgrund obiger Beschreibung ermitteln können. Für

54

00____1129.book Seite 55 Donnerstag, 6. September 2007 9:57 09

Modellierung von Geschäftsobjekten mit dem Composite Application Framework

ein Kommentarfeld ist das sicherlich etwas kurz bemessen, doch für unser kleines Szenario soll dies erstmal genügen.

Abbildung 2.11 Detailinformationen zum Datentyp ShortText

Sie können selbstverständlich auch im Nachhinein noch den Datentyp eines Feldes ändern. Dazu selektieren Sie in der rechten Bildschirmhälfte das Feld, dessen Datentyp Sie ändern wollen, und wählen in der linken Bildschirmhälfte den neuen Datentyp aus. Erst dadurch wird der Button zur Aktualisierung des Datentyps ( ) zwischen den beiden Fensterhälften aktiviert. Durch Klick auf den Button erreichen Sie die Typanpassung für Ihr selektiertes Feld (siehe Abbildung 2.12).

Abbildung 2.12 Anpassen eines Datentyps für ein Objektfeld

4. Damit können Sie die Objektdefinition nun abschließen. Beenden Sie den Struktureditor einfach, indem Sie den dazugehörigen Reiter schließen. 55

Ändern eines Datentyps

2.1

00____1129.book Seite 56 Donnerstag, 6. September 2007 9:57 09

2

Entwicklung einer Beispielanwendung

2.1.3 Geschäftsobjektmodellierung: Beziehungen zu anderen Objekten

Relationen zwischen Geschäftsobjekten

Obwohl für unser Szenario keine Beziehungen zu anderen Geschäftsobjekten modelliert werden sollen, lohnt sich doch ein Blick auf den Associations-Reiter des Project-Geschäftsobjektes. Das Fenster dieses Reiters ist nun wiederum zweigeteilt: links eine Liste bereits modellierter Geschäftsobjekte, rechts die Liste von Relationen des aktuellen Objektes zu anderen Geschäftsobjekten. Relationen lassen sich nun einfach durch die Selektion eines passenden Objektes aus der Liste der linken Hälfte und durch Drücken des Pfeil-Buttons ( ) modellieren. Haben Sie einen Knoten in der Assoziationstabelle erzeugt, können Sie neben dem Namen der Relation weitere Details wie Assoziationstyp (CROSS_BO oder PARENT_CHILD) und Kardinalität bestimmen (zum Beispiel ONE_TO_MANY oder NONE_TO_ONE). PARENT_CHILD bezeichnet einen Assoziationstyp, dessen zugehörige Kind-Knoten beim Löschen des Vater-Knotens ebenfalls entfernt werden (zum Beispiel bei der Relation Auftrag zu Position), während beim Typ CROSS_BO die Kinder beim Löschen erhalten bleiben (zum Beispiel bei der Relation Auftrag zu Kunde). Auf diese Weise können Sie beliebige Objekthierarchien modellieren, für deren Integrität das Composite Application Framework sorgt.

2.1.4 Geschäftsobjektmodellierung: Methoden

Lebenszyklusmethoden eines Geschäftsobjektes

Wenden wir uns nun dem Operations-Reiter zu: Hier werden Ihnen die automatisch generierten Lebenszyklusmethoden des Objektes aufgelistet. Neben den bekannten CRUD-Operationen (create, read, update, delete) finden Sie zudem zwei Suchmethoden: findAll und findByMultipleParameters. 1. Wenn Sie eine der Methoden selektieren, erscheinen unterhalb der Tabelle die dazugehörigen Parameter. Bei Selektion der createMethode erkennen Sie beispielsweise die bei der Definition des Objektes mit der Kardinalität 1..1 versehenen Parameter (siehe Abbildung 2.13).

Definition neuer Suchmethoden

2. Neben der Auflistung der Methoden haben Sie zudem die Möglichkeit, weitere Findermethoden zu definieren. Dazu klicken Sie auf den Add-Button rechts neben der Tabelle. Der in Abbildung 2.14 gezeigte Dialog erscheint.

56

00____1129.book Seite 57 Donnerstag, 6. September 2007 9:57 09

Modellierung von Geschäftsobjekten mit dem Composite Application Framework

Abbildung 2.13 Parameter der create-Methode

Abbildung 2.14 Definition einer neuen Suchoperation

57

2.1

00____1129.book Seite 58 Donnerstag, 6. September 2007 9:57 09

2

Entwicklung einer Beispielanwendung

3. Vergeben Sie einen passenden Namen für die Operation, und wählen Sie aus den Attributen Ihres Objektes die Felder aus, die als Parameter für die Suche dienen sollen. Im vorliegenden Beispiel wollen Sie nach dem Nachnamen des Projektleiters suchen. Also erhält die Methode den Namen findByLastname, und Sie wählen lastname als Übergabeparameter für diese Methode aus. 4. Bitte beachten Sie die zwei Spalten Select und Multiple. Durch Selektion der entsprechenden Checkbox bringen Sie zum Ausdruck, ob nur ein Suchbegriff (Select) oder mehrere Suchbegriffe (Multiple) an die Methode übergeben werden können. Bei Assoziationen haben Sie zudem die Möglichkeit, zur Methodendefinition auch auf die Attribute aller in Bezug stehender Objekte zurückzugreifen. Auf diese Weise sind beispielsweise Suchmethoden wie »finde alle Aufträge, deren Positionen das Produkt XYZ beinhalten« modellierbar. Voraussetzung hierfür ist eine Relation zwischen Auftrag und Position, wobei das Produkt ein Attribut der Position ist. 5. Klicken Sie zum Beenden des Dialogs auf Finish. Sie haben soeben eine neue Suchmethode definiert.

2.1.5 Geschäftsobjektmodellierung: Zugriffsrechte

Zugriffsrechte für Geschäftsobjekte

Wir setzen die Modellierung unseres Geschäftsobjektes mit dem Permissions-Reiter fort. Hier wird Ihnen die Definition von Zugriffsrechten auf Ihr Geschäftsobjekt ermöglicht (siehe Abbildung 2.15).

Abbildung 2.15 Definition von Zugriffsrechten

58

00____1129.book Seite 59 Donnerstag, 6. September 2007 9:57 09

Modellierung von Geschäftsobjekten mit dem Composite Application Framework

2.1

1. Sie müssen sich zunächst grundsätzlich für oder gegen eine Zugriffsüberwachung entscheiden. Durch Aktivierung der Checkbox Permission checks enabled wählen Sie eine Zugriffsüberwachung durch das CAF. Sie müssen für diesen Fall nach dem Deployment der Composite Application durch ein zusätzliches Tool, das Authorization Tool, die Zugriffsrechte für das Geschäftsobjekt definieren. Dies ist für diese kleine Übung jedoch nicht notwendig, daher entfernen Sie die Markierung aus der Checkbox (standardmäßig ist die Zugriffsüberwachung aktiviert). 2. Wie Sie Abbildung 2.15 zudem entnehmen können, sind Zugriffsrechte auch auf in Relation stehende Objekte übertragbar. Hätten Sie solche Relationen zum Project-Objekt definiert, würden diese in der Tabelle Propagation of permissions erscheinen, und Sie hätten durch Selektion entscheiden können, auf welche Objekte dieselbe Zugriffsregel anzuwenden gewesen wäre. 3. Eine weitere Besonderheit stellt die Checkbox Permission on instance level dar. Sie ermöglicht eine weitaus feinere Zugriffskontrolle, da Ihnen bei der Definition der Zugriffsregeln mit dem Authorization Tool nun auch die Inhalte einzelner Felder zur Verfügung stehen. Dies bietet die Möglichkeit der Modellierung von Zugriffsregeln der Form »Kundennummern von 0 bis 100.000 sind von Sally Summer und Kundennummern von 100.001 bis 200.000 sind von Walter Winter zu bearbeiten«.

2.1.6

Persistenz für Geschäftsobjekte

Weiter geht es mit dem Persistency-Reiter. Hier sind die Persistenzattribute unseres Geschäftsobjektes zusammengefasst (siehe Abbildung 2.16). Wie aus der Einleitung zu diesem Kapitel bereits bekannt ist, sind Geschäftsobjekte mit lokaler bzw. entfernter (remote) Persistenz zu unterscheiden. Auf diesem Reiter wird die Einstellung hierzu vorgenommen.

Geschäftsobjektmodellierung: Persistenz

1. Unter der Drop-down-Box Backend finden Sie die Einträge Local und Remote. Wie die Einträge bereits suggerieren, können Sie eine entsprechende Persistenzform für Ihr Objekt auswählen.

Lokale oder Remote-Persistenz festlegen

Für das Beispiel ist lediglich die lokale Persistenz interessant, daher selektieren Sie den Eintrag aus der Liste.

59

00____1129.book Seite 60 Donnerstag, 6. September 2007 9:57 09

2

Entwicklung einer Beispielanwendung

Abbildung 2.16 Persistenzattribute eines Geschäftsobjektes

2. Unterhalb der Drop-down-Box finden Sie eine Übersicht der Datenbanktabellen, die zur Speicherung des Geschäftsobjektes und seiner Relationen zu anderen Objekten benötigt werden, wobei die Datenbanktabelle für das Geschäftsobjekt selbst in jedem Fall angelegt wird, auch im Remote-Szenario. Dann werden allerdings nur die Verwaltungsfelder gefüllt, nicht jedoch die betriebswirtschaftlich relevanten Felder. Bei Relationen wird zudem für jede modellierte Relation eine Join-Tabelle generiert. Geschäftsobjektmodellierung: Datenquellen

3. Der Datasource-Reiter spielt nur für den Remote-Persistenz-Fall eine Rolle. Setzen Sie daher die Drop-down-Liste für das Backend im Persistency-Reiter vorübergehend auf Remote, um die Anzeige der Modellierungsmöglichkeiten auf dem Datasource-Reiter zu erhalten (siehe Abbildung 2.17).

60

00____1129.book Seite 61 Donnerstag, 6. September 2007 9:57 09

Modellierung von Geschäftsobjekten mit dem Composite Application Framework

2.1

Abbildung 2.17 Modellierung bei Remote-Persistenz

2.1.7

Modellierung der Remote-Persistenz

Die zentrale Frage ist nun: Was soll durch eine Remote-Persistenz erreicht werden? Die Daten unseres Geschäftsobjektes sollen in einem vorhandenen Backend-System abgelegt werden, es ist jedoch nicht bekannt, um welches Backend-System es sich handelt. Aus diesem Grund können Sie nicht einfach davon ausgehen, dass Sie die Attribute des Objektes eins zu eins in eine bestehende Tabelle des Backends mappen können. Durch diesen Ansatz würden Sie die gesamte Geschäftslogik des Backend-Systems, die mit dem Geschäftsobjekt verbunden ist, umgehen. Das kann demnach nicht die Lösung sein. Ein anderer Ansatz ist hingegen vielversprechender: In der Regel finden Sie in Backend-Systemen ebenfalls Geschäftsobjekte vor, die ähnliche Lebenszyklusmethoden wie Ihr neu modelliertes Objekt besitzen und darüber hinaus die Geschäftslogik abbilden. Nehmen Sie einfach SAP R/3 als Beispiel: Sie finden dort das Geschäftsobjekt Salesorder mit dem dazugehörigen BAPI (Business Application Programming Interface) BAPI_SALESORDER_CREATEFROMDATA. In dem neuen, bereits mit Services ausgestatteten SAP ERP 6.0 finden Sie den jeweiligen Service namens CreateSalesOrder. Was also liegt näher, als sich dieser Methoden zu bedienen?

61

Geschäftsobjektmodellierung: Remote-Persistenz

00____1129.book Seite 62 Donnerstag, 6. September 2007 9:57 09

2

Entwicklung einer Beispielanwendung

Daher finden Sie auf dem Datasource-Reiter eine Liste der generierten Lebenszyklusmethoden Ihres Geschäftsobjektes vor. Diese Methoden können nun gegen entsprechende Backend-Methoden gemappt werden. Das heißt, es findet kein Mapping zwischen den Feldern des Geschäftsobjektes und seinem Repräsentanten im Backend statt, sondern eine Zuordnung von passenden Methoden der Geschäftsobjekte und anschließendes Mapping der Methodenparameter. 1. Im Beispiel aus Abbildung 2.17 haben Sie die create-Methode selektiert. Durch Klicken auf Create mapping öffnet sich ein Dialog, der die Auswahl einer angemessenen Backend-Methode erlaubt. Diese muss allerdings zuvor als externer Service importiert worden sein. Da Sie dies nicht getan haben, bleibt die Liste zwangsläufig leer. 2. Nach der Auswahl einer adäquaten Backend-Methode hätten Sie anschließend die einzelnen Parameter der Methoden zuweisen können. Dazu sehen Sie in Abbildung 2.17 schon die Parameter der create-Methode Ihres Objektes unter Target operation aufgelistet. Durch Drag & Drop könnten Sie anschließend die Parameterzuordnung zwischen den Methoden vornehmen. 3. Nach diesem kleinen Ausflug in die Remote-Persistenz (in Abschnitt 3.3, »Remote-Persistenz von Business-Objekten« werden wir noch detailliert auf die Remote-Persistenz zu sprechen kommen) setzen wir die Drop-down-Liste Backend auf dem Persistency-Reiter wieder auf Local zurück. Geschäftsobjektmodellierung: Implementierung

Damit ist unsere Objektdefinition abgeschlossen. Sie können sich die erzeugten Klassen auf dem Implementation-Reiter ansehen. Durch Klicken auf den Link zur Implementierungsklasse des Objektes können Sie in den Code navigieren und diesen sogar ergänzen. Wie Sie in Abbildung 2.18 erkennen können, handelt es sich bei der Umsetzung des Modells in Java-Code um Stateless Session Beans.

Abbildung 2.18 Generierter Code für die Objekt-Implementierung

62

00____1129.book Seite 63 Donnerstag, 6. September 2007 9:57 09

Modellierung von Geschäftsobjekten mit dem Composite Application Framework

2.1.8

Bereitstellung von Methoden als Webservice

Vor der Generierung unserer Applikation soll die create-Methode noch als Webservice zur Verfügung gestellt werden, da sie während der Geschäftsprozessmodellierung als letzter Schritt über einen Webservice-Aufruf in unseren Prozess eingebunden werden soll. Als wichtige Voraussetzung ist das Objekt bereits auf dem General-Reiter mit einem Remote-Interface ausgestattet worden. 1. Zur Erzeugung von Webservices wählen Sie aus dem Kontextmenü des Project-Knotens im Composite Application Explorer den Eintrag Expose service as Web Service (siehe Abbildung 2.19). 2. Daraufhin öffnet sich ein Dialog, in dem Sie den Namen des Webservice vergeben und die Methoden auswählen, die über Webservice-Aufrufe erreichbar sein sollen. Für unser Beispiel geben Sie den Namen »ProjectWS« und wählen lediglich die create-Methode aus (siehe Abbildung 2.20). Bestätigen Sie Ihre Eingaben mit OK.

Abbildung 2.19 Generierung von Webservices für die Methoden des Geschäftsobjektes Project

3. Speichern Sie anschließend das Geschäftsobjekt durch das Öffnen des Kontextmenüs des Projektes xproject im Composite Application Explorer und die Auswahl von Save application.

63

Ausgewählte Methoden als Webservice bereitstellen

2.1

1129_02.fm Seite 64 Donnerstag, 6. September 2007 5:48 17

2

Entwicklung einer Beispielanwendung

Abbildung 2.20 Erzeugen von Webservices

4. Der Build-Vorgang selbst setzt sich nun aus drei Schritten zusammen: Generierung der Composite Application



Generierung der Composite Application

Aus der Modellierung ist eine XML-Beschreibung entstanden, die zunächst in Java-Code transformiert werden muss. Dazu wählen Sie aus dem Kontextmenü des Projektes den Eintrag Generate application (siehe Abbildung 2.21).

Abbildung 2.21 Generierung der Composite Application

64

1129_02.fm Seite 65 Donnerstag, 6. September 2007 5:49 17

Modellierung von Geschäftsobjekten mit dem Composite Application Framework



2.1

Kompilierung und Erstellung deploybarer Archive

Die erzeugten Java-Klassen und Metadaten werden übersetzt und zu Archiven zusammengefasst. Sie erreichen dies über die Auswahl von Build application aus demselben Kontextmenü. Der Build-Prozess wird durch eine entsprechende Fortschrittsanzeige begleitet (siehe Abbildung 2.22).

Build-Prozess einer Composite Application

Abbildung 2.22 Fortschrittsanzeige während des Build-Vorgangs

Abbildung 2.23 Bestätigung des erfolgreichen Deployments 왘

Deployment der Composite Application

Die Archive liegen nun zum Deployment bereit. Sie übertragen diese über den Menüpunkt Deploy application des xproject-

65

Deployment einer Composite Application

1129_02.fm Seite 66 Donnerstag, 6. September 2007 5:49 17

2

Entwicklung einer Beispielanwendung

Kontextmenüs zum Server. Sie werden gegebenenfalls nach Master-Kennung und Passwort gefragt, die Sie während der Installation vergeben haben. Geben Sie die passenden Daten in den Logon-Dialog ein. Bestätigen Sie die nach Beendigung des Deployments erscheinende Erfolgsmeldung durch einen Klick auf OK (siehe Abbildung 2.23). Sollte Ihr Server nicht erreichbar sein, gleichen Sie die Konfiguration von Server und Port im SAP NetWeaver Developer Studio mit den Einstellungen Ihres Servers ab. Sie finden dazu eine detaillierte Beschreibung in Anhang A, »Installation und Entwicklungslandschaft«. Test von Composite Applications

5. Die erzeugte Applikation kann nun direkt aus dem Developer Studio heraus getestet werden. Dazu wählen Sie aus dem Kontextmenü des Project-Knotens im Composite Application Explorer den Eintrag Test Service (siehe Abbildung 2.24).

Abbildung 2.24 Testen des neuen Geschäftsobjektes Service Browser

6. Der Service Browser, ein webbasiertes Tool zum Testen aller auf dem Server befindlichen Geschäftsobjekte und Services, die mit dem CAF modelliert wurden, öffnet sich (siehe Abbildung 2.25). Beim erstmaligen Aufruf werden Sie auch hier nach Ihrer MasterKennung samt Passwort gefragt. 7. Der Bildschirm teilt sich in einen Bereich mit einer Baumdarstellung der verfügbaren Dienste in der linken Hälfte (überschrieben

66

00____1129.book Seite 67 Donnerstag, 6. September 2007 9:57 09

Modellierung von Geschäftsobjekten mit dem Composite Application Framework

2.1

mit Available Services) und in einen Testbereich in der rechten Hälfte (überschrieben mit Data Component).

Abbildung 2.25 Service Browser zum Test von CAF-Services

8. Expandieren Sie den Baum der verfügbaren Dienste, wie in Abbildung 2.25 gezeigt. Sie erkennen Ihr neu modelliertes Objekt zusammen mit den Suchmethoden. Die CRUD-Methoden selbst sind nicht aufgeführt, da sie über die Buttons in der rechten Bildschirmhälfte aufgerufen werden. 9. Zur Anlage eines neuen Objektes klicken Sie daher nun auf den New-Button. In der dazugehörigen Tabelle wird die erste Zeile aktiviert. Sie können jetzt die von Ihnen modellierten Felder mit Inhalten füllen (wie in Abbildung 2.26 gezeigt) und durch einen Klick auf Save die Daten speichern.

Abbildung 2.26 Anlegen einer neuen Objektinstanz im Service Browser

10. Nach dem Speichern werden die vom CAF verwalteten Daten (key, createdBy, createdAt, modifiedAt, modifiedBy) automatisch belegt. Änderungen an existierenden Einträgen nehmen Sie einfach durch Selektion der gewünschten Zeile und Überschreiben der Zelleninhalte vor. Anschließend bestätigen Sie die neuen Daten mit Save.

67

Arbeiten mit dem Service Browser

00____1129.book Seite 68 Donnerstag, 6. September 2007 9:57 09

2

Entwicklung einer Beispielanwendung

Ähnlich verhält es sich mit dem Löschen von Objekten: Sie selektieren zunächst die zu löschende Zeile, klicken dann auf Delete und bestätigen anschließend die Löschung mit Save. Die Suche nach Einträgen über den Primärschlüssel (in der Tabelle entspricht dies der key-Spalte) führen Sie über den FindButton aus. In dem daraufhin erscheinenden Dialog können Sie mehrere Primärschlüssel eingeben. Die gesuchten Einträge werden nach Beendigung des Dialogs in der Tabelle angezeigt. 11. Bleibt zum Schluss der Test der verschiedenen Suchmethoden: Die findAll-Methode wird direkt nach ihrer Selektion ausgeführt, da sie keinerlei Übergabeparameter verlangt. Auf diese Weise lässt sich sehr schnell der komplette Inhalt einer Tabelle anzeigen. Bei allen weiteren Suchmethoden muss zunächst das Suchkriterium eingegeben werden, ehe durch Klicken auf Execute query die Suche ausgeführt wird. Der Service Browser liefert Ihnen damit eine handliche Testumgebung für Ihre Services und trägt auf diese Weise zu kurzen Turnaround-Zeiten bei der Entwicklung bei. Selbst komplexe Objekthierarchien sowie die von Ihnen programmierte Geschäftslogik können mit ihm getestet werden. Er ist damit Ihre erste Anlaufstelle, wenn es um die Überprüfung der Funktionalitäten Ihrer Composite Applications geht.

2.1.9

Testen von Webservices

Vor dem endgültigen Abschluss dieses Abschnittes über die Entwicklung mit dem Composite Application Framework werfen wir noch einen Blick auf den erzeugten Webservice. Sie bedienen sich hierzu des sogenannten Webservice-Navigators. Er wird automatisch mit dem Java EE Server als Webanwendung installiert und ist über die URL http://:/wsnavigator zu erreichen (in Anhang A, »Installation und Entwicklungslandschaft«, finden Sie Details zur Ermittlung von und nach der Installation des Composition Environments). Webservice-Navigator zum Testen von Webservices

1. Rufen Sie jetzt den Webservice-Navigator unter der genannten URL auf. In der Liste erscheint der neu erzeugte Webservice für das Project-Geschäftsobjekt (siehe Abbildung 2.27).

68

00____1129.book Seite 69 Donnerstag, 6. September 2007 9:57 09

Modellierung von Geschäftsobjekten mit dem Composite Application Framework

Abbildung 2.27 Test des Webservice im Webservice-Navigator

2. Klicken Sie direkt auf den Link des Project-Webservice, daraufhin können Sie in der Auswahlmaske Select Operation den create-Service auswählen (siehe Abbildung 2.28). Lassen Sie sich nicht von den Servernamen der WSDL-URL in der Abbildung irritieren. Bei der Anzeige der Webservices wird als WSDL-Adresse automatisch der Name der Maschine, auf der der Service läuft, als Server eingesetzt. Daher wird sich der Name in der Abbildung zwangsläufig von Ihrer eigenen WSDL-Adresse unterscheiden.

Abbildung 2.28 Auswahl der Operation

3. Durch Versorgen der Eingabeparameter des Service und einen Klick auf Execute können Sie den Webservice schließlich zur Ausführung bringen. Die Rückgabe bestätigt Ihnen die erfolgreiche Ausführung Ihrer create-Methode (siehe Abbildung 2.29).

69

2.1

00____1129.book Seite 70 Donnerstag, 6. September 2007 9:57 09

2

Entwicklung einer Beispielanwendung

Abbildung 2.29 Erfolgreicher Aufruf des CAF-Webservice

2.2 SAP NetWeaver Visual Composer als Modellierungstool für Benutzeroberflächen

Modellierung von Benutzeroberflächen mit dem SAP NetWeaver Visual Composer

Nachdem wir in Abschnitt 2.1, »Modellierung von Geschäftsobjekten mit dem Composite Application Framework«, unser Geschäftsobjekt implementiert und getestet haben, können wir jetzt mit den interaktiven Schritten fortfahren. Dazu werden wir zwei User Interfaces mithilfe des SAP NetWeaver Visual Composers erstellen. Details zum SAP NetWeaver Visual Composer

Vor der konkreten Implementierung der Oberflächen noch ein kleiner Hinweis am Rande: Im Rahmen dieses Buches ist es nicht möglich, den Visual Composer in all seinen Facetten zu beschreiben. Wir werden uns daher auf die Funktionalitäten konzentrieren, die Sie zur Implementierung dieses Beispiels benötigen. Weitere Details zum Visual Composer entnehmen Sie bitte der OnlineHilfe, die Sie direkt aus dem Visual Composer über das Help-Menü aufrufen können, oder dem Buch SAP NetWeaver Visual Composer von Carsten Bönnen und Mario Herger, das ebenfalls bei SAP PRESS erschienen ist.

70

00____1129.book Seite 381 Donnerstag, 6. September 2007 9:57 09

Index A

B

ABAP-Business-Workflow 310 ABAP-Programmierung 163, 168 Access Control List 150 Action 254, 258 Add 187 Add Generic View 280 Add Selected to ACL 151 Add Template 295 Add to Input 189 Ad-hoc-Item 259 Administrative Tools 149, 182 Administrator 274 Adobe 40 Adobe Document Services 359 Konfiguration 312 Adobe LifeCycle Designer 283, 295 Adobe-Technologie 282 ADSCallers 313 anwendungsspezifisches Callable Object 225 API 237 Application Service 185 Archiving and Deleting 310 Assign Default Roles 307 Assign Users to Process Role 228 Assoziation 137, 139 zwischen Geschäftsobjekten 332 Attribut 140 Attributerweiterung 169 Ausnahme 267 Ausnahmebehandlung 260, 266 bei Hintergrundschritten 329 bei interaktiven Schritten 329 Design 261 Ausnahmefall 265 Authentication 197 Authorization Assignment 150 Autorisierung 156

Backend-Service 263 Backend-System 157, 158 Background Execution 226 Background-Callable-Object 225 BAPI 157, 162 BAPI_PROJECTDEF_CREATE 160 BAPI_PROJECTDEF_GETDETAIL 160 BAPI_PROJECTDEF_GETLIST 161 BAPI_PROJECTDEF_UPDATE 161 BAPI_USER_GET_DETAIL 235, 260 Import 173 Z_BAPI_PROJECTDEF_GETDETAIL 163, 165 Z_-Baustein 165 Bean Managed Transaction → BMT Begin Archiving 311 Beispielanwendung 43 Benutzerdetaildaten 260, 265 Berechtigung 148, 306 Berechtigungsregel 147, 149, 154 Berechtigungsstufe 306 advanced 306 basic 306 expert 306 Berechtigungsverwaltung 150 Berechtigungsweitergabe 152 Beziehungsmodellierung 137 Beziehungstyp 136 Block 272 Blocktyp 273 BMT 188 Browse Process Template 299 BSP 226, 227 Build application 143 Build-Vorgang 255 Built-In-Parameter 287 Built-In-Prozessrolle 274, 287 Business Application Programming Interface → BAPI Business Logic 228 Business Server Pages → BSP

381

00____1129.book Seite 382 Donnerstag, 6. September 2007 9:57 09

Index

Business Workflow 375 Business-Logik 185 Business-Objekt-Instanz 138, 170 Button Check 290

C Callable Object 224 als Referenz 263 Anwendungsspezifisches 225 einfügen 266 Eingebautes 225 Form 262 Konfiguration 225 testen 292 Check User 228 Choose a User 228 CMT 188 CO for Execution 258 colCount 249 complete-Methode 242, 247 Component Context 252 Component Controller 242 Composite Application Anatomie 28 Architektur 28 Build-Prozess 65 Definition 26 Deployment 65 Eigenschaften 26 Eigenständigkeit 28 Entwicklung 43 Generierung 64 Lebenszyklus 27 Master-Projekt in Eclipse 52 modellgetriebene Entwicklung 27 Perspektive 46 Schicht 28 servicebasierte 26 Spezifikation 319 systemübergreifende 27 Test 66, 126 Composite Application Explorer 49 Composite Application Framework 39 CAFServiceException 195 Konfiguration 149 Runtime-Konfiguration 182 Teilprojekt 49 Composite Form 227, 230

382

Configuration Management 180, 232 Configuration Template 313 Container Managed Transaction → CMT Content Package 227 Content Type 286 Context 241 Context-Handling-Funktion 286 Continue 267 CO-Typ Assign User to Role 231 BI Application 230 Data Input Form 231 Decision 231 External Service 232 KM Resource 230 SAP Transaction 230 Selbstdefinierter 229 Send Notification 231, 291 Visual Approval 231 vordefinierter 226 Web Pages 279 Web Service 230 Create Action 258 Create Callable Object 256 Create Interactive Form 293 Create Mapping 176 Create Related Row 145 Credential Object 313 CRM-System 157 CRUD-Methode 158 Currency Convertor 200 Current State Information 229 CustomKey 171

D Data Display 284 Data Display and Acknowledgement 227 Data Display Form 227, 265 Data Input Form 227, 262, 279 Datasource 176 Datenbankoperation 189 Datenbanktabelle 183 Datenhoheit 158 Datentyp ändern 55 vom CAF vordefinierter 54 Decision 228 Decision-Dialog 227

00____1129.book Seite 383 Donnerstag, 6. September 2007 9:57 09

Index

Default mapping 194 Default Runtime View 259 Default-Rolle 274, 308 DefaultTextView 249 Define Mapping 297 Dependency 238 Deploy application 143 Deploy-Vorgang 143 Destination 180, 232 Destination Type 180 Destination Wizard 233 Dictionary-Projekt 49 Disketten-Icon 245 Drag & Drop 178, 295 Drop-down-Liste mit Festwerten 303 Due Date 258

findBy 171 FlowLayout 249 Form 227 Formular Additional Field 294 Einsatzmöglichkeiten 282 Grunddaten 293 in Guided Procedures 282 Logical Criteria 295 Post-Processing Service 294 Pre-Processing Service 294 Validation Service 294 Vorlage 297 zur Spezifikation 319 fullcontrol 155 Funktionsbaustein 160, 162, 164 Funktionsgruppe 159, 164

E

G

Eclipse 38 Edit Main Structure 139 Editor 243 E-Mail 228, 229 Erinnerungs-E-Mail 258 Vorlage 285 Enable Use in Guided Procedures 298 Endpunkt 232 Entity Service 185 Entwicklungskomponente 238 Entwicklungslandschaft 349 Ereignisbehandler 254 Ergebniszustand 258 Error Handling 263, 264 Error Table Reference 264 Exception 267 execute-Methode 242, 246 executionContext 248 Expose service as Web Service 191 Exposed In 270 External Service 229 External Service Configuration 182 externer Schlüssel 160

Gallery 263 Generate application 143 Generate Remote Interface 187 Geschäftslogik 185 Geschäftsobjekt anlegen 50 Attribut 30, 53 Datentyp zuweisen 53 Default-Feld 50 Default-Methode 50 Kardinalität eines Attributes 53 lokales 29 Modellierung mit dem CAF 45 Projekt 45 remote 29 Geschäftsobjektmodellierung allgemeine Objektinformationen 52 Attribut 53 Beziehung zu anderen Objekten 56 Datenquelle 60 Findermethode definieren 56 Implementierung 62 Lebenszyklusmethode 56 lokale oder Remote-Persistenz festlegen 59 Methode 56, 63 Persistenz 59 Relation 56 Remote-Persistenz 61 Zugriffsrecht 58

F Field-Based Template 294 File Input 229 findAll 144, 146

383

00____1129.book Seite 384 Donnerstag, 6. September 2007 9:57 09

Index

Geschäftsobjektschicht 29 Geschäftsprozess kollaborativer 23 gesperrtes Objekt 306 getDescription-Methode 242 GP-CORE 239 GridLayout 249 GUID 144 Guided Procedures 41, 99, 223 Action 101 Administration 303 Aktion anlegen 106 API 236, 237, 276 Berechtigungen und Rollen 315 Bestimmung der Rolle zur Laufzeit 123 Block 101, 105 Blocktyp 105 Callable Object 101, 107 Configuration Tool 309 Context 33, 34 CO-Typ 107 CO-Typ Assign User to Process Role 125 CO-Typ Decision 215 CO-Typ WD4VC 108, 110 CO-Typ Webservice 113, 115 Design Time 99 Editor für Parameterkonsolidierung 116 Entwicklungsobjekt 100 Gallery 100 Hintergrundschritt 134 Inbox 283 Initiator 125 Laufzeitumgebung 129 Monitor 316 Monitoring-Tool 316 Parameterkonsolidierung 115, 117, 119 Portalrollen 315 Prozess anlegen 101 Prozess starten 127, 275 Prozesseditor 101 Prozessflussmodellierung 104 Result States 215, 216, 219, 221 Rollen für Design Time 316 Rollenzuordnung 121 Rollenzuweisung auf Prozessebene 123 Rollenzuweisung zur Laufzeit 125 Runtime Work Center 127 Standardrolle 124 Transport 311

384

vordefinierter Callable-Object-Typ 108 Web-Dynpro-Interface 239 Webservice in den Prozessfluss einbinden 113 Werkzeugleiste des Prozesseditors 102 Workitem 127

H Hintergrundschritt 225 Hochkomma 286 Homepage 149 HTML-Vorlage 285

I IGPWebDynproCO 240 Impersonation History 309 Impersonation Manager 308 Implemented 187 Implemented Interface 240 Implementierung 196 Import 158, 193 Import RFC 173 Info Callable Object 259, 278, 279 Initiate Process 228 Initiation Defined 274 Initiator 274 Insert Child 249 Instanz 274 Instanzierung 276 Integration Prozess- und User-Interface-Schicht 32 Interactive Form 230 File Approval 227 interaktives Formular 40 interner Schlüssel 160

J Java SE Development Kit 350 Java-Coding 185 Javadocs 246, 277 Java-package 246 importieren 248

00____1129.book Seite 385 Donnerstag, 6. September 2007 9:57 09

Index

K

N

Kardinalität 137, 170, 333 0..1 141 1..1 140 kollaborativer Geschäftsprozess 23 Komposition 137 von Geschäftsobjekten 332 Kontextmenü 138 Kontextparameter 240 Kopiervorgang 165 Kundennamensraum 165 Kundenstammdaten 157

New Rule 150 NONE_TO_MANY 139, 143 NONE_TO_ONE 139 Numeric Decision 228

L Laufzeit 223 Lesebaustein 160 Lifecycle-Methode 158 Linux 351 logische Destination 81 lokale Persistenz 157

M Maintain E-Mail Template 285, 306 Maintain Processes 304 Manage Impersonalized Forms 301 Manage Permissions 306 Mandant 158 Map Output Parameters 268 Mapping 169 Map-Vorgang 269 Masterguide 312 Master-Passwort 353, 356 MaxDB 350 Metadaten-Projekt 49 Methode complete 242, 247 execute 242, 246 getDescription 242 Methodenliste 172 Miscellaneous 228 Modellierungsumgebung 223 Monitor Archiving Jobs 311 MySQL 350

O Objekt freigeben 306 gesperrtes 306 Objektbeziehung 135, 145 Objektnavigator 160 Objektsuche 172 Objekttyp 136 öffentlicher Webservice 200 Offline-Approval 227 Offline-Modus 223 Offline-Prozess 230 Offline-Szenario 223 onAction 254 Operation 171 Outline 249 Overseer 274 Owner 274

P Parameterbaum 194 Parameterdefinition 189 Parameterkonsolidierung 34, 270, 273 Detail 36 Parameterliste 178 Parameter-Mapping 252, 269, 273 Parameterübergabe 269 PARENT_CHILD 139 Pass Through Form 227, 230 PDF-Formular 301 Permission 141, 147 Permission check 187 Permission checks enabled 142, 148 Permissions-Projekt 49 Persistency 176 PFX-Datei 313 Ping Destination 181, 234 Platform Availability Matrix 351 Plattform 351 Portal iView or Page 226, 230

385

00____1129.book Seite 386 Donnerstag, 6. September 2007 9:57 09

Index

Präfix 286 Principal 151 Process Activity 280 Process Control 227 Produktmanager 319 PROJECT_PROFILE 162 Projektbudget 185 Projektverwaltungsprozess 43 Propagate 153 Property 139 Provide Impersonalized Form 300 Prozess 274 Aktion 258 Engine 310 Experte 319 Fluss 34, 273 Information 278 Modellierungsschritt 33 Prozess-ID 277 Rolle 34 Tabelle 265 Version 277

R Read System Property 229 Read User Information 228 Reader Rights Credentials 313 redundante Datenhaltung 157 Referenz 239 Referenzapplikation 78 Hinweise zur Installation 80 Release-Wechsel 162 Remote Function Call → RFC Remote Location 193 Remote-Persistenz 158 Modellierung 61 Repeat 268 Replacement 286 Reported in Table 264 Required Controller 251 Resolve Manager of User 228 Restriktion 274 Return Process Role Member List 228 Return-Tabelle 260, 264 RFC 157, 162 Eigenschaft 161 Rolle 270 GP Administrator 315 GP Advanced User 307, 316

386

GP Basic User 307, 316 GP Business Expert 315 GP Expert User 307, 316 GP Runtime WC 315 GP SAP System User 316 GP Security Administrator 315 GP Superuser 316 GP User 315 Rollenzuweisung 274, 284 RootElement 249 Runtime Defined 274 Runtime View 259, 278 kundenspezifischer 282 Runtime-Inbox 259

S SAP Management Console 354 SAP NetWeaver 7.0 (2004s) 230 SAP NetWeaver Administrator 181, 197, 232, 316 Aufruf 82 Webservice-Konfiguration 82 SAP NetWeaver Composition Environment 37 Ausblick 343 Benutzeroberfläche 345 Detail 38 Download-Bereich 20 Hardwarevoraussetzung 351 Homepage 20 How-to Guide 20 Installation 349, 350, 354 Objekt- und Service-Schicht 345 Prozessschicht 344 Standard 38 Tutorial Center 20 Vorteil 41 SAP NetWeaver Developer Studio 38 Aufruf 46 SAP NetWeaver Development Infrastructure 372 SAP NetWeaver Visual Composer 39, 70, 236 Aktion zuweisen 88 Anwendung testen 96 Arbeitsbereich 77 Aufgabenfenster 73 Aufruf 72 Bildschirm-Layout editieren 88

00____1129.book Seite 387 Donnerstag, 6. September 2007 9:57 09

Index

Board-Toolbox 78 Button 88, 210 Connector 77 Container 77, 205 Datendefinition im Endpunkt 92 Datenfluss modellieren 89 Daten-Mapping 92 Deployment der Anwendung 94 Design-Board 78 Development Component 74 Dienst verwenden 78 End Point 90 Ereigniszuweisung bei WizardSchrittübergängen 213 Event 91 Form View 77 Formular erzeugen 87 Hauptmenü 73 Hauptwerkzeugleiste 73 Integration der VC-Oberfläche mit Guided Procedures 89 Layout-Board 78 Local Repository 75 Modell anlegen 74 Modellverwaltung 75 Navigation zwischen Wizard-Schritten modellieren 211 Oberflächen zu Wizard-Schritten zuordnen 207 Oberflächenmodellierung 86 Operator 77 Optionseinstellung 94 Result States 215, 217 Scope eines Ereignisses 91 Search-Engine 85 Shared Repository 75 Start Point 94 Startpunkt als Integrator zu Guided Procedures 97 Storyboard 72 Symbolleiste des Aufgabenfensters 73 Tabelle erzeugen 86 Table View 77 Toolbar einer Tabelle 210 UI-Element hinzufügen 86 View 77 Voraussetzung zum Betrieb 72 Vorgehensweise bei der Modellierung 71 Webservice konsumieren 84 Werkzeugleiste 73

Wizard-Komponente 206 Wizard-Oberfläche 206 Wizard-Schritt 207, 211 SAP Service Marketplace 283 SAP_ADSCALLER 313 SAP-Logon 174 Save application 141 Save Business Rules 151 SCA-Datei 311 Schedule Process Initiation 308 Schlüssel externer 160 interner 160 Schlüsselfeld 170 Schrittfolge 272 Scripting 287 Scripting-Sprache 286 Beispiel 290 Secure Network Configuration → SNC selbstdefinierter Callable-Object-Typ 229 Send Notification 229, 285 Service 226 external 173 lokaler 31 modeled 173 remote 31 Service Browser 66, 143, 153, 202 Service Enablement 29 Service Registry 182, 198 ServiceException 195 Service-Implementierung Austausch 31 Service-Konfiguration 158, 180 Service-Schicht 29 Session Bean 187 Set Category 280 Single Sign-On 233 SNC 181 Source operation 176 Spezifikation Allgemeine Information 319, 322, 324 Auflistung der beteiligten Geschäftsobjekte 331 Ausnahmebehandlung 320, 329 Benutzeroberfläche 321, 335 Beziehungen zwischen Geschäftsobjekten 332 Dienste (Services) 321, 338 Formular 319

387

17____SIX.fm Seite 388 Donnerstag, 6. September 2007 5:55 17

Index

Geschäftsobjekt 320, 330, 331 Informationen zu den Prozessschritten 327 Oberflächenbeschreibung 336 Prototyp der Benutzeroberfläche 335 Prozessinformation 320, 324 Prozessübersicht 324 Rolle 325 Übergabe an den Architekten 341 Visualisierung des Prozessflusses 325 von Composite Applications 319 Vorgehensweise 319 Stammdaten 157 Standard 38 Start a New Process 275 Start Process on Completion 299 Startup Plug 239 Strategie 267 STRING 140 Structure 139 Suchkriterium 304 Suchmaske 304 Suchparameter 172 Suchtext 175 Synchronisation 157 Systemnummer 158, 181, 233

T Taktfrequenz 351 Target Host 181 Target operation 176 Task Scheduler 310 Terminate Process 228 Testwerkzeug 182 Transaktion CJ20N 183 SE16 183 SE37 164 SE80 160, 164 Transaktionstyp 187, 188 MANDATORY 188 NEVER 188 NOTSUPPORTED 188 REQUIRED 188 REQUIRES_NEW 188 SUPPORTS 188 Transportauftrag 311

388

U UDDI 39 UME 288, 360 Umrechnungsfaktor 202 Uniform Resource Locator → URL Unlock Objects 306 Update-Struktur 168 URL 276, 296 User Interface 226 Schicht 32 UI-Element 256 UI-Schritt 225 User Management 228 User Management Engine → UME

V value-Eigenschaft 254 Vater-Kind-Beziehung 138 View 249 Visual Approval 228

W Währungskonvertierung 185 WD4VC Application 226, 231 Web Dynpro 40 Entwicklungskomponente 238 Form 227, 230 User Interface 229 Web Dynpro ABAP 226, 229 Web Dynpro Component 229, 236 Web Dynpro Development Component 237 Web Dynpro Java 229, 236 Web Services Description Language → WSDL Web Services Inspection Language → WSIL Webservice 63, 185, 277 Navigator 68, 81, 192 Testen 68 Wiederverwendbarkeit 274 Wohldefiniertheit 162 Workflow-Engine 310 Workitem 259 Wrapper-Baustein 159, 162

00____1129.book Seite 389 Donnerstag, 6. September 2007 9:57 09

Index

WSDL 197, 277 WSDL-URL 193 WSIL 83

Z Zugriffsrecht 147 Zuweisung 177, 198

X XML-Format 296

389