Java-Entwicklung im Großformat

Feature | 10. November 2003 von admin 0

Was ist "Web Dynpro"?

Was ist "Web Dynpro"?

Um diesen Anforderungen gerecht zu werden, hat SAP damit begonnen, spezielle Entwicklungswerkzeuge für Java zu liefern. Diese sind nicht nur konform zu J2EE. Es handelt sich zudem um ein ganzes Spektrum an Funktionen, das demjenigen entspricht, das ABAP-Entwickler von der ABAP Workbench gewohnt sind. Ab der Version 6.30 des SAP Web Application Server (SAP WAS) steht Java-Entwicklern das SAP NetWeaver Developer Studio zur Verfügung. Es bietet großen Entwicklungsteams die Möglichkeit, jederzeit und uneingeschränkt auf alle Baustellen eines Java-Projekts zuzugreifen. Die Werkzeuge des SAP NetWeaver Developer Studio basieren auf einem gemeinsamen Framework, was die Handhabung vereinfacht. Es unterstützt darüber hinaus, Standard-Entwicklungsaufgaben in J2EE mit der visionären SAP-Technologie “Web Dynpro” für Benutzer-Schnittstellen (User Interface, UI) zu kombinieren.

Lücken schließen

Der SAP WAS ist die Anwendungsplattform für eine integrierte und hochgradig skalierbare Umgebung für betriebswirtschaftliche Software. Ab dem Release 6.30 enthält der SAP WAS eine Entwicklungs- und Laufzeitumgebung für ABAP- und Java-Anwendungen, die auf dem J2EE-Standard basieren. Für das Design von Anwendungen und Schnittstellen hat sich die ABAP-Design-Time-Umgebung bestens etabliert; kein Wunder, schließlich wurde sie über das vergangene Jahrzehnt hinweg kontinuierlich verbessert. Sie bietet einen Repository-basierten Ansatz, der die Entwicklungsarbeit großer Teams unterstützt. Die ABAP Workbench ist der zentrale Ausgangspunkt für alle ABAP-Entwicklungsaktivitäten in einer verteilten Entwicklungslandschaft.
Im Vergleich dazu ist die Java-Entwicklung in aller Regel auf einen einzelnen Entwickler ausgerichtet, der an einem lokalen Frontend arbeitet. Der J2EE-Standard überlässt Fragen rund um die Integration einfach dem jeweiligen Anbieter eines Werkzeugs. Der J2EE-Standard konzentriert sich primär auf das Laufzeitverhalten von Unternehmensanwendungen, die in Java geschrieben wurden. Das Vorhandensein J2EE-konformer Entwicklungswerkzeuge wird vorausgesetzt. Als Folge davon findet sich nur selten eine Java-IDE, die den typischen Anforderungen und Aufgaben genügt, welche sich bei mittelgroßen und großen Projekten stellen:

  • Zugriff auf ein Repository: Die meisten Java-Design-Time-Werkzeuge sind dateibasiert. Diese Werkzeuge verfügen in der Regel nicht über die Funktionalität, an die sich Entwickler umfangreicher Projekte in großen Entwicklungsteams gewöhnt haben, etwa die Versionssteuerung und eine ausgereifte Impact-Analyse.
  • Unterstützung zentraler Datentypen: Die Notwendigkeit, Datentypen und Datenbankobjekte an einem zentralen Ort zu definieren, ist mit den heutigen J2EE-Werkzeugen nur selten abgedeckt. Die meisten Anbieter fügen einfach eine Datenbank und entsprechende Datenbank-Werkzeuge hinzu. Dadurch wird es jedoch sehr wahrscheinlich, dass Java-Anwendungen datenbankabhängig sind.
  • Erweiterte Funktionalität für die Benutzeroberfläche: J2EE-Konzepte für die Modellierung und das Design der Benutzeroberfläche – die Abstraktion – wie etwa JSP und Servlets sind browserabhängig, sofern bei UI-Projekten während der Erstellung der Programmierung nicht sehr viel Disziplin aufgebracht wird. Häufig fehlen zentrale Funktionen wie die Eingabewertprüfung oder Eingabehilfe.
  • Verteilte Entwicklung: Große Entwicklungen müssen getestet werden, bevor sie produktiv gehen. Die Bereitstellung in J2EE lässt viele Punkte offen, etwa hinsichtlich der Versionssteuerung, der Abhängigkeitsanalyse oder der Komponentenunterstützung. In diesen Fällen ist ein Change-Management-System erforderlich, um alle eingeführten Entwicklungskomponenten nachverfolgen zu können.

