About the MVC Design Pattern and Oracle ADF

The goal of the Model-View-Controller (MVC) architectural design pattern for J2EE application development is to clearly separate the application's functionality into a set of cooperating components.

Oracle ADF Model View Controller block diagram

Challenges for Vendors of J2EE IDEs

Application developers can achieve higher productivity when they create J2EE applications in an integrated development environment (IDE). When the IDE supports J2EE component development, one immediate benefit to the developer is simpler, and thus easier to maintain code for the view layer. For example, in the case of web pages, MVC (referred to as Model 2 for web applications) separates the view layer (JSP page, for example) from the controller layer (Struts action classes for page flow control). In this case, the IDE should permit web page designers to create functional, visually attractive web pages that are uncluttered by the code otherwise required to manage the page's flow control.

Additionally, the IDE must treat the distinct model, view, and controller layers as cooperating components or the advantages of separating application development roles is quickly offset by the need to communicate between the project's application developers. For example, changes made in the IDE to business services in the model layer, which are the source of the application's data, must be made readily available to the controller which pushes and pulls the data and the view which only presents the data.

Furthermore, the complexities of working with some of the technologies deployed in the distributed application must be addressed by the IDE. Otherwise, developers with little J2EE background may find these technologies counterproductive to their goal of achieving rapid application development. For example, implementing the model layer using the J2EE BluePrint for Enterprise JavaBeans can be difficult because this blueprint requires the developer to write code to manage web transactions and application state.

The Role of Oracle ADF for J2EE Applications

JDeveloper includes an integrated J2EE runtime framework known as Oracle Application Development Framework (Oracle ADF) . Oracle ADF increases the cooperation between the MVC layers both in the design time and the runtime and, importantly, eases the incorporation of complex business services into the application model layer.

Specifically, ADF provides these benefits to J2EE application development:

Overview of the Oracle ADF Technology Stack

Oracle ADF does not limit the standard enterprise technologies available to you. When you work with ADF, your application development team can quickly create an entire J2EE application with these supported components:

For the entire Sun Microsystems document describing interactive applications based on MVC, see this web page:


To learn how to partition the J2EE technology stack for your application, see:

About Oracle ADF Project Technologies


Copyright © 1997, 2004, Oracle. All rights reserved.