Mit Netweaver bauen wir unsere Anwendungen einfach selbst

26.06.2007
Von Michael Missbach
Modellieren statt programmieren, lautet das Motto der Stunde. Mit Hilfe des SAP Netweaver Composite Application Framework erblicken immer mehr "zusammengesetzte" Anwendungen das Licht der Softwarewelt.

Eine eigene Softwareentwicklung ist immer aufwändig. Deshalb bevorzugen Unternehmen den Einsatz von Standardsoftware. Allerdings kann man in aller Regel nicht vollständig auf Eigenentwicklungen verzichten. Schließlich müssen die Unternehmen betriebliche Besonderheiten berücksichtigen. Der Bogen derartiger "Eigengewächse" kann sich von der einfachen Konfiguration von Parametern, dem Customizing, bis hin zur Entwicklung kompletter Softwaremodule spannen.

Hier lesen Sie ...

  • Was Composite Applications sind

  • Welche Vorteile dieser Anwendungstyp bietet

  • Worauf bei der Entwicklung von Composite Applications besonders zu achten ist

Mit dem Netweaver Development Environment stellt SAP eine komplette Entwicklungsumgebung für Web Applications auf der Basis von Abap oder Java bereit. Darüber hinaus können Kunden mit Hilfe des Composite Application Framework (CAF) auch eigene, "zusammengesetzte" Anwendungen "orchestrieren". Die gängige Bezeichnung für solche aus "wiederverwendeten" Funktionen zusammengesetzten Anwendungen lautet "Composite Applications". SAP bietet seine eigenen Produkte dieser Kategorie unter der geschützten Marke SAP xApp.

Daneben gibt es mittlerweile auch verschiedene Composite Applications von Partnern. Alle haben jedoch eines gemein: Sie stellen eine neue Klasse von Anwendungen dar, die sich aus Funktionen und Services verschiedener Applikationen zusammensetzen. Die Funktionen können aus vorhandenen Standardanwendungen stammen wie auch aus individuell entwickelten Programmen.

Composite Applications drücken Kosten

Wenn im Rahmen einer Service-oriented Architecture (SOA) davon die Rede ist, die Kosten durch Services zu reduzieren, dann handelt es sich dabei im Grunde um die Wiederverwendbarkeit von Funktionen bereits vorhandener Anwendungen. Enterprise Services stellen in diesem Zusammenhang modulare, betriebswirtschaftliche Prozesse dar. Eine Composite Application setzt sich dabei aus verschiedenen Web- sowie Enterprise-Services zusammen und unterstützt als eigenständige Lösung einen definierten Geschäftsprozess. In aller Regel werden dabei so weit als möglich die Funktionen der vorhandenen SAP-Lösung aus der Business Suite genutzt. Je nach Anforderung werden diese durch zusätzliche, externe Web Services wie zum Beispiel eine Kreditkarten-Verification oder selbst entwickelte Software ergänzt.

Funktionalität auf Abruf

In der Enterprise Service Architecture (ESA) entkoppelt SAP Prozess und Funktion. Basis dafür bildet die Integrationsplattform Netweaver.
In der Enterprise Service Architecture (ESA) entkoppelt SAP Prozess und Funktion. Basis dafür bildet die Integrationsplattform Netweaver.
Foto: Hewlett-Packard

Der Vorteil von Web-Services und damit auch des Anwendungstyps Composite Application liegt in der Universalität der verwendeten Techniken. Anstelle proprietärer Kommunikationsprotokolle und Integrationstechniken werden die Internet-Basistechnologien (TCP/IP, HTML, XML) auch für die Anwendungsintegration genutzt. Web-Services lassen sich somit universell verwenden und sind unabhängig von Betriebssystem und Programmiersprache. Im Prinzip kann damit jede Anwendung als Web-Service betrachtet werden, vorausgesetzt, dass sowohl User als auch andere Anwendungen sie über eine Internet-Schnittstelle nutzen können, ohne sich dabei um die Plattform kümmern zu müssen.

