Zusammenarbeit 10.06.2005, 00:00 Uhr

SAP meets Macromedia

Die Ankündigung einer engen Zusammenarbeit zwischen den beiden Softwarekonzernen SAP und Macromedia hat für Überraschung gesorgt. Denn der Präsentationsserver Macromedia Flex, der in die nächste Version des SAP NetWeaver Visual Composer integriert werden soll, ist in Entwicklerkreisen immer noch recht unbekannt. dotnetpro stellt ihn vor und zeigt, wie sich mit seiner Hilfe Rich-Internet-Applications und intuitiv bedienbare Frontends gestalten lassen.
Wer heute Neuigkeiten vom amerikanischen Softwarehersteller Macromedia erfahren will, erwartet meist ein aktuelles Statement über den angekündigten  Zusammenschluss mit Adobe oder die Zukunft des Flash-Formates im Hinblick auf Microsofts Longhorn-Grafiksubsystem Avalon. Selten hat man die Möglichkeit, sich mit Entwicklern über die Macromedia-Serverprodukte, wie etwa den Präsentationsserver Flex, auszutauschen. Denn die Serversparte des amerikanischen Softwareherstellers ist weitestgehend unbekannt.
Obwohl die Erweiterung bestehender J2EE-Applikationsserver durch den Präsentationslayer Flex schon seit mehr als einem Jahr auf dem Markt ist, hat sich Macromedias „Rich-Animation-Image“ in Entwicklerkreisen bislang kaum geändert. Immer noch werden die von Macromedia erhältlichen Lösungen pauschal in die Grafik- und Webabteilungen eingeordnet.
Umso überaschender erreichte die Teilnehmer der SAP-Kundenkonferenz SAPPHIRE ’05 in Kopenhagen im April 2005 die Ankündigung der zukünftigen Zusammenarbeit zwischen dem Walldorfer Softwareriesen und Macromedia sowie die Integration der Macromedia Flex-Technologie in das nächste Release des SAP NetWeaver Visual Composers.
Mit dieser Kooperation dürfte Macromedia mit seiner Serverplattform Flex nun endgültig klar gemacht haben, dass man neben den etablierten Grafik- und Webentwicklungstools auch in der ersten Liga der Serveranwendungen durchaus einen Platz verdient hat. Was aber genau ist eigentlich Flexund wie wird diese Technologie mit der von SAP NetWeaver zusammengeführt?

Mehrstufige Prozesse

Flex ist ein Präsentationsserver, der die Entwicklung von so genannten Rich Internet Applications im Enterprise-Server-Segment unterstützt. Benutzer erhalten bei diesen Webanwendungen ein unmittelbares Feed-back, gleitende Übergänge zwischen den unterschiedlichen Zuständen und ihrer Darstellung in Webapplikationen sowie einen reibungslosen, unterbrechungsfreien Arbeitsablauf. Dabei macht der Flex-Server vor allem zwei Dinge: Er generiert ein User Interface, das über den Flash Player gerendert wird und verbindet dieses mit der Enterprise-Logik und deren Daten.
Somit ist der Flex-Server in einem n-Schichten Modell – neben der reinen Clientschicht – in der Präsentationsschicht dem Frontend zuzuordnen. Während, wie gewohnt, die Business-, die Integrations- und die Ressourceschicht das Backend darstellen. Während grundsätzlich sehr viele Anwendungstypen von einem in Flex erstellten, „reichhaltigen“ Frontend profitieren können, wurde das Produkt in erster Linie für webfähige Applikationen mit ganz bestimmten Merkmalen entwickelt. Flex spielt seine Stärken am deutlichsten bei solchen Anwendungen aus, die mehrstufige Prozesse beinhalten bzw. die Validierung, die direkte Bearbeitung oder Datenvisualisierung auf Clientseite zur Laufzeit der Anwendung erfordern.
Beispiele für solche mehrstufigen Prozesse sind Online-Shop-Systeme, Online-Reservierung oder -Bestellsysteme aber auch Dashboard-Anwendungen, Produktkonfiguratoren, CRM-Systeme, inhaltsreiche Portale und vieles mehr. Der große Unterschied zu herkömmlichen Webanwendungen, die auf HTML-Basis erstellt sind: Da die Applikation einmal komplett an den Client übertragen wird (abgesehen vom Datendelta, das nachgeladen werden kann) und dort die massgeblichen Prozesse durchführt werden, fallen keine ständigen Serveranfragen durch den Aufruf weiterer Webseiten in der Folge mehr an.

Serverkommunikation