Aus diesen Gründen bietet der SAP Web Application Server 6.30 mit dem SAP NetWeaver Developer Studio eine stabile, integrierte Java-IDE. Das Studio ist Haupteinstiegspunkt für alle Entwicklungsaktivitäten und stellt den Entwicklern ein Fenster auf eine verteilte Design-Time- und Laufzeitlandschaft für J2EE-konforme Anwendungen zur Verfügung. Dabei verbindet sich die Flexibilität in der Verwendung des lokalen Dateisystems mit der Zuverlässigkeit und Skalierbarkeit, die eine zentrale Infrastruktur mit sich bringt.

Architektur des SAP NetWeaver Developer Studio

Als die Entscheidung fiel, SAP wolle eine eigene Entwicklungsumgebung liefern, stellte sich die Frage, ob die SAP-Werkzeuge in eine bestehende IDE eingebettet werden sollten. Die meisten IDEs von Drittanbietern auf dem Markt verfügten jedoch nicht über die von SAP gewünschte Offenheit und Erweiterbarkeit. Aus diesem Grund wurde entschieden, die Werkzeuge auf der Grundlage von Eclipse zu entwickeln, einer auf Java basierenden Open-Source-Plattform. Die Eclipse-Plattform ist speziell für die Entwicklung kundenindividueller IDEs ausgelegt und hat eine eigene J2SE-Umgebung (Java 2 Platform, Standard Edition) für Standalone-Java-Anwendungen.
In Eclipse wird jede Erweiterung als “Plug-In” bezeichnet. Jedes Plug-In ergänzt ein bestimmtes Werkzeug an vordefinierten Erweiterungspunkten um bestimmte Funktionalitäten. Auch ein Plug-In kann über solche Erweiterungspunkte verfügen, sprich, der Entwickler darf Plug-Ins auch einem Plug-In zuordnen. Alle Entwicklungswerkzeuge im SAP NetWeaver Developer Studio – einschließlich Web Dynpro, J2EE, Web-Services und Java Dictionary – sind Eclipse-Plug-Ins.
Aus Sicht der SAP liegen die einzigen Einschränkungen bei Eclipse in der Modellierung einer Anwendung, der Präsentation logischer Hierarchien oder im Diagramming der Anwendung. Diese Eigenschaften sind von besonderer Bedeutung, wenn es um Design und Technologie auf der Basis von Web Dynpro geht. Dort wird viel unterstützender Code automatisch generiert – Code, den der typische Java-Entwickler wahrscheinlich nicht sehen möchte!
Darum haben SAP und Borland gemeinsam ein Modellierungs-Framework auf der Basis von Eclipse entwickelt. Dieses Framework nimmt eine Abstraktion der physischen Quelldateien vor, um Entwicklern visuelle Modelle der Präsentationslogik eines Programms zur Verfügung zu stellen. Sowohl die Web-Dynpro-Modellierungswerkzeuge als auch die grafischen J2EE-Werkzeuge basieren auf derselben Softwareschicht. Alle Java-Entwicklungswerkzeuge der SAP beruhen auf diesem Modellierungs-Framework. Dadurch steht für alle Arten von Entwicklungsaktivitäten ein technisch ausgereiftes, konsistentes grafisches Framework zur Verfügung.

Drei wichtige Werkzeuge

Java Dictionary

Java Dictionary

Das Java Dictionary, das J2EE-Toolset und die Web-Dynpro-Werkzeuge sind die wichtigsten Bestandteile des SAP NetWeaver Developer Studio. Das Java Dictionary bietet Werkzeuge und Assistenten zur Definition der zentralen Datentypen, die in Java-Programmen verwendet werden sollen, die auf Web Dynpro laufen. Dazu zählen beispielsweise Aufzählungstypen für die Eingabehilfe. Es ist auch möglich, Datenbankobjekte wie Indizes und Tabellen anzulegen, diese zum Java Dictionary hinzuzufügen und später in die Datenbank einzubringen. Die Dictionary-Definitionen werden datenbankunabhängig gespeichert. Sie lassen sich daher allen Datenbankplattformen zur Verfügung stellen, die offiziell von SAP unterstützt werden.
SAP NetWeaver Developer Studio bietet Editoren und Assistenten für die Erstellung aller typischen Komponenten einer J2EE-konformen Anwendung – etwa JSP-Seiten und Servlets, Session-Beans oder Entity-Beans. Das J2EE-Toolset ermöglicht es, die Web-Komponenten einer J2EE-Anwendung mit JSP und Servlet-Editoren einfach zu erstellen, die so raffinierte Funktionen wie die syntaxbasierte farbliche Hervorhebung von Code bieten. Die J2EE-Tools sind in der Lage, JSP-Syntax gegen die entsprechende DTD zu prüfen, die über das Internet verfügbar ist; die Geschäftslogik wird über Assistenten für Enterprise Java-Beans implementiert. Unterstützt werden J2EE-1.3-konforme Session-Beans, Entity-Beans und Message-Driven-Beans.
Kern des Web-Dynpro-Ansatzes ist der Application Modeler, der die verschiedenen Komponenten der Web-UI und deren Beziehungen abbildet. Navigations-Controls erscheinen als Linien, die Web-Dynpro-Sichten miteinander verbinden. Diese Sichten wiederum enthalten Web-Dynpro-Controls – Eingabefelder, Drucktasten oder Tabellen. Die Web-Dynpro-Technologie ermöglicht es, Sichten auch bei Änderung von Layouts oder Datenquellen rasch zusammenzustellen. Aufgrund des komponentenbasierten Ansatzes ist mit Web-Dynpro-Anwendungen ein hoher Wiederverwendungsgrad gegeben.

