Das SAP NetWeaver Developer Studio ist das integrierte Toolset für alle Java-Anwendungen auf SAP NetWeaver und dem SAP Web Application Server (SAP Web AS). Es lässt sich auf vielfältige Weise verwenden: J2EE SAP eignet sich für offene Standards und unterstützt J2EE 1.3. Über Wizards für kleine Serveranwendungen (so genannte Servlets) und Java Server Pages (JSP) können J2EE-konforme Anwendungen entwickelt werden. Außerden stehen hierfür verschiedene Enterprise JavaBeans (EJB) zur Verfügung. Alle J2EE-Elemente lassen sich in einem Diagramm darstellen, das auch dazu dient, die Beziehungen zwischen ihnen zu definieren.
Für einige in Geschäftsanwendungen üblichen Probleme bietet J2EE allerdings keine Lösung. Für sie stellt SAP Frameworks wie Web Dynpro zur Verfügung, die mit Hilfe von Modellen die Entwicklungszeit drastisch reduzieren. Die gesamte Oberfläche – vom Layout bis zur Benutzernavigation und dem Datenfluss – lässt sich mit grafischen Werkzeugen modellieren. Eine Ergänzung stellen Web-Services dar, die der Geschäftslogik entsprechen, in Web Dynpro abbilden und sich gut für die Integration mit externen Systemen verwenden lassen – unabhängig von der Benutzeroberfläche.
Bevor sich ein Benutzer aber zu sehr mit den Details von J2EE, Web Dynpro oder Web-Services beschäftigt, sollte er sich über die Gesamtarchitektur der Anwendung Gedanken machen. Besonders bei größeren Projekten hilft ihm hier die Unified Modeling Language (UML). Diese liegt auch bereits der Entwicklungsarbeit am SAP-Projekt Web Dynpro zugrunde. Beide Implementierungen, Java (freigegeben mit SAP NetWeaver 2004) und ABAP (freigegeben mit mySAP ERP 2005), leiten sich vom ursprünglichen UML-Modell ab.
UML

Im Vergleich zur herkömmlichen Methode bietet UML einige Vorteile: Der Ansatz liefert eine standardisierte Sprache für die Softwaremodellierung. Damit lassen sich Fehler beim Austausch von Informationen vermeiden. Wie viele Entwickler bereitwillig einräumen, treten solche Fehler besonders zu Beginn größerer Projekte häufig auf. Die Architektur eines Projekts lässt sich mit den Möglichkeiten von UML weitaus besser grafisch darstellen als in Textform. Beim so genannten Roundtrip Engineering dient UML als Einstieg: Die Kunden beginnen mit dem Modell, können aber auch automatisch Code generieren und jederzeit wieder zum Modell zurückkehren.
Modellgesteuerte Werkzeuge

Wie oben beschrieben, bietet das SAP NetWeaver Developer Studio zwar modellgesteuerte grafische Werkzeuge an, unterstützt UML jedoch nicht direkt. Die Lösung beruht auf einer offenen Java-Entwicklungsplattform, der so genannten Eclipse-Basis, und verfügt so über die nötige Flexibilität, um UML-Werkzeug zu integrieren. Die verschiedenen Toolsets von SAP (Web Dynpro ebenso wie SAP J2EE) bauen nämlich nicht direkt auf der Eclipse-Basis auf; sondern müssen erst mit Hilfe grafischer Werkzeuge aus Eclipse geholt werden.
Passend zur Architektur des Developer Studio liefert der SAP-Softwarepartner Borland unter dem Namen “SAP Together Edition for SAP NetWeaver Developer Studio” Hilfen für die UML-Modellierung, Dokumentation und Metrik. Die Sammlung enthält beispielsweise Templates für die Entwicklung, die Überprüfung des Quellcodes oder die laufende Dokumentation. Durch das Exportieren und Importieren von Modellen gewinnen die Benutzer Einblick in ihre Entwicklungsprojekte. Die Together Edition lässt sich nahtlos in das Developer Studio integrieren. Die Kunden können einfach zwischen der SAP-Sicht und der Modellsicht von Borland wechseln und beide zu einer neuen, selbst definierten Sicht zusammenführen.
UML-Standarddiagramme
Außerdem umfasst die Together Edition alle Standarddiagrammtypen zu UML, die eine modellgesteuerte Entwicklung bei Analyse, Design und Implementierung erleichtern, nämlich Diagramme zu Anwendungsfällen, Aktivitäten, Status, Klassen, Sequenzen, Kooperationen, Bereitstellung und Komponenten. Diese Diagramme werden als Einzeldateien gespeichert und über ein Versionsverwaltungssystem aktualisiert. Auch einzelne Designelemente lassen sich als Datei speichern und eventuell gezielt für einzelne Nutzergruppen sperren. Die besondere Stärke der Together Edition liegt bei ihren quellcodebasierten Diagrammen, den Klassen- und Sequenzdiagrammen.
Erstellung von UML-Klassen- und Sequenzdiagrammen
Für ein Klassendiagramm ermittelt die Together Edition alle Informationen direkt aus den Quellen, ohne die Metadaten in anderen (Diagramm-)Dateien speichern zu müssen. Dies entspricht dem “synchronen Roundtrip Engineering”: Änderungen in den Quellen erscheinen unverzüglich auch in den Diagrammen – und umgekehrt.

