Entwicklung von J2EE-Anwendungen
In der Regel bestehen J2EE-Anwendungen aus drei Schichten: der Präsentationsschicht aus JSPs und/oder Servlets zur Erzeugung der auf dem Client angezeigten HTML-Seiten, der Business-Logik mit der als Enterprise Beans implementierten Anwendungslogik sowie der Persistenzschicht, die den Datenzugriff über die Java Database Connectivity (JDBC) ermöglicht. Das im SAP NetWeaver Developer Studio zur Verfügung stehende Paket an J2EE-Werkzeugen unterstützt Sie bei der Generierung von Standardcode wie Home- und Remote-Interfaces von Enterprise Beans, Gerüsten von Servlet-Klassen usw. Sie können sich daher voll auf die Anwendungslogik konzentrieren.
Dieser Prozess ist Bestandteil des folgenden IT-Szenarios:
IT-Szenario |
Szenariovariante |
J2EE-Standards für das Portieren und Anpassen von Anwendungen |
Sie haben ein UML-Modell Ihrer Anwendung erstellt und die entsprechenden Projekte gemäß des SAP-Komponentenmodellkonzepts im SAP NetWeaver Developer Studio angelegt.
Der folgende IT-Prozess läuft in der Verwendungsart DI ab:
...
1. Implementierung der EJBs und der Persistenz
Die Enterprise Beans bilden die Schicht, in der die Business-Logik der Anwendung realisiert wird. Für Anwendungen, die sich an der MVC-Architektur orientieren, stellen die Beans die Modellkomponenten dar.
Im SAP NetWeaver Developer Studio implementieren Sie Enterprise Beans in EJB-Module-Projekten in der Perspektive J2EE. Die von dieser Projektart zur Verfügung gestellten Werkzeuge unterstützen Sie bei der Generierung von Standardcode sowie von Home- und Remote-Interfaces für alle vom J2EE-Standard definierten Enterprise-Bean-Typen (also Stateless-Session oder Stateful-Session Beans, Entity Beans sowie Message-Driven Beans). Sie können festlegen, ob die Home- und Remote-Interfaces mit Unterstützung für lokalen oder Remote-Zugriff bzw. für beide Zugriffsarten angelegt werden sollen, und sind damit in der Lage, die speziellen Gegebenheiten Ihres Anwendungsszenarios genau nachzubilden. Die Definition von Business-Methoden gestaltet sich mit den grafischen Werkzeugen einfach und weniger zeitaufwändig: Sie legen nur die Typen der Parameter und die Rückgabearten der Methode fest, und der Source-Code wird anschließend automatisch generiert.
Der J2EE-Standard definiert zwei Persistenz-Modelle: relationale Persistenz mit JDBC und objekt-relationale Persistenz mit von Containern verwalteten Enterprise Beans (EJB CMP). Die SAP NetWeaver-Plattform bietet eine portable Datenbankzugriffsschicht für J2EE-Anwendungen über das Open SQL for Java Framework. Somit können Anwendungen datenbankunabhängig geschrieben werden, egal ob eine direkte relationale Schnittstelle (Open SQL/JDC) oder eine objektbasierte Schnittstelle (EJB CMP) verwendet wird. Komplexe Persistenzmodelle werden durch Open SQL for Java vereinfacht.
Im Lieferumfang von SAP NetWeaver ist eine vorkonfigurierte System-DataSource enthalten, die Sie in Ihrer Anwendung zur Herstellung einer Datenbankverbindung nutzen können. Es hat sich bewährt, dabei einen eigenen DataSource-Alias zu verwenden, den Sie für Ihre Anwendung festlegen.
2. Einsatz von JMS und JCA für Connectivity und Web Services für Interoperabilität
Sie haben die Möglichkeit, Ihre J2EE-Anwendung zu erweitern und an externe Messaging- oder Legacy-Systeme anzubinden. Dazu verwenden Sie die Implementierung der JMS- und JCA-Technologien in SAP NetWeaver. Der AS Java verfügt über einen eigenen JMS-Provider. Diesen können Sie nutzen, um Komponenten Ihrer Anwendung mit Hilfe der Standard-Messaging-Technologie JMS extern anzubinden. Des weiteren können Sie Ihre Anwendung mit jedem beliebigen JMS-Messaging-System integrieren, indem Sie den JMS Connector Service verwenden. Dieser basiert auf einer JCA-kompatiblen Standardimplementierung des Resource Adapter.
Was die JCA-Connectivity betrifft, so können Sie standardkonforme Resource Adapter in der verfügbaren Connector-Container-Infrastruktur deployen und konfigurieren und schließlich im Code Ihrer Anwendung zum Zugriff auf externe Backend-Systeme verwenden.
Durch Unterstützung für Web Services ermöglicht es SAP NetWeaver Ihnen, Ihre Anwendungen weiter auszubauen. Das SAP NetWeaver Developer Studio umfasst eine Umgebung zum Publizieren, Auffinden und Aufrufen von Web Services. Es stehen Ihnen dort grafische Assistenten zur Verfügung, die den Inside-Out-Ansatz zur Entwicklung von Web Services unterstützen. Mit Hilfe Ihrer vorhandenen EJB wird ein Web-Service-Interface erzeugt, das für den Nutzer des Web Service sichtbar ist. Dieses Interface bietet eine Abstraktionsschicht und damit Unabhängigkeit von der spezifischen Implementierung.
3. Implementierung von JSPs und Servlets
Die Präsentationsschicht Ihrer J2EE-Anwendung besteht aus Servlets und JSP-Pages. Die Anwendung kann diese Komponenten gemäß des MVC-Design-Pattern (Model View Controller) nutzen, wobei JSP-Pages als View-Elemente verwendet werden und Servlets den Kontrollfluss verwalten.
Die eigentliche Implementierung erfolgt in einem Projekt der Art Web Module in der Perspektive J2EE des SAP NetWeaver Developer Studio. Die Erzeugung von Servlet-Klassen gestaltet sich sehr einfach, da Sie nur den Namen eingeben und dann das Paket auswählen müssen, in dem sich das Servlet befindet. Der Generator erzeugt dann den Standardcode als Signaturen der Methoden und importiert die erforderlichen J2EE-Pakete. Ähnliche Generierungswerkzeuge stehen auch für die anderen von der J2EE-Spezifikation definierten Web-Komponenten wie Filter oder Listener zur Verfügung. Ihre Aufgabe beschränkt sich auf das Schreiben von Code, der die Anwendungslogik enthält.
JSP-Pages werden in einem separaten Editor erstellt, der Sie beim Schreiben des Codes mit Hilfsfunktionen sowohl für Standard-JSP-Syntaxelemente als auch normale HTML-Tags unterstützt. Mit Hilfe der Vorschaufunktion des Editors können Sie sich das HTML-Layout der Seite zum Zeitpunkt der Implementierung anzeigen lassen.
4. Implementierung einer eigenen Authentifizierung
Sie können die Flexibilität Ihre J2EE-Anwendung im Hinblick auf die Authentifizierung steigern, indem Sie eigene JAAS-Login-Module verwenden. Diese Module können Sie im SAP NetWeaver Developer Studio entwickeln. Sie lassen sich zu einer Bibliothek zusammenfassen und auf dem AS Java deployen. Sie haben die Möglichkeit, diese Module in das Authentifizierungsschema Ihrer Anwendung einzubinden, indem Sie den Stack der Login-Module in den Deployment-Deskriptoren des entsprechenden Web-Module-Projekts konfigurieren.
5. Instrumentierung der J2EE-Anwendungen im Hinblick auf Supportability
Der AS Java bietet eine flexible Management-Infrastruktur, die auf dem Standard JMX (Java Management Extensions) basiert und zur Instrumentierung, Verwaltung und Überwachung von J2EE-Anwendungen und AS-Java-Komponenten eingesetzt wird. J2EE-Anwendungen können über JMX wichtige Parameter überwachen und somit Anwendungsdaten und Anwendungsperformance verfolgen.
Außerdem sind J2EE-Entwickler in der Lage, eine gemeinsame Protokollierungsinfrastruktur zu verwenden und somit die Supportability ihrer Anwendungen beim Schreiben von Protokoll- und von Trace-Anweisungen, zwei wichtigen Bereichen, zu verbessern. Mit Hilfe der Protokollanweisungen lassen sich Ereignisse dauerhaft aufzeichnen. Diese Aufzeichnung wird gespeichert und kann dann geprüft, ausgedruckt und analysiert werden. Die Trace-Funktionalität versetzt J2EE-Entwickler in die Lage, detaillierte Informationen über einen Vorgang in eine Ausgabedatei zu schreiben. Es wird eine detaillierte Abfolge von Anweisungen erstellt, die die Ereignisse eines Vorgangs beschreibt, sobald sie ausgeführt werden. Sie verwenden die SAP Logging API im Source-Code und konfigurieren anschließend Protokollierungsverhalten und –ausgabe mit log-configurator.xml im Verzeichnis META-INF Ihres Enterprise-Application-Projekts.
6. Test und Debugging
Im SAP NetWeaver Developer Studio stehen verschiedene Test-Frameworks zum Testen Ihrer J2EE-Anwendung zur Verfügung. In das Studio integriert ist JLin für statische Tests Ihres Codes. JLin umfasst eine vordefinierte Reihe von Tests, die sich direkt ausführen lassen, um Aspekte wie Einhaltung von Programmierkonventionen, Auswertung von Metriken und Statistiken, Prüfung von Architekturschablonen usw. zu untersuchen. Die Integration des allgemein anerkannten Open-Source-Test-Frameworks JUnit spart Zeit und Aufwand beim funktionalen Unit-Testen Ihres Codes. Sie können eigene Unit-Tests schreiben und in JUnit einbinden und sich somit schrittweise eine umfangreiche Testlandschaft aufbauen.
Das SAP NetWeaver Developer Studio unterstützt das Remote-Debugging von J2EE-Anwendungen, die auf einem Test-Server deployt sind. Das Debugging ist mit der Cluster-Management-Infrastruktur des AS Java integriert und ermöglicht Ihnen, mit einem einzelnen Mausklick direkt aus Ihrer Entwicklungsumgebung heraus einen Serverknoten im Debug-Modus auszuführen. Dann setzten Sie Breakpoints, starten den Debugger und analysieren das Anwendungsverhalten.
Sie haben die Bausteinkomponenten Ihrer J2EE-Anwendung entwickelt und die Anwendung lokal auf korrektes Funktionieren getestet.