[Back]


Diploma and Master Theses (authored and supervised):

M. Demolsky:
"State of the Art in Enterprise Web Application Development";
Supervisor: G. Kappel, G. Kramler; Institut für Softwaretechnik und Interaktive Systeme, 2006.



English abstract:
The software industry is a very dynamic market that forces software companies to react as fast as possible and to adjust their software products to the actual market requirements. To enable this, one of the most important factors of software development is the underlying architecture of the software and component reuse.

An enterprise application is very valuable for the enterprise. Enterprise applications usually involve persistent data and many people access data concurrently. There is also a rich set of graphical user interfaces to offer the users a convenient way to do their work. In addition, it is also necessary to intergrate other enterprise applications scattered around the enterprise.

With the rise of object-oriented thinking, frameworks became more popular and sprout out than never before. A framework is an approach of software reuse and enables developers to establish the software on an abstract layer. On the web there are a lot of frameworks for web development. Current frameworks include Java Server Faces, Struts, Spring, Hibernate, Cocoon, OpenLaszlo, JBPM, Maven and many others. Software developers recognize that due to the use of such frameworks most of the code in an application becomes declarative which enables software companies to react fast to new requirements in their software product.

To develop successfull framework-based applications, developers should know what frameworks are and how to deal with them. This is an important part, because the use of frameworks influences the underlying architecture of the application. It depends on the requirements of an application, which set of frameworks will be used. Hence you take a different set of frameworks for a server side application than for a rich internet application (RIA).

This diploma thesis gives an introduction to the world of frameworks related to enterprise web application development and how to use and combine them. Therefore, a couple of frameworks will be evaluated by studying their capabilities, each one pursuing different goals.

The diploma thesis is attended by a practical example which demonstrates the employment of the frameworks in an enterprise application, and explores their compatibility and practical usability. This practical example uses a set of frameworks to make the software components maintainable, re-useable, exensible, and configurable through declarative programming.

German abstract:
Damit entwickelte Softwareprodukte am heutigen Markt überleben können müssen die Softwarehersteller so schnell wie möglich auf die sich ändernden Marktbedingungen reagieren und ihre Produkte an die aktuellen Anforderungen anpassen. Spätestens zu diesem Zeitpunkt stellt sich heraus, ob die Software eine gut durchdachte Architektur hat oder nicht.

Für ein Unternehmen stellt eine Enterprise Applikation einen wesentlichen Wert dar und Ausfälle können fatale Folgen für das Unternehmen haben. Eine solche Anwendung wird unter anderem dazu verwendet um sensible Informationen, wie Kundendaten, persitent zu halten. Auf diese Daten greifen in einem Unternehmen viele Mitarbeiter oft gleichzeitig zu. Um die Arbeit für die User so komfortabel wie möglich zu gestalten existieren graphische Oberlfächen. Weiters muss eine Enterprise Applikation in der Lage sein, mit anderen Legacy Systemen zu kommunizieren.

Mit der Entstehung der Objektorientierung begann auch der Aufschwung der Frameworks die in der heutigen Zeit in einem großen Ausmaß und in unterschiedlichen Domänen vorhanden sind. Ein Framework ist ein Rahmenwerk welches dem Anwendungsentwickler die Möglichkeit bietet auf einer abstrakteren Ebene sein Programm zu entwickeln. Derzeit aktuelle Frameworks sind unter anderem Java Server Faces, Struts, Spring, Hibernate, Cocoon, OpenLaszlo, JBPM, Maven, welche in derzeitigen Projekten Verwendung finden. Erst in den letzten Jahren haben Entwickler entdeckt, dass durch den Einsatz solcher Frameworks der Großteil des Codes deklarativ ist, die Qualität des Produktes steigt und man dadurch schneller auf Anforderungsänderungen reagieren kann.

Erfolgreiche Projektumsetzungen mit diversen Frameworks setzen voraus, dass der Entwickler die Technologie beherrscht und wie diese sinnvoll eingesetzt wird. Ein Framework beeinflusst in gewissen Maße die zu grunde liegende Architektur einer Anwendung. Es hängt immer von den Anforderungen einer Applikation ab welche Kombination von Frameworks im System eingesetzt wird. So werden zum Beispiel für serverseitige Applikationen andere Frameworks eingesetzt wie für Rich Internet Applikationen (RIA). Diese Diplomarbeit vermittelt einen guten Überblick derzeit aktueller Frameworks, welche für Enterprise Applikationen geeignet sind und demonstriert weiters deren Zusammenspiel. Dafür werden einige Frameworks bezüglich ihrer Kapazitäten evaluiert. Die Arbeit wird weiters durch ein praktisches Beispiel begleitet welches den Realeinsatz diverser Frameworks demonstriert. Die Anwendung macht von einigen erklärten Frameworks Gebrauch um sicherzustellen dass die Softwarekomponenten wartbar, wiederverwendbar, erweiterbar,konfigurierbar und vor allem gut testbar sind.


Electronic version of the publication:
http://www.big.tuwien.ac.at/research/publications/diplomatheses/demolsky.pdf


Created from the Publication Database of the Vienna University of Technology.