Conference PaperPDF Available

Domänenspezifische Codeerzeugung für Webapplikationen im E-Commerce Umfeld.

Authors:
Domänenspezifische Codeerzeugung für Webapplikationen
im E-Commerce Umfeld
Ralf Gitzel
Lehrstuhl für Wirtschaftsinformatik III
Universität Mannheim
L 5,5
68131 Mannheim
gitzel@wifo3.uni-mannheim.de
Abstract: Mit der ständigen Zunahme dynamischer Webseiten wächst der Bedarf
an Werkzeugen zur Erstellung so genannter Webapplikationen. In diesem
Diskussionspapier wird ein Ansatz zur automatischen Codeerzeugung für
E-Commerce Anwendungen vorgeschlagen. Auf Basis einer in XMI beschriebenen
Metamodellhierarchie werden mittels eines XSLT-basierten Codegenerators
Klassen erzeugt, die in Verbindung mit einem Web Applikation Framework zum
Einsatz kommen. Das Framework, COBANA, basiert auf etablierten Web Design
Methodologien. Es wandelt statische und dynamische Inhalte im XML-Format
mittels einer hierarchischen XSLT-Transformation in HTML um. Aufgrund der
Beschränkung der Codeerzeugung auf die Domäne des E-Commerce kann dieser
Prozess idealerweise vollautomatisch ablaufen. Außerdem kann eine Anwendung
basierend auf dem M2 Modell semantische Informationen in maschinenlesbarer
Form bereit stellen.
1 Einleitung
Spätestens seit der Erschließung des Internets durch die breite Öffentlichkeit zeigt sich
ein Trend weg von statischen, textbasierten Inhalten zu dynamischen Seiten. Grundlage
für diese erweiterte Funktionalität sind so genannte Webapplikationen. Während sich
jedoch in vielen Bereichen kommerziell genutzter Anwendungen Programme gewisser
Anbieter zu Quasi-Standards entwickelt haben (z.B. Microsoft Word für
Textverarbeitungen) bleibt eine solche Verengung im Bereich der Webapplikationen
bislang aus. Mögliche Erklärungen sind von Grund auf verschiedene Bedürfnisse der
Anbieter interaktiver Inhalte, sowie das Bestreben sich qualitativ von den Mitbewerbern
abzusetzen.
Dennoch werden Webapplikationen nicht von Grund auf neu erstellt, sondern basieren
oftmals auf Frameworks wie Struts [St03], Apache Cocoon [Co03] oder auf mächtigen
Skriptsprachen wie PHP [Ph03]. Skriptsprachen haben das Ziel, weniger erfahrenen
Programmierern eine einfache Anwendungserstellung zu ermöglichen. Oftmals jedoch
wird dadurch eine Tendenz zu schlechtem Programmdesign gefördert. Frameworks
dagegen ermutigen ein vernünftiges Design, sind allerdings für Web-Designer ohne
Programmierkenntnisse in der Regel schwer zugänglich.
Ein weiterer Aspekt von aktueller Relevanz ist die Bereitstellung semantischer
Informationen zu Webseiten. So existieren Bestrebungen zur Entwicklung einer
semantischen Darstellung von Webinhalten, z.B. über das Resource Description
Framework (RDF) [LS99]. Eine Webapplikation sollte in der Lage sein, zentrale
Informationen über ihren Inhalt bereitzustellen.
Im Folgenden soll die Möglichkeit einer Lösung skizziert werden, bei der die
Softwarequalität von Frameworks einer breiten, der Programmierung unkundigen, Masse
zugänglich gemacht werden soll. Die auf dieser Basis entstehenden Anwendungen sollen
semantische Informationen über ihren Inhalt bereit stellen. Der Ansatz umfasst auf der
einen Seite ein Web Application Framework, auf der anderen Werkzeuge zur
automatischen Erzeugung von Code aus domänenspezifischen, XMI-basierten Modellen.
2 Kernkonzept
Die für meine Dissertation geplante Arbeit umfasst die beiden in Abschnitt 1 erwähnten
Aspekte. Ziel ist ein ganzheitlicher Ansatz zur automatischen Erzeugung von
E-Commerce Anwendungen basierend auf domänenspezifischen Modellen. Durch die
Einschränkung auf eine bestimmte Domäne und der damit einhergehenden Verminderung
der abzudeckenden Szenarien, sollen ein hoher Automatisierungsgrad und eine sinnvolle
semantische Informationsbereitstellung erreicht werden. Die Arbeit befasst sich somit
zum einen mit Web Application Frameworks, zum anderen mit Ideen zur Codeerzeugung
basierend auf einer Metamodellhierarchie.
2.1 COBANA Web Application Framework
Das COBANA Framework [GKM03] ist ein Web Application Framework, dessen
Konzept an die Struktur bestehender Web Design Methodologien [Ko01] angelehnt
Abb. 1: Das Grundkonzept von COBANA
Controller XML Dokument
„Layout“
XML Dokument
„Startseite“ XML Dokument
„Produkte“
XML Dokument
„DVDs“ XML Dokument
„Bücher“
wurde. Abb. 1 zeigt das grundlegende Prinzip. Eine zentrale Softwarekomponente stellt
der so genannte Controller dar. Dieser Programmteil trifft aufgrund der angegebenen
URL eine Entscheidung darüber, welche Seiten aus einer Hierarchie von XML
Dokumenten Bestandteile der anzuzeigenden HTML-Seite werden sollen. Hierbei
spielen sowohl Aspekte der Navigation als auch des Layouts eine Rolle. Der Unterschied
zu anderen Frameworks ist die hierarchische Struktur der XML Dokumente, die dem
Kontext-Konzept aus OOHDM [SR96] entspricht. Die in Abb. 1 gezeigte
Dokumentstruktur würde z.B. zu einer Navigationsstruktur wie in Abb. 2 beschrieben
führen.
COBANA verfolgt einen XML-basierten Ansatz, bei dem auf die XML Dokumente der
verschiedenen Ebenen je nach gewünschtem Ergebnis sukzessive verschiedene XSLT
Transformationen anwendet werden, um HTML Seiten zu erzeugen. Ziel der
Frameworkentwicklung ist es, eine möglichst optimale Mischung aus Engineering und
Performanz zu erreichen, mit einem Schwerpunkt auf der Abhandlung der Navigation.
Die aktuell betrachteten Teilprobleme sind eine Erweiterung zur Integration von
zustandsabhängigen Seitenabfolgen (z.B. mit Webformularen), sowie eine vereinfachte
Anbindung von Persistenzmechanismen. Außerdem sollen die semantischen
Informationen, die bei der Modellierung gewonnen werden (vgl. Abschnitt 3),
berücksichtigt werden, wobei Brücken zu den gängigen Formaten RDF [LS99] [BM03]
und ebXML [EN01] geplant sind. Zu den weiteren Schritten gehören die Verbesserung
der Performanz, die Durchführung umfassender Tests bezüglich der praktischen
Anwendbarkeit und die Erzeugung von domänenspezifischen Modulen. Die bei
XML-basierten Systemen erfahrungsgemäß schwache Performanz [RAS02] wird
momentan durch die hierarchischen Transformationen weiter gesenkt, verschiedene
Caching-Ansätze sollen hier verglichen werden. Domänenspezifische Module sind
notwendig für die automatische Codegenerierung basierend auf den M1 Modellen (vgl.
Abschnitt 3)
Der zentrale Vorteil von COBANA ist somit die strenge Orientierung an etablierten
Designmethoden, wodurch der für Webapplikationen typische Sprung zwischen Entwurf
Abb. 2: Umsetzung in HTML
StartSeite
Produkte
DVDs
Bücher
Layout
Navigation
Produkte |
DVD |
Bücher
und Umsetzung vermieden wird. Daraus ergibt sich unter anderem eine automatisch
konsistente interne Navigation, d.h. innerhalb einer COBANA Anwendung können keine
gebrochenen Links auftreten. Die oben aufgeführten Nachteile und Probleme sollen
untersucht und wenn möglich behoben werden.
3 Modellierungsansatz
Nach der Untersuchung verschiedener Strategien [AG01][AG03] zur Codeerzeugung fiel
die Entscheidung für einen Codegenerator basierend auf einem 3-stufigen Metamodell
[GS03]. Da es an dieser Stelle nicht möglich ist, die Modelle im Detail zu besprechen,
soll eine kurze Übersicht gegeben werden. Die Elemente der obersten Ebene sind rein
technologisch orientiert, d.h. M3 Klassen sind z.B. DataSets oder Keys. Dabei ist zu
beachten, dass trotz der Technologieorientierung keine Abhängigkeit zu einer
bestimmten Technologie wie z.B. J2EE besteht, sondern verschiedene Mappings möglich
sind. Die M2 Ebene befasst sich mit der domänenspezifischen Modellierung. Für die
Arbeit geplant ist eine Betrachtung des Bereichs 'E-Commerce Anwendungen', andere
Modelle sind aber durchaus denkbar. Die Klassen der M2 Ebene sind Instanzen der M3
Klassen, z.B. sind Produkt und Kategorie Objekte der M3 Klasse DataSet. Die M1
Ebene ist eine konkrete Instanz, die als Basis der Codeerzeugung dient und definiert
Klassen wie z.B. Buch oder DVD, beides Instanzen von Produkt.
Bislang existiert nur ein sehr einfaches Beispielmodell für Online-Shops, welches die
technischen Möglichkeiten des Ansatzes illustriert und in [GS03] beschrieben wird.
Dieses soll an Hand von Fallbeispielen überprüft werden und auf Grund dieser
Erkenntnisse erweitert werden. Insbesondere soll eine dynamische Komponente
hinzukommen.
Bei der Codeerzeugung werden die Informationen aus den Metaebenen integriert. Somit
beeinflusst die M3 Ebene technologierelevante Entscheidungen, insbesondere in Bezug
auf die Verwendung der Middleware. Die M2 Ebene liefert die Daten für die
semantische Interpretation der fertigen Applikation und bestimmt, welche Geschäftslogik
zu verwenden ist. Die unterste Ebene schließlich beschreibt die Struktur der Anwendung.
Jedes Metamodell wird in Form eines XMI Dokuments gespeichert. Damit das M2
Modell als Metamodell für die M1 Ebene dienen kann, muss es mittels einer
XSLT-basierten Transformation umgeformt und "angereichert" werden, wozu ein
Algorithmus entwickelt wurde, der in Zukunft weiter verbessert werden soll. Für diese
Verbesserung sollen auch die bislang im Rahmen des Requests for Proposals (RFP) für
MOF 2.0 Query/Views/Transformations der OMG [Om02] eingegangenen Vorschläge
betrachtet werden, da es zwischen beiden Problemen eine gewisse
Überschneidungsfläche gibt. Die Codeerzeugung wird mit der selbst entwickelten
XML-basierten, XLST-ähnlichen Template-Sprache VTL durchgeführt.
Bislang existieren die in [GS03] beschriebenen Elemente, es ist die Einbindung von in
Templates vorgefertigter Geschäftslogik, die Definition eines zwecktauglichen M2
Modells und die Lösung einiger technischer Teilprobleme geplant. Unter anderem sollen
zentrale Elemente einer E-Commerce Anwendung bestimmt und kategorisiert werden,
um dann als Elemente auf M2 Ebene integriert zu werden. Die theoretischen Grundlagen
zur generativen Programmierung und Metamodellierung, sowie praktische Beispiele für
Metamodelle sollen analysiert werden und die Erkenntnisse eingebracht werden.
4 Zusammenfassung
In der hier beschriebenen Arbeit wird ein geplanter Lösungsansatz für die automatische
Erzeugung von semantisch interpretierbaren E-Commerce Anwendungen umrissen. Die
zentralen Ideen hierbei sind die Verwendung einer Metamodell-Hierarchie und die
Entwicklung eines Web Application Frameworks, dass den Bruch zwischen Design und
Umsetzung minimiert. Die Metamodellhierarchie soll am Beispiel der Domäne
E-Commerce weiter verfeinert werden und der Algorithmus perfektioniert werden, der
eine Transformation eines XMI Modells in ein XMI Metamodell erlaubt.
Der Ansatz verwendet an drei Stellen XML. Zum einen werden die (Meta-)Modelle in
XMI Dateien gespeichert. Außerdem basiert die Codeerzeugung auf VTL, einer
XML-kompatiblen Templatesprache. Zu guter Letzt wird der erzeugte Code in das auf
XML Daten basierte Web Application Framework COBANA integriert.
Die recht weit gefächerten Einsatzgebiete von XML im Rahmen dieser Arbeit zeigen die
Vielseitigkeit dieser Sprache. Die Vorteile für Projekte aller Art sind z.B. die einfache
Syntax, das einfache Einlesen und Erzeugen von Dokumenten sowie die Lesbarkeit für
Menschen. Letzteres ist insbesondere bei der Fehlersuche bzw. in frühen Entwurfsstadien
sehr hilfreich. Es ist abzusehen, dass auch in den weiteren Projektschritten XML zum
Einsatz kommen wird, z.B. ebXML oder XForms.
Literaturverzeichnis
[AG01] Aleksy, M.; Gitzel, R.: ViDiO - Visual Distribution of Objects. In
Proceedings of the International Symposium of Visual Methods for
Parallel and Distributed Programming (IV2001-VmPDP) , 25.-27. July
2001, London, England, IEEE Computer Society, 2001, S. 331-335
[AG03] Aleksy, M.; Gitzel, R.:Code Generation for Distributed Systems in:
Proceedings of the 5th International Conference on Enterprise Information
Systems (ICEIS 2003) Vol. 3 , 23.-26. April, 2003, Angers, France, ICEIS
Press, 2003, S. 313-318
[BM03] Backett, D.; McBride, B. (Hrsg.): RDF/XML Syntax Specification
(Revised) W3C Working Draft, http://www.w3.org/TR/rdf-syntax-
grammar/, 2003
[Co03] o.V.: Apache Cocoon, http://cocoon.apache.org/2.0/, 2003
[EN01] Eisenberg, B.; Nickull, D. (Hrsg.): ebXML Technical Architecture
Specification v1.0.4, http://www.ebxml.org/specs/ebTA.pdf, 2001
[GKM03] Gitzel, R.; Korthaus, A.; Mazloumi, N.:Realizing Web Designs with the
Cobana Framework. In Proceedings of the 21st IASTED International
Multi-Conference on Applied Informatics (AI2003) , 10.-13. Februar,
2003, Innsbruck, Österreich, IASTED, S. 1065-1071
[GS03] Gitzel, R.; Schader, M.: Generation of XML-Based Web Applications
Using Metamodels. In: Proceedings of the 7th IASTED International
Conference on Internet And Multimedia Systems And Applications,
August 13-15, 2003, Honolulu, Hawaii, USA
[Ko01] Koch, N.: A Comparative Study of Methods for Hypermedia
Development, Technical Report 9905, Ludwig-Maximilians-Universität
München, http://citeseer.nj.nec.com/koch01comparative.html
[LS99] Lassila, O.; Swick, R. (Hrsg.): Resource Description Framework (RDF)
Model and Syntax Specification, W3C Recommendation,
http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/, 1999
[Om02] o.V.: Request for Proposal: MOF 2.0 Query / Views / Transformations
RFP OMG Document: ad/2002-04-10; http://www.omg.org/cgi-bin/
doc?ad/2002-04-10
[Ph03] o.V.: PHP.net; http://www.php.net/, 2003
[RAS02] Rawolle, J.; Ade, J.; Schumann, M.: XML als Integrationstechnologie bei
Informationsanbietern im Internet - Fallstudie bei BertelsmannSpringer. In
Wirtschaftsinformatik 44 (2002) 1, S. 19-28
[SR96] Schwabe, D.; Rossi, G.; Barbosa, S.: Systematic hypermedia application
design with OOHDM. In Hypertext 1996. ACM, 1996.
[St03] o.V.: The Apache Jakarta Project - Struts, http://jakarta.apache.org/struts/,
2003
ResearchGate has not been able to resolve any citations for this publication.
Conference Paper
Full-text available
Recently, many web application frameworks have been developed to simplify the creation of new web sites. However, in the light of well-established web design methodologies such as RMM or OOHDM, these methodologies often fail to close the gap between design and implementation. In this paper, we analyze the elements of several design methodologies in order to classify and group them. We then introduce our Context-Based Navigation web design framework (COBANA) and show how its different parts reify the various concepts of the design methodologies, therefore allowing a 1-to-1 translation from design to implementation. Finally, we compare our framework with related work.
Conference Paper
Full-text available
Due to the complexity of distributed code as opposed to the easy way the corresponding designs can be described graphically, interest in code generators which create applications based on abstract system descriptions, is high. An indicator for this are the many commercial products. This paper aims at exploring the theoretical foundations of code generation for distributed systems with regard to the data structures and template language syntax. Several existing approaches are analysed and a new hybrid-form data structure is proposed. The goal, that this paper aims at, is an adaptable, middleware-independent way to produce software with minimal human code.
Conference Paper
Full-text available
The authors present a tool: Visual Distribution of Objects (ViDiO), for graphical deployment of CORBA objects. It allows easy association of hosts with IDL interfaces and produces client, server, and object code in Java based on the drawn diagram and provided XML based templates. It is based on a library designed for platform independent display of computer networks
Article
Full-text available
In this paper we analyze the process of hypermedia applications design and implementation, focusing in particular on two critical aspects of these applications: the navigational and interface structure. We discuss the way in which we build the navigation and abstract interface models using the Object-Oriented Hypermedia Design Method (OOHDM); we show which concerns must be taken into account for each task by giving examples from a real project we are developing, the Portinari Project. We show which implementation concerns must be considered when defining interface behavior, discussing both a Toolbook and a HTML implementation of the example application. Keywords: Hypermedia Design, Methodology, Modeling, Object Orientation, Navigation, Interfaces 1. Introduction In the past three years there has been growing interest in hypermedia design approaches [Izakowitz 95, Garzotto 93, Lange 94]. There are many different problems the hypermedia designer has to deal with, since the combinatio...
Article
Full-text available
This paper presents a comparative study of the most relevant methodologies for hypermedia and Web development published in the last few years. Most of these methods focus on the design of hypermedia applications; only a few cover more aspects of the life cycle, such as requirements capture, implementation and/or testing. One common characteristic is the separation of the domain analysis from the specification of the navigation space structure as well as from the design of the user interface. A brief description of each of these methodologies is given as well as a set of comparisons. We compare the main concepts, the phases o steps of the model, CASE Tool support as well as the modelling technique, notation and graphical representation. A list of the most relevant characteristics of the Unified Process is given as well comparing it to hypermedia development methodologies.
Article
This paper explores the use of XML for integrating content and applications for internet publishers based on a case study from the media industry. After a short introduction into the general conditions of the project the paper describes the most important requirements that were to be met with regard to the interfaces between the content management system and a set of external, partly interactive applications (like a search engine and discussion groups). Subsequently, a mechanism based on XML and HTTP is presented that was implemented as a solution within the scope of the project. Finally, experiences gained during the course of implementation and operation are confronted with the requirements as defined earlier in order to asses the strengths and weaknesses of XML-based integration mechanisms in similar settings.
Generation of XML-Based Web Applications Using Metamodels A Comparative Study of Methods for Hypermedia DevelopmentHrsg.): Resource Description Framework (RDF) Model and Syntax Specification, W3C Recommendation
  • R Gitzel
  • A Korthaus
  • N Mazloumi
  • Innsbruck
  • Iasted Österreich
  • S Gs
  • R Gitzel
  • M Schader
  • Ko
  • N Koch
  • Ls
  • O Lassila
  • R Swick