Legt ein Benutzer ein neues UML-Modellierungsprojekt an, kann er sofort die Diagrammansicht wählen und neue Elemente mit Hilfe einer Palette gestalten. Alle Änderungen des Benutzers am Diagramm spiegeln sich direkt im Codefenster wider: Das Modell bleibt synchron. Auch im Codefenster erscheinen geänderte Klassennamen auf der Stelle im Diagramm. Das ist vor allem beim Reverse-Engineering vorhandenen Codes von großem Nutzen. Der Benutzer lässt sich Quellen grafisch anzeigen und navigiert darin. Wenn der Benutzer ein grafisches Element im Klassendiagramm anklickt, wird die entsprechende Stelle im Quellcode hervorgehoben.

Für die Generierung von Code können Kunden auch Sequenzdiagramme verwenden. Diese sind zwar nicht völlig synchron, man kann mit ihnen jedoch “fast synchron” vorwärts und rückwärts arbeiten, nämlich Quellcode aus Sequenzdiagrammen generieren – und umgekehrt. Das Sequenzdiagramm erinnert an mehrere übereinander liegende Bahnen eines Schwimmbeckens, wobei jede Bahn für ein Objekt aus einer bestimmten Klasse steht. Wenn ein Endbenutzer eine Aktion ausgelöst hat, zeigt dieses Diagramm den Kontrollfluss an. Bei der modellgesteuerten Entwicklung wollen die Designer häufig das Verhalten für jeden einzelnen Anwendungsfall modellieren. Daher zeigt das Sequenzdiagramm den Akteur (also den Endbenutzer) und die auf verschiedene Bahnen verteilten Objekte an. Per Nachrichtenabruf übergibt der Akteur seine Daten an ein Objekt, das sie an das nächste weiterreicht, und so weiter.
Klassen- und Sequenzdiagramme ergänzen einander. Das spart den Entwicklern viel Zeit. Wenn sie wissen möchten, wie eine bestimmte Funktionalität aus den Quellen implementiert worden ist, wählen sie diese Funktionalität im Klassendiagramm aus und erzeugen dort direkt ein entsprechendes Sequenzdiagramm. So können sie sehen, wie sich die Funktionalität in der jeweiligen Anwendung verhalten hat.
Mit der Together Edition lassen sich die Vorteile von UML in solchen Kundenprojekten nutzen, die mit dem SAP NetWeaver Developer Studio entwickelt wurden. Darüber hinaus ist sie in die Eclipse-Umgebung integriert. So kann die Lernkurve für alle Benutzer, Entwickler und alle anderen Beteiligten, nach Möglichkeit flach gehalten werden.
Weitere Informationen zum Together-Plug-In finden Sie unter info.borland.com/techpubs/together/tsap62/viewordownloadgsg.html.
Quelle: SAP Insider