BAPI-Browser und Proxy-Generator

BAPI-Browser

BAPI-Browser

Bei der Entwicklung der ersten Java-Anwendung soll wahrscheinlich eine Verbindung zu einer vorhandenen SAP-Datenbank hergestellt werden. Für den Aufruf von BAPIs aus einer Java-Anwendung stellt SAP den Java Connector (JCo) zur Verfügung. Der JCo ist jedoch nicht stark typisiert. Um Laufzeitfehler zu vermeiden, ist es wichtig, sich zu vergewissern, dass alle Datentypinformationen in den Parametern sämtlicher JCo-Aufrufe gültig sind.
Um diese Einschränkung zu überwinden, ermöglichen es der BAPI-Browser und der Proxy-Generator, BAPI-Listen mit Datentypinformationen zu durchsuchen, um die Generierung eines “typsicheren” Java-Proxys für die Verwendung in den Java-Programmen eines Unternehmens zu unterstützen. Der BAPI-Browser verwendet die SAP-Anmeldedateien des Entwicklers, um die direkte Verbindung zu vorhandenen SAP-Lösungen herzustellen.
SAP unterstützt einen datenbankunabhängigen Zugriff auf Tabellen. Dies geschieht über einen SQLJ-Precompiler, der eingebettete SQL-Befehle in einfachen Java-Code umsetzt. Beim späteren Debugging wird dem Entwickler der ursprüngliche SQL-Code angeboten, so dass er anstelle des generierten Codes die Anwendung debuggen kann.

Ressourcen für die Entwicklung im Team

Entwicklungskonfigurationen

Entwicklungskonfigurationen

Das SAP NetWeaver Developer Studio – mit lokalem Zugriff über Eclipse – ist auch eng in die SAP-Entwicklungsinfrastruktur integriert. Die Bestandteile sind:

  • ein Design-Time-Repository für die Versionierung von Java-Quelldateien,
  • ein Component-Build-Service, der Laufzeitobjekte wie etwa Java-Archive erzeugt und
  • ein Change-Management-Service zur Bereitstellung und Verteilung der Java-Archive in einer heterogenen Systemlandschaft.

Zusätzlich versetzt das Developer Studio die Entwickler in die Lage, auf einfache Weise Design-Time- und Softwarekomponenten zu durchsuchen, um den aktuellen Status der Entwicklungsaktivitäten anzuzeigen. Zunächst kann das Entwicklungsteam aus dem SAP NetWeaver Developer Studio den Inhalt des Design-Time-Repository (DTR) – des Repositoriums für Entwicklungsobjekte (Java-Klassen, XML-Quellen usw.) – aus einer DTR-Perspektive anzeigen. Aus dem Entwicklungskonfigurationsbild heraus lassen sich Konfigurationen durchsuchen, die sich aus Softwarekomponenten zusammensetzen, welche wiederum aus Enwicklungskomponenten bestehen. Entwicklungskomponenten werden zentral im DTR gespeichert, um Konsistenz und Wiederverwendbarkeit zu gewährleisten. Der Entwickler hat aber auch die Möglichkeit, sie lokal über Eclipse anzeigen.
Der SAP-Ansatz für eine integrierte Entwicklungsumgebung bietet dem Java-Entwickler eine Umgebung, die mit der des ABAP-Entwicklers vergleichbar ist. Alle Werkzeuge des SAP Developer Studio beruhen auf einem gemeinsamen Framework, das es erleichtert, sich mit der Funktionalität vertraut zu machen und die Web-Dynpro-Technologie der SAP mit Standard-J2EE-Entwicklungsprozessen zu verbinden.

Weitere Informationen zum SAP NetWeaver Developer Studio
http://www.sap.com/netweaver

Quelle: SAP Insider

Karl Kessler

Karl Kessler

Tags:

Leave a Reply