Gitzel, R.; Korthaus, A.; Mazloumi, N.:Realizing Web Designs with the Cobana Framework. In Proceedings of the 21st IASTED International Multi-Conference on Applied Informatics (AI2003), 10.-13. Februar, 2003, Innsbruck, Österreich, IASTED, S. 1065-1071 [GS03] Gitzel, R.; Schader, M.: Generation of XML-Based Web Applications Using Metamodels. In: Proceedings of the 7th IASTED International Conference on Internet And Multimedia Systems And Applications, August 13-15, 2003, Honolulu, Hawaii, USA [Ko01] Koch, N.: A Comparative Study of Methods for Hypermedia Development, Technical Report 9905, Ludwig-Maximilians-Universität München, http://citeseer.nj.nec.com/koch01comparative.html [LS99] Lassila, O.; Swick, R. (Hrsg.): Resource Description Framework (RDF) Model and Syntax Specification, W3C Recommendation, http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/, 1999 [Om02] o.V.: Request for Proposal: MOF 2.0 Query / Views / Transformations RFP OMG Document: ad/2002-04-10; http://www.omg.org/cgi-bin/ doc?ad/2002-04-10 [Ph03] o.V.: PHP.net; http://www.php.net/, 2003 [RAS02]
Realizing Web Designs with the Cobana Framework 10.-13. Februar Generation of XML-Based Web Applications Using Metamodels A Comparative Study of Methods for Hypermedia Development): Resource Description Framework (RDF) Model and Syntax Specification
  • R Gitzel
  • A Korthaus
  • N Mazloumi
  • Innsbruck
  • Iasted Österreich
  • S Gitzel
  • R Schader
  • M Koch
