State of the Art in Enterprise Web Application Development
This work has been finished in June 2006.
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.