Aus Sicht der Anwender von Unternehmenssoftware ist jedoch ein anderer Punkt von noch größerer Bedeutung: Eine Anwendung wird per Definition erst dann zum Web Service, wenn man nach ihrer Funktionalität suchen kann. Ein Enterprise Service ist entsprechend eine betriebswirtschaftliche Funktionalität, nach der sich in einem Verzeichnis suchen lässt. Denn der ungeheure Funktionsumfang moderner Softwarepakete hilft wenig, wenn der Nutzer gar nicht weiß, was sie alles können. Und wer liest schon das ganze Handbuch?

Gelbe Seiten für Web-Services

In diesem Zusammenhang spielt der Begriff Universal Description, Discovery and Integration (kurz: UDDI) eine wichtige Rolle – ursprünglich eine Industrieinitiative mit dem Ziel, eine Art "Yellow Pages" für Web-Services zu etablieren. Hier haben sich Firmen wie Microsoft, Hewlett-Packard, IBM, SAP und NTT mit dem Betrieb öffentlicher UDDI-Verzeichnisse engagiert. Zwischenzeitlich wurden aber diese so genannten UDDI Business Registries (UBR) wieder abgeschaltet – bis auf jenes von SAP. Damit konzentriert sich der UDDI-Einsatz vor allem auf die Registrierung der verfügbaren Web-Services innerhalb eines Unternehmens. SAP bemüht sich, alle Funktionsbausteine des eigenen Lösungsportfolios für das Enterprise Services Repository (ESR) zu beschreiben und dort zu hinterlegen.

Mit Hilfe des Composite Application Framework (CAF) sollen Anwender eigene, zusammengesetzte Anwendungen orchestrieren können.
Mit Hilfe des Composite Application Framework (CAF) sollen Anwender eigene, zusammengesetzte Anwendungen orchestrieren können.

Es werden viele Gründe ins Feld geführt, warum Unternehmen einen Vorteil durch den Einsatz von Composite Application haben. Die Anbieter nennen meist Argumente wie Kosteneinsparungen und schnellere Anpassung der Anwendungen an die sich immer schneller wandelnden betrieblichen Anforderungen. Darüber hinaus kann dieser Anwendungstyp aber auch von hohem Nutzen sein, um sich gegenüber dem Wettbewerb zu differenzieren.

Wenn zum Beispiel ein Expertenteam einer Fachabteilung einen Gesamtgeschäftsprozess definiert, der in der Branche einzigartig ist und damit einen signifikanten Wettbewerbsvorteil bietet, ist es selbstverständlich erforderlich, diesen Geschäftsprozess auch mit der Software zu unterstützen beziehungsweise abzubilden. Hier ermöglicht es das Konzept der Composite Applications, die externe Entwicklung eines kompletten Softwaresystems mit einem Aufwand von vielen Mannjahren zu vermeiden. Außerdem gewährleistet die Methode, dass das eigene Prozess-Know-how im Unternehmen bleibt.

Software von der Stange oder Maßanpassung?

Für die Anwender bleibt die Frage: Wo lassen sich in der Prozesskette vorgefertigte Prozessbausteine aus dem SAP Standard verwenden, und wo gibt es Sinn, ganz gezielt eigene Funktionen selbst zu entwickeln, mit denen man sich von Wettbewerbern unterscheiden kann, die ja ebenfalls betriebswirtschaftliche Standardprozesse verwenden? Dabei ist es mit dem CAF möglich, die in Abap programmierten Funktionsbausteine der verschiedenen SAP-Lösungen über Remote Function Calls (RFCs) und Bussiness Application Programming Interfaces (BAPIs) wie Web-Services zu nutzen. Da die Metadaten der RFCs in das Composite Application Framework importiert werden, stehen dort die notwendigen Input- und Output-Parameter zur Verfügung und lassen sich direkt für die Web-Services-Entwicklung einsetzen – selbst wenn sie nicht der reinen WSDL- (Web Services Description Language) - und Soap-Lehre (Service Oriented Architecture Protocol) Genüge leisten.

