| 1) | Presentation Layer |
| Used to provide a custom graphical user interface for the layers below. The developer can chose from a set of presentation adaptors, such as WebObjects or Openstep. Then he has to provide the hooks for the GUI components to interact with the ApplicationLayer. All the business logic is encapsulated on the layers below, so the developer concentrates on the graphical aspects and not on the business objects. | |
| 2) | Application Layer |
| Contains all the basic actions (methods) that compose an application. The GUI aspect is abstracted so that a custom GUI can be build quickly using the Presentation Layer. | |
| 3) | Model Object Layer |
| Will contain all the knowledge about the business objects that will be part of a concrete application. This layer is build using Rational Rose. Then the petal files are transformed into Objective-C classes by using custom made compilers. | |
| 4) | Persistence Layer |
| This layer adds custom extentions to the Apple's EOF2.x product. The EOModel files are generated automatically by custom compilers using the petal files produced by Rational Rose. | |
| 5) | Database Layer |
| This layer adds database management extentions to the Apple's EOF2.x product. |