Gitzel, R.; Korthaus, A.; Mazloumi, N.:Realizing Web Designs with the Cobana Framework. In Proceedings of the 21st IASTED International Multi-Conference on Applied Informatics (AI2003), 10.-13. Februar, 2003, Innsbruck, Österreich, IASTED, S. 1065-1071 [GS03] Gitzel, R.; Schader, M.: Generation of XML-Based Web Applications Using Metamodels. In: Proceedings of the 7th IASTED International Conference on Internet And Multimedia Systems And Applications, August 13-15, 2003, Honolulu, Hawaii, USA [Ko01] Koch, N.: A Comparative Study of Methods for Hypermedia Development, Technical Report 9905, Ludwig-Maximilians-Universität München, http://citeseer.nj.nec.com/koch01comparative.html [LS99] Lassila, O.; Swick, R. (Hrsg.): Resource Description Framework (RDF) Model and Syntax Specification, W3C Recommendation, http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/, 1999 [Om02] o.V.: Request for Proposal: MOF 2.0 Query / Views / Transformations RFP OMG Document: ad/2002-04-10; http://www.omg.org/cgi-bin/ doc?ad/2002-04-10
Code Generation for Distributed Systems
  • M Aleksy
  • R Gitzel
Aleksy, M.; Gitzel, R.:Code Generation for Distributed Systems in: Proceedings of the 5th International Conference on Enterprise Information Systems (ICEIS 2003) Vol. 3, 23.-26. April, 2003, Angers, France, ICEIS Press, 2003, S. 313-318