Damit wird zudem deutlich, dass der Schlüssel zur erfolgreichen Nutzung einer SOA nicht allein in der Middleware-Technik liegt, sondern im Content: den betriebswirtschaftlichen Funktionen. Dies wird gerne von den Anbietern unterschlagen, die an dieser Stelle nicht viel zu bieten haben.

Interoperabilität ist Trumpf

SAP hat sich darüber hinaus auch zur Interoperabilität mit anderen Development-Plattformen verpflichtet. Microsofts .NET- und IBMs Websphere-Lösungen können mit dem CAF interagieren beziehungsweise direkt SAP Enterprise Services ansprechen oder von SAP-Systemen aus angesprochen werden. Zwar ist es nach dem SOA-Konzept nicht erforderlich, ausschließlich mit SAP-Lösungen zu arbeiten. Setzen Anwender SAP nicht ein, verzichten sie damit auch auf den entsprechenden Business-Content. Zudem zieht eine "Komposition" etwa von Siebel-, Peoplesoft- und SAP-basierenden Web-Services eine schwer beherrschbare Komplexität nach sich. Man denke nur an mögliche unterschiedliche Release-Zyklen. Aus technischer Sicht bedeutet die Verwendung von Web-Services stets auch Internet sowie Java – und damit Unicode; was wegen des hohen Hauptspeicherbedarfs im Endeffekt ein 64-Bit-Computing erfordert.

Für die Entwicklung einer Composite Application mit dem CAF gibt es grundsätzlich zwei Möglichkeiten: Entweder es wird ein Prozessmodellierungs-Tool verwendet wie etwa Aris von IDS Scheer – was allerdings Programmierkenntnisse voraussetzt, oder das Web-basierende Wysiwyg-Designwerkzeug Visual Composer (VC) von SAP. Damit lassen sich Composites per Drag and Drop orchestrieren, ohne dafür eine Zeile Code schreiben zu müssen. Dies erledigt der VC. SAP hat zugesagt, dass der VC künftig auch die Prozessmodellierung unterstützt, damit den Business-Process-Experten die technischen Einzelheiten erspart bleiben.

Allerdings enthebt dieser modellgestützte Ansatz die Entwickler nicht der Verantwortung, sich eingehend mit dem Entwicklungswerkzeug vertraut zu machen. Vor allem müssen aber die Geschäftsprozesse sauber aufgesetzt und definiert sein. Anleihen aus der guten alten Systemanalyse können dabei keineswegs schaden. Grundlage dafür bildet das Wissen, welche Services im Enterprise Services Repository vorhanden sind. Genauso wichtig ist ein mehrstufiges Qualitätssicherungskonzept mit der klassischen Aufteilung in Entwicklungs-, Test- und Produktivsystem, um die Softwarequalität zu sichern, sowie die strikte Einhaltung der Itil-Disziplinen.

Prinzipiell kann jeder Kunde mit dem SAP Netweaver Delevopment Environment beziehungsweise mit dem CAF eine Composite Application entwickeln, ohne dafür zusätzlich Geld ausgeben zu müssen. Erst wenn eine solche Applikation auch produktiv zum Einsatz kommt, sind Lizenzgebühren an die SAP zu entrichten. Dass mit den Composite Applications die Reichweite der SAP-Anwendungen in einem Unternehmen zunimmt, damit rechnet der Konzern. Werden bereits fertige Composite Applications wie etwa die xApps von SAP oder jene von Partnern verwendet, haben diese wie fast jede andere Business Software auch ihren Preis. Der Einsatz von Composite Applications führt allerdings auch zu einer höheren Komplexität im RZ-Betrieb, die beherrscht werden muss. Das erfordert eine weit höhere Flexibilität bei der Bereitstellung von Ressourcen als bisher. (ba)