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.
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:
Provides a thin model layer that adapts diverse business services, thus permitting views to be created in a similar fashion, independent of their data source
Optionally, provides transaction control support to the model layer and permits web applications to scale better
Cooperates with the highly visual design tools in the JDeveloper IDE and enables an integrated view of the entire J2EE application project
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:
Model layer - A thin model layer that adapts and combines a full range of business services as desired, including Oracle ADF Business Components, Oracle TopLink mappings, JavaBeans, Enterprise JavaBeans, and web services.
Controller layer - For web applications, you can design page flows to run in the Jakarta Struts servlet controller. For Java client applications, controller functionality is provided by the UI components in the Swing toolkit and is therefore not addressed as a separate layer.
View layer - For web applications, you can design JSP pages, or you can work with Oracle ADF UIX, which provides its own set of XML-based UI components. For Java client applications, you will work with the standard Swing UI components to design Java forms and the Swing extension, Oracle ADF JClient.
For the entire Sun Microsystems document describing interactive applications based on MVC, see this web page:
http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/DEA2eTOC.html
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.