Was macht aber der Flex-Server nun im Detail? Wenn ein User über seinen Webbrowser eine Flex-Applikation anfragt, wird diese vom Flex-Server in das Macromedia-Fomat SWF (Small Web Format) kompiliert, an den User zurückgesendet und in dessen Flash Player-Umgebung ausgeführt. Die meisten Flex-Applikationen haben dabei eine Größe von nur 150-200k. Diese kompilierte Applikation kommuniziert nun mit dem Flex-Server und tauscht Daten mit dem Backend aus.
Flex-Anwendungen können dabei auf drei unterschiedlichen Wegen mit dem Server kommunizieren: SOAP, XML over HTTP und mit dem Action Message Format (AMF, einem Bestandteil von Flash Remoting). Werden Daten von der Applikation angefragt, leitet der Flex-Server diese Anfrage über den Application Server an das Backend bis zum Resource Tier weiter und führt das Ergebnis der Anfrage an den Client zurück.
Hierfür bietet der Flex-Server eine Reihe von Runtime Services, wie Web Service Proxy, JAVA Object Connectivity, Shared Sitzungen, Caching oder Security. Der Flex-Präsentationsserver wird auf vorhandenen Applikations Servern installiert (J2EE oder .NET) und besteht aus dem Flex-Anwendungsrahmen (Framework) incl. der Flex-Klassenbibliothek und der Flex-Laufzeitumgebung.

Das Flex Application Framework

Anwendungen unter Flex werden in einer Kombination aus MXML und ActionScript 2.0 geschrieben. Die beiden Sprachen decken unterschiedliche Einsatzgebiete ab. MXML ist eine Markup-Sprache, die den Aufbau und die Elemente einer Anwendungsoberfläche (UI) deklarativ (XML) bestimmt. Darüber hinaus können in MXML aber auch Datenmodelle (Model) und Datenverbindungen zwischen diesen und der Benutzeroberfläche bestimmt werden.
ActionScript 2.0 wird eingesetzt, um die clientseitige Applikationslogik zu beschreiben – wie z.B. Methoden, Event Handling oder das Setzen von Eigenschaften von MXML-Komponenten. AS2.0 ist eine streng typisierte, objektoriente Programmiersprache, die im Kern der JavaScript-Programmiersprache ähnelt und auf dem JavaScript Standard (ECMA Script-Profil 262 Edition 4) basiert.

Class Library

Die Flex-Klassenbibliothek enthält die so genannten „Flex-Komponenten" (Container und Steuerelemente, Datenverknüpfungen, Verhalten und andere Funktionen). Mit Hilfe dieser Komponenten ist es sehr einfach, effektive Benutzeroberflächen zu erstellen. Natürlich besteht auch die Möglichkeit vorhandene Komponenten um Eigenschaften und Methoden zu erweitern oder neue Komponenten zu erstellen.

Die Flex Runtime Services

Der Flex-Präsentationserver bietet in der Laufzeitumgebung verschiedene integrationsbezogene Dienste an. Dies sind z.B. ein serverseitiger WebService Proxy, Zugriff auf serverseitige Java-Objekte, verzögerte Instanzierung von Anwendungen oder Flash Player-Erkennungs und -Aktualisierungsfunktionen. Flex- Anwendungen werden sofort und ohne Unterbrechung für den Benutzer kompiliert und können für alle späteren Aufrufe im Cache (serveseitig) gespeichert werden.

Zusammenarbeit mit SAP

