Object-oriented application frameworks [Fayad & Schmidt 1997] (henceforth, application frameworks) are most typically semicomplete applications that offer a quick and easy means of generating an application. One example is the Microsoft Foundation Classes, an application framework that can be used to develop graphical user interface–based applications for the Microsoft Windows operating systems. Enterprise JavaBeans™ is also an application framework which “defines an architecture for the development and deployment of transactional, distributed object applications-based, serverside software components” [jGuru 2000]. Many other application frameworks exist in the public domain and in the commercial market. Let us illustrate the most relevant aspects of application frameworks in terms of the small Java RMI example modelled in the previous chapter.
Applications created using an application framework consist of two distinct parts:
Most application frameworks impose very specific constraints on the user-defined classes and their interactions with the prefabricated classes. Therefore, they are commonly accompanied by detailed examples and lengthy descriptions of these constraints.
For example, ...