Kerer, C. (2003). XGuide - concurrent web development with contracts [Dissertation, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-12892
In this dissertation we propose the XGuideWeb development method. XGuide focuses on the timely development of Web applications while guaranteeing high-quality designs and reusable implementation artifacts. It supports the whole life-cycle of a Web application and covers the analysis, design, implementation and maintenance phases. The central idea in XGuide is to bring the well-established software engineering concepts of interfaces and contracts to theWeb engineering domain. Contracts clearly state the requirements and internal dependencies of Web pages and act as specifications for a subsequent implementation. To support multiple activities being carried out in parallel by different people, XGuide introduces multi-dimensional contracts that enable the concurrent development of implementation concerns such as the content, the graphical appearance and the application logic. In addition to the parallel implementation phase, contracts also enable the definition of Web components—reusable page fragments that get assembled to form the final Web page. A Web component is fully specified by its contract and contract composition defines the rules for embedding components into pages. The short innovation cycles on the Web further require a Web development methodology to constantly cope with new requirements. In XGuide, a formal definition of contracts and their composition is the foundation for an open contract model that can integrate new concerns such as access control, meta-data or device independence as separate modules. The XGuide process applies a model-driven approach to Web development that iteratively refines initial requirements into design diagrams, contracts and implementation components. After the initial deployment, XGuide directly maps maintenance and evolution tasks to updates of the design models (i.e., diagrams and contracts). Model updates trigger a new iteration of the XGuide process, i.e., follow the same contract-based, parallel implementation paradigm. This round-trip engineering ensures that models remain consistent with the implementation and guarantees well-structured and easy to trace projects. In order to support the application of XGuide in real-world Web projects, we implemented the XSuite Web development environment. The purpose of the XSuite IDE is to support the developer in all phases of the XGuide process. Visual design models are automatically transcoded into contracts and wizards assist in creating pages, composing contracts and deploying the application. XSuite is built on top of the generic Eclipse framework and integrates a Java IDE, a version control system and a Web server into the actual Web development environment. The practicality of the XGuide method and the XSuite tool suite is demonstrated in the implementation of the Vienna International Festival 2003 (VIF) case study.
en
Diese Dissertation stellt die XGuide Web Entwicklungsmethode vor. XGuide betont die termingerechte Entwicklung von Webapplikationen und garantiert qualitativ hochwertige Designdokumente und wiederverwendbare Implementierungen. Es unterstuetzt den vollen Lebenszyklus von Webapplikationen und deckt die Phasen Analyse, Design, Implementierung und Wartung ab. Die zentrale Idee in XGuide ist die Einfuehrung der bewaehrten Software Engineering Konzepte "Interface" und "Vertrag" in die Domaene des Web Engineering. Vertraege legen die Anforderungen und internen Abhaengigkeiten von Webseiten fest und fungieren als Spezifikationen fuer die folgende Implementierung. Um die parallele Durchfuehrung von Implementierungstaetigkeiten durch unterschiedliche Personen zu foerdern, fuehrt XGuide sogenannte mehrdimensionale Vertraege ein, die die zeitgleiche Entwicklung von Teilen der Implementierung wie dem Inhalt, der grafischen Repraesentation und der Applikationslogik ermoeglichen. Zusaetzlich zur gleichzeitigen Implementierung unterstuetzen Vertraege auch die Definition von Web-Komponenten: wiederverwendbaren Fragmenten, die zu Webseiten zusammengesetzt werden. EineWeb-Komponente ist durch ihren Vertrag vollkommen spezifiziert und das Zusammensetzen von Vertraegen gibt die Regeln fuer die Integration von Komponenten in Seiten vor. Aufgrund der kurzen Innovationszyklen des World-Wide Web werden Web Entwicklungsmethoden staendig mit neuen Anforderungen konfrontiert. Eine formale Definition von Vertraegen und deren Komposition bildet die Grundlage fuer ein offenes und erweiterbares Vertragsmodell in XGuide, das neue Anforderungen wie Zugriffskontrolle, Meta-Daten oder Geraeteunabhaengigkeit als getrennte Module realisieren kann. Der XGuide Prozess verwendet einen modellbasierten Ansatz, der anfaengliche Anforderungen schrittweise in Designdiagramme, Vertraege und Implementierungskomponenten umwandelt. In der Wartungsphase werden alle Aenderungen als Aktualisierung der Diagramme und Vertraege formuliert, die sich letztendlich in der Implementierung wiederfinden. Diese iterative Vorgehensweise stellt sicher, dass alle Designmodelle mit der Implementierung konsistent sind und gewaehrleistet gut strukturierte Projekte und nachvollziehbare Aenderungen. Um den Einsatz von XGuide in echten Web Projekten zu unterstuetzen, entwickelten wir das XSuite Entwicklungswerkzeug. Das Ziel der XSuite IDE ist es, die Entwickler in allen Phasen des XGuide Prozessmodelles zu unterstuetzen. Grafische Designmodelle werden automatisch in Vertraege umgewandelt und Assistenten bieten Hilfe bei der Erstellung von neuen Seiten, beim Zusammensetzen von Vertraegen und bei der Installation der Webapplikation. XSuite setzt auf das generische Entwicklungsmodell von Eclipse auf und integriert eine Java IDE, ein System zur Versionskontrolle und einen Web Server in die eigentliche Web Entwicklungsumgebung. Die Umsetzbarkeit des XGuide Prozesses und die Anwendbarkeit des XSuite Softwarepaketes wird anhand der Implementierung der Webapplikation fuer die Wiener Festwochen 2003 demonstriert.