Abbildung 1: Die SAP NetWeaver-Plattform
Die im April 2005 angekündigte Zusammenarbeit zwischen SAP und Macromedia beinhaltet nun die Integration von Flex in das nächste Release des NetWeaver Visual Composers sowie insgesamt die Unterstützung der NetWeaver-Plattform durch Macromedia Flex. Diese beiden Punkte gehören zwar zusammen, haben aber für die Entwicklung von SAP-Anwendungen unterschiedliche Bedeutungen.
SAP NetWeaver ist die technologische Grundlage aller SAP-Lösungen – von mySAP Business Suite über Composite Applications, den SAP xApps, sowie SAP R/3 Enterprise – und integriert Informationen und Anwendungen aus den verschiedensten Quellen. Die NetWeaver-Plattform ist mit Microsoft .NET und IBM WebSphere kompatibel und unterstützt auch J2EE.
Sie besteht aus verschiedenen Komponenten und Tools und stellt damit eine Integrations- und Anwendungsplattform dar, die es über die organisatorischen und technischen Grenzen hinweg ermöglicht, Informationen und Geschäftsprozesse zusammenzuführen.
Ein Bestandteil von SAP NetWeaver ist der SAP Web Application Server. Diese Komponente ermöglicht es, Erweiterungen und Anwendungen für SAP mittels J2EE 1.3 zu erstellen (siehe Abb. 2).
Abbildung 2: Mit dem SAP Web Application Server können Erweiterungen und Anwendungen für SAP mittels J2EE 1.3 erstellt werden
Genau auf dieser Serverschicht setzt nun der Flex-Server von Macromedia auf und ermöglicht es, browserbasierte Zero Footprint-Applikationen zu erstellen. Dies sind Anwendungen, die nicht eigens auf dem Client installiert werden müssen bzw. Templates oder Cookies benötigen.
Da der Flex-Server ausschließlich die Präsentationsschicht abdeckt, bleibt das Backend einschließlich der Applikations- und Datenbankserver sowie der gesamten Businesslogik unberührt. Darüber hinaus können durch die textbasierten Standards MXML und Actionscript des Flex-Entwicklungsframeworks bestehende Entwicklungstools wie SAP NetWeaver Developer Studio für die Erstellung der Rich-Internet- Applikationen weiter genutzt werden.
Mit dem Abkommen der beiden Softwareunternehmen wurde beschlossen, dass der NetWeaver Web Application Server nun zu den unterstützten und für Flex supporteten Serverplattformen gehört, d. h. dass der komplette Leistungsumfang von Flex zur Verfügung steht, um die Reichhaltigkeit und Bedienbarkeit bestehender SAP-Anwendungen zu erweitern oder auch komplett neue SAP-Lösungen zu erstellen.

Nahtlose Integration

Die zweite auf der SAPPHIRE ’05  in Kopenhagen bekanntgegebene Neuigkeit betrifft vor allem die Business-User im SAP-Umfeld und weniger die Entwickler. Darin geht es um die Integration des Macromedia Flex-Servers in das nächste Release des SAP NetWeaver Visual Composers. Dieser ist ein Tool zur modellorientierten Entwicklung (Model Driven Architecture), mit der ohne Einsatz von Programmiersprachen auf der Basis von Flussdiagrammen so genannte „Composite Applications“ erstellt werden können.
Mit dem browserbasierten Werkzeug lassen sich Anwendungslogik und Geschäftsprozessabläufe rein grafisch in die bestehende SAP-Landschaft integrieren. Damit entwickelte SAP-Analyse-Applikationen („SAP Analytics“) können zum Beispiel nicht nur Daten in Echtzeit visualisieren, sondern auch in intuitiver und interaktiver Art und Weise detaillierte Vergleiche an- und Auswertungen erstellen. Sie nutzen das bestehende SAP-Backend und ermöglichen eine schnelle und leistungsstarke Anwendungserstellung unter Inanspruchnahme neuer Entwicklungsmodelle – so genannter  „Zero-Programming-Paradigmen“ bestehend aus Storyboard, Knowledgebase und NetWeaver-Kits.
Im Storyboard (Abb. 3) werden die Modell-Diagramme mit Hilfe einer simplen und intuitiv bedienbaren visuellen Darstellung gezeichnet und zusammengestellt.
Abbildung 3
Abbildung 3: Im Storyboard des SAP NetWeaver Visual Composers werden die Modell-Diagramme per Mausklick zusammengestellt
Diese Modelle werden nun in der Knowledgebase unter Verwendung einer maschinen-lesbaren proprietären Sprache namens GML gespeichert. Die NetWeaver-Kits sind schließlich eine Sammlung von vordefinierten Visual Composer Kits (Plugins), die ohne Programmierung eine automatische Code-Generierung für jede Ebene der NetWeaver-Plattform erlauben.
Ein solches Plugin wird es somit künftig auch für die Kompilierung von vorgegebenen Flex-Funktionen geben. Diese sind vor allem für die Erstellung von Dashboards, clientseitig sortierbaren Tabellen, Drag and Drop-Funktionalitäten und Echtzeitvisualisierungen von Daten und deren Veränderung durch Slider, Buttons und sonstigen Parameterbestimmungen hilfreich bzw. notwendig.
SAP hat in Kopenhagen als Ziel erklärt, die Verbreitung des SAP NetWeaver Composers unter den heutigen SAP-Kunden von derzeit 25 % auf 50 % zu erhöhen und somit auch die Anzahl der interaktiven browserbasierten Interfaces der SAP-Anwendungen mindestens zu verdoppeln.


Das könnte Sie auch interessieren