Reference Architectures and Patterns (WS 08/09)

Reference Architectures and Patterns

Large-scale industrial IT systems are complex. This is one reason why so many IT projects fail. IT systems do have an architecture and the quality of this architecture is crucial to the success of the IT project and the system itself.

Building architects rely on structural engineers who apply the rules of statics before a building is constructed.
In contrast in IT architecture, there aren't any rules of statics defined so far - Computer Science is a comparably young discipline.

However, enormously large IT systems are being built every day, more complex than the largest skyscrapers in the world. A number of such IT projects fail and some IT systems do crash. Nevertheless, many systems fulfil their requirements and work in stable and performant manner.

What is the secret behind those successful systems? They have a sound architecture. And even if we do not yet have something like rules of statics we can extract rules of thumbs, reference architectures and patterns from successful systems. This is what this lecture and the associated laboratory is about.

You will learn about IT architecture: design patterns and a reference architecture for business information systems that have been proven in industrial practice.


The lecture takes place weekly on Monday, 10:15 - 11:45 in D19/07. Structure of the lectures (download of slides of currrent and past lectures):

  1. Introduction
  2. A reference architecture for business information systems
  3. Application kernel
  4. Persistence and transaction
  5. Authorization
  6. Client architecture
  7. Exception handling
  8. Business Intelligence
  9. Systems integration
  10. Service-oriented architecture
  11. Design patterns
  12. Design for testability
  13. Questions & answers (please, prepare questions)
  14. Presentation of lab results



The lab takes place fortnightly on Monday, 12:00 - 15:45 in D19/07
In this lab, we will develop a Java application according to the reference architecture for business information systems.
Application domain: an information system for libaries. Librarians can manage the book stock and customers. Customers can search for books on-line and can borrow books. If borrowed books are overdue, the reminding process starts.
Technology: The application will be developed in Java. Details of the technical infrastructure used:

  • JDK 6
  • JEE and EJB 3
  • NetBeans IDE 6
  • Subversion configuration management






  1. Getting acquainted (to be performed before the first lab session)
  2. Entities and Entity Managers
  3. Use Cases
  4. Getting acquainted with client development (to be performed before the client lab session)
  5. Client
  6. Enhancements


Oral examination

There will be oral examinations on Monday Feb 2nd and Thursday Feb. 19th. Schedule.