Die Anforderungen an neue Anwendungen ändern sich heute schneller als jemals zuvor. Neue Technologien, wie Twitter oder Facebook, müssen in flexible Geschäftsprozesse integriert werden. Das beeinflusst auch die Entwicklung neuer Softwareprodukte: Dabei müssen sich Funktionen und Design an den Anforderungen der Anwender orientieren und existierende Funktionalitäten in Software zur Unterstützung von Geschäftsprozessen integriert werden. Eine mögliche Lösung hierfür ist die modelbasierte Softwareentwicklung. Das Ziel dabei ist es, Quellcode oder sogar lauffähige Software auf Basis eines leicht verständlichen Modells zu erzeugen. Dadurch soll die Produktivität gesteigert und die Kommunikation zwischen Business und IT verbessert werden.
SAP bietet hierfür den Visual Composer als Teil des Composition Environment an. Der Visual Composer ist ein domänenspezifisches Werkzeug zur Modellierung von Geschäftslogik und Benutzeroberflächen zur Unterstützung von Geschäftsprozessen. Das Ergebnis sind lauffähige so genannte Composite Applications. Diese Anwendungen nutzen existierende Funktionen von SAP und Nicht-SAP Systemen unter Verwendung von Standardschnittstellen wie WebServices.
Diese Arbeit beschreibt die Beziehung zwischen dem Standard für modellbasierte Entwicklung „MDA“ (entwickelt von der OMG) und der Umsetzung von SAP, dem „Visual Composer“. Hierzu werden Konzepte aus beiden Welten beschrieben. Die Arbeit ordnet den Visual Composer in das SAP Universum ein und beschreibt grundlegende Konzepte der modellbasierten Softwareentwicklung mit SAP. Im Hauptteil der Arbeit werden die Möglichkeiten anhand eines kompletten Beispielszenarios dargestellt.
Der Visual Composer ist ein wertvolles Werkzeug in einem sehr speziellen Anwendungsgebiet: Er unterstützt Experten für die Modellierung von Geschäftsprozessen beim Design und der Umsetzung von Composite Applications und nutzt hierfür eine sehr intuitive Modellierungssprache.
Inhaltsverzeichnis
Darstellungsverzeichnis
Abkurzungsverzeichnis
Management Summary: English
Management Summary: Deutsch
1 Einleitung
1.1 Motivation
1.2 Uberblick uber die Arbeit
1.3 Zielbeschreibung
2 Konzepte und Terminologie
2.1 Ontologie MDSD
2.1.1 Modellierung
2.1.2 Transformationen
2.1.3 Abbildung MDA-Konzepte
2.2 SAP Universum
2.2.1 SAP Netweaver
2.2.2 Enterprise SOA
2.2.3 Composition Environment
2.2.4 Composite Applications
3 SAP Visual Composer
3.1 Einordnung in das SAP-Universum
3.2 Einordnung in die MDA
3.3 Architektur
3.3.1 Storyboard
3.3.2 Visual-Composer-Server
3.3.3 Laufzeitumgebung
4 Praxisbeispiel
4.1 Projektvision ..Proiekt-Wizard"
4.1.1 Problembeschreibung
4.1.2 Losungsbeschreibung
4.1.3 Benutzerumgebung
4.1.4 Kernanforderungen
4.2 Datenobjekt
4.3 Modellierung der Anforderungen
4.3.1 Geschaftsobiekte
4.3.2 Ablauflogik
4.3.3 Oberflache
4.4 Veroffentlichung der Anwendung
4.5 Planung Folgerelease
5 Ergebnisse und Perspektiven
Anhang A: GML Beispiel
Anhang B: XGL-Beispiel
Anhang C: Beispieldurchlauf Projekt-Wizard
Anhang D: Quellcode Application Service (CAF)
Literaturverzeichnis
Darstellungsverzeichnis
Darst. 2-1: Begriffsnetz Modellierung
Darst. 2-2: Begriffsnetz Transformation
Darst. 2-3: Begriffsnetz MDA
Darst. 2-4: Beispiel DSL
Darst. 2-5: SOA bei SAP
Darst. 2-6: Uberblick Composition Environment
Darst. 2-7: Uberblick Composite Application
Darst. 3-1: Zielgruppen VC
Darst. 3-2: Architektur Visual Composer
Darst. 3-3: Ausfuhrung VC mit XGL Compiler
Darst. 3-4: Ausfuhrung VC mit XGL Interpreter
Darst. 4-1: Uberblick Beispielszenario
Darst. 4-2: Modellierung Business Object 20
Darst. 4-3: Modellierung Application Service 21
Darst. 4-4: Zusammenspiel WS und Appl. Service
Darst. 4-5: Modell Service Komponente
Darst. 4-6: Wizard-Struktur
Darst. 4-7: Einbindung RFC-Baustein
Darst. 4-8: Einbindung Service Komp.
Darst. 4-9: Verwendung Data Store
Darst. 4-10: Generierung DropDown-Liste
Darst. 4-11: Zugriff auf DataStore
Darst. 4-12: Modell Beispielszenario in VC
Darst. 4-13: Layoutboard Beispielszenario
Darst. 4-14: XGL-Code Beispielszenario
Darst. 4-15: Integration BPMN und VC
Abkurzungsverzeichnis
Abbildung in dieser Leseprobe nicht enthalten
Management Summary: English
Today the requirements for new applications are changing faster than ever before. New technologies such as Twitter or Facebook have to be integrated in flexible business processes. This also affects the development of new software products: The challenge is to focus functions and layout for business users and to integrate new software in business processes using existing functions. Model driven software development is one of the possible solutions. The target is to generate source code or even a running application from an easy understandable model. This should increase productivity and improve the communication between business and IT.
SAP offers the Visual Composer as part of the Composition Environment. Visual Composer is a domain specific tool to model business logic and user interfaces on top of business processes. The results are running so-called composite applications. These applications use existing functions provided by SAP and Non-SAP systems via standard interfaces like WebServices.
This paper describes the relation between the standard for model driven development "MDA" (designed by OMG) and the SAP approach "Visual Composer". Therefore it describes concepts from both worlds. It classifies the Visual Composer in the SAP universe and describes basic concepts of model driven development with SAP. Finally this paper presents the possibilities by describing a complete example scenario using Visual Composer.
Visual Composer is a valuable tool in a very special context: It helps business process experts design and build Composite Applications using a very intuitive modeling language.
Management Summary: Deutsch
Die Anforderungen an neue Anwendungen andern sich heute schneller als jemals zuvor. Neue Technologien, wie Twitter oder Facebook, mussen in flexible Geschaftsprozesse integriert werden. Das beeinflusst auch die Entwicklung neuer Softwareprodukte: Dabei mussen sich Funktionen und Design an den Anforderungen der Anwender orientieren und existierende Funktionalitaten in Software zur Unterstutzung von Geschaftsprozessen integriert werden. Eine mogliche Losung hierfur ist die modelbasierte Softwareentwicklung. Das Ziel dabei ist es, Quellcode oder sogar lauffahige Software auf Basis eines leicht verstandlichen Modells zu erzeugen. Dadurch soll die Produktivitat gesteigert und die Kommunikation zwischen Business und IT verbessert werden.
SAP bietet hierfur den Visual Composer als Teil des Composition Environment an. Der Visual Composer ist ein domanenspezifisches Werkzeug zur Modellierung von Geschaftslogik und Benutzeroberflachen zur Unterstutzung von Geschaftsprozessen. Das Ergebnis sind lauffahige so genannte Composite Applications. Diese Anwendungen nutzen existierende Funktionen von SAP und Nicht-SAP Systemen unter Verwendung von Standardschnittstellen wie WebServices.
Diese Arbeit beschreibt die Beziehung zwischen dem Standard fur modellbasierte Entwicklung „MDA" (entwickelt von der OMG) und der Umsetzung von SAP, dem „Visual Composer". Hierzu werden Konzepte aus beiden Welten beschrieben. Die Arbeit ordnet den Visual Composer in das SAP Universum ein und beschreibt grundlegende Konzepte der modellbasierten Softwareentwicklung mit SAP. Im Hauptteil der Arbeit werden die Moglichkeiten anhand eines kompletten Beispielszenarios dargestellt.
Der Visual Composer ist ein wertvolles Werkzeug in einem sehr speziellen Anwendungsgebiet: Er unterstutzt Experten fur die Modellierung von Geschaftsprozessen beim Design und der Umsetzung von Composite Applications und nutzt hierfur eine sehr intuitive Modellierungssprache.
1 Einleitung
1.1 Motivation
Die moderne IT-Landschaft zur Unterstutzung von Geschaftsprozessen in Unternehmen kann derzeit in drei Ebenen eingeteilt werden: Auf der untersten Ebene finden wir die Kernfunktionen unserer IT- Systeme. Sie stellen die grundlegenden Funktionen zur Bearbeitung von Geschaftsvorfallen bereit, wie z.B. Funktionen zur Verbuchung von Rechnungen, das Anlegen von Auftragen oder die Erfassung der Stammdaten. Diese Komponenten mussen ein hohes MaG an Robustheit und Zuverlassigkeit bieten. Auch daher betragen die Innovationszyklen in diesem Bereich mehrere Jahre. Zum anderen werden grundlegende Ablaufe in einem Unternehmen nicht jeden Tag neu erfunden. Auf der zweiten Ebene werden die Geschaftsprozesse dargestellt. Unternehmen mussen ihre Prozesse heute schnell und flexibel auf sich verandernde Markterfordernisse anpassen. Gleichzeitig mussen heterogene IT- Systeme in die Prozesse einbezogen werden, da die relevanten Daten in verschiedenen Backendsystemen abgelegt und verarbeitet werden. Die Innovationszyklen in dieser Ebene betragen nur wenige Monate. Die oberste Ebene stellt die Konsumierung von Informationen dar. Hier finden wir heute viele verschiedenen Applikationen wie z.B. ERP-Frontends, Internet-Browser oder interaktive Formulare. In dieser Schicht mussen taglich neue Anforderungen umgesetzt und neue Technologien, wie RSS oder Twitter, integriert werden.
Die IT-Verantwortlichen stehen somit vor der Herausforderung, die IT-Landschaft standig auf die flexiblen Anforderungen von Kunden und Kollegen auszurichten. Insbesondere bei der Darstellung der Information und der Anpassung der Anwendungen an die Geschaftsprozesse mussen dabei kurze Releasezeiten zugesichert werden. Traditionelle Ansatze fur die Softwarebereitstellung und Softwareentwicklung stoGen hier an ihre Grenzen. Standardsoftware bietet nicht die notwendige Flexibilitat und Individualentwicklungen scheitern am Kosten- und Zeitdruck. Nicht zuletzt misslingen viele Softwareprojekte auch an der Kommunikationslucke zwischen Fachabteilung und IT.
Die modellbasierte Softwareentwicklung begegnet diesen Herausforderungen. Mit ihr soll die Produktivitat bei der Entwicklung von Software durch hohere Wiederverwendbarkeit und Automatisierung bei der Codegenerierung gesteigert werden. Die Modelle konnen dabei - im besten Fall - direkt von der Fachabteilung erstellt werden. Die Kommunikation mit der IT wird damit erleichtert.
Die Firma SAP bietet modellbasierte Werkzeuge zur Unterstutzung der Erstellung von] Anwendungen, welche die Daten zielgruppengerecht und prozessorientiert zur Verfugung stellen. Das wichtigste Werkzeug ist dabei, als Bestandteil des Composition Environment, der Visual Composer.
1.2 Uberblick uber die Arbeit
In Kapitel zwei werden allgemein Konzepte und Terminologien im Kontext der modellbasierten Entwicklung dargestellt. AuGerdem werden zum besseren Verstandnis wichtige Technologien aus dem SAP-Universum beschrieben. Kapitel drei ordnet den Visual Composer allgemein in die Konzepte der modellbasierten Softwareentwicklung und das SAP-Universum ein. In Kapitel vier werden die Moglichkeiten des Visual Composer und unterstutzender Werkzeuge anhand eines Praxisbeispiels dargestellt. Abschluss bildet ein Ausblick auf kommende Releases und eine Bewertung der Anwendung des Visual Composer.
1.3 Zielbeschreibung
Ziel dieser Arbeit ist die Darstellung wie die Firma SAP das Konzept der modellbasierten Softwareentwicklung auf die Entwicklung von Anwendungen zur Unterstutzung von Geschaftsprozessen ubertragen hat. Ausgangspunkt dafur ist eine Beschreibung der grundlegenden Konzepte und des MDA-Standards der OMG. Es wird gezeigt, wo sich die SAP mit dem Visual Composer an diesen Standard angelehnt hat. Ferner wird anhand eines Praxisbeispiels dargestellt, wie eine mit dem Visual Composer orchestrierte Anwendung den Prozess zur Anlage eines neuen Projektes in einem Beratungsunternehmen vereinfacht.
2 Konzepte und Terminologie
Im folgenden Kapitel werden zunachst grundlegende Konzepte und Terminologien modellbasierter Softwareentwicklung (Englisch Model Driven Software Development, kurz MDSD) dargestellt. Grundsatzlich geht es dabei um Techniken und Methoden, die aus formalen Modellen lauffahige Software generieren. Die Model Driven Architecture (MDA) ist eine Initiative der Object Management Group (OMG), um dieses Thema zu standardisieren.
Zunachst wird eine Ontologie zu MDSD aufgebaut, um die verschiedenen Begriffe in Beziehung zu setzen. Aufbau und Beschreibung der Ontologie ist entnommen aus (Stahl & Volter, 2005). Im Anschluss daran werden grundlegende Konzepte aus dem Bereich der SAP-Softwareentwicklung dargestellt.
2.1 Ontologie MDSD
2.1.1 Modellierung
Abbildung in dieser Leseprobe nicht enthalten
Darst. 2-1: Begriffsnetz Modellierung1
Domane
Bei einer Domane handelt es sich um ein begrenztes Interessen- oder Wissensgebiet. Sie konnen sowohl technisch als auch fachlich motiviert sein. Beispiel fur eine fachliche Domane ist „Versicherungen" mit den Elementen Unfall- und Hausratversichung. Eine mogliche technische Domane ware die Entwicklung der Navigation fur ein Infotainmentsystem in einem Auto.
Metamodell
Mit Hilfe des Metamodells wird die Struktur der Domane formalisiert. Kurz gesagt beschreibt das Metamodell, wie Modelle innerhalb dieser Domane gebaut werden. Das Metamodell der OMG fur die Formalisierung der UML ist die Meta Object Facility (MOF), siehe auch (OMG, 2009). Inhalt des Metamodells sind die abstrakte Syntax und die statische Semantik.
Abstrakte und konkrete Syntax
Die abstrakte Syntax einer Sprache spezifiziert, wie die Struktur der Sprache aussieht. Eine konkrete Syntax ist die Realisierung einer abstrakten Syntax. Verschiedene konkrete Syntaxformen konnen dabei eine gemeinsame abstrakte Syntax besitzen. Daraus folgt: „Man kann das Metamodell einer Domane in verschiedenen Notationen ausdrucken, also zum Beispiel eine grafische auf UML basierende und eine textuelle" (Stahl & Volter, 2005, S. 67).
Ein gutes Beispiel dafur liefert uns die XML-Welt: „Ein XML-Dokument ist in der konkreten Syntax von XML formuliert, ein generischer XML-Parser erzeugt daraus eine Reprasentation im Hauptspeicher - den DOM-Tree (DOM = Document Object Model). Das DOM selbst ist also die abstrakte Syntax von XML" (Stahl & Volter, 2005, S. 67).
Die Notation einer abstrakten Syntax kann wiederum mit einem Metamodell, z.B. mit MOF, erfolgen. Dabei „bietet MOF eine mogliche konkrete Syntax zur Spezifikation von Metamodellen" (Stahl & Volter, 2005, S. 67).
Statische Semantik
Auf Basis der statischen Semantik kann die Wohlgeformtheit von Modellen uberpruft werden. In ihr werden Regeln festgelegt, die uber die Syntax einer Sprache hinausgehen. Beispielsweise regelt die statische Semantik in Programmiersprachen, dass Variablen von ihrer Verwendung deklariert werden mussen. (Stahl & Volter, 2005) weisen darauf hin, dass konzeptionell die statische Semantik eigentlich eher zur Syntax als zur Semantik einer Sprache gehort.
Domanenspezifische Sprache
„Eine DSL2 dient dem Zweck die Schlusselaspekte einer Domane [...] formal ausdruckbar (modellierbar) zu machen. Dazu besitzt sie ein Metamodell (inkl. statische Semantik) und eine korrespondierende konkrete Syntax" (Stahl & Volter, 2005, S. 68). Hinzu kommt eine (dynamische) Semantik, die den Konstruktionen des Metamodells eine Bedeutung gibt.
Ziel einer DSL ist es, dem Modellierer innerhalb eines konkreten Interessensgebietes (Domane) als Werkzeug zur Modellerstellung zu dienen. Die Semantik sollte dem Domanenexperten innerhalb seiner Sprachwelt intuitiv klar sein.
Die Komplexitat und Machtigkeit von DSLs reicht von einfachen textuellen Konfigurationsoptionen mit Gultigkeitsprufung bis zu grafischen DSLs mit entsprechenden domanenspezifischen Editoren.
Formale Modelle
Formale Modelle bilden im Kontext von MDSD den Ausgangspunkt fur automatisierte Transformationen. „Es ist in der gegeben konkreten Syntax formuliert und ist mindestens konzeptionell (meist auch technisch) eine Instanz des gegebene Metamodells. Ein Modell ist also ein in der DSL formulierter „Satz". Seine Bedeutung erhalt es durch die Semantik der DSL" (Stahl & Volter, 2005, S. 69).
Im Sinne der MDA werden Modelle mit der Unified Modeling Language (UML) erstellt. Die UML kann dabei mit Profilen passend fur eine Domane konfiguriert werden.
[...]
1 Quelle: (Stahl & Volter, 2005, S. 66)
2 Domanenspezifische Sprache (Englisch Domain Specific Language, DSL)
-
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X.