Tuesday, 31 July 2012

Oracle ADF is based on MVC architecture let's first understand about MVC architecture -

Model layer: Interact with data source and runs the business logic
View Layer: Handles the user interface
Controller Layer:Handles the application flow and acts like an interface between Model and View Layers

ADF further separates the model layer from business services,to enable the Service oriented development. So In ADF we have one more layer along with 3 layers which is "Business Services "Layer so
From Oracle developer's guide






In picture we see that we can use EJB, Web Services, JavaBeans, JPA/EclipseLink/TopLink objects and many others can be used as Business Services for the ADF Model Layer.

Business Services Layer


Business layer in ADF =  Java or EJB or ADF Business comp or XML or  Bpel Or BAM etc

This manages the interaction  with data persistence layer ,This can be implemented in  Java classes, EJB, Web services, JPA objects, and Oracle ADF Business Components,XML .

Model Layer:  


Model layer in ADF =  data controls + data bindings,

The model layer connects the business services to the objects that use them in the other layers. Oracle ADF provides a model layer implementation that sits on top of business services, providing a single interface that can be used to access any type of business service.

The model layer consists of two components, data controls and data bindings, which utilize metadata files to define the interface.

Data controls abstract the business service implementation details from 6
clients.

Data bindings expose data control methods and attributes to UI components, providing a clean separation of the view and model. Due to the metadata architecture of the model layer, developers get the same development experience when binding any type of Business Service layer implementation to the View and Controller layers.

Controller layer :

The controller layer manages the applications flow and handles user input.
There are two controller options for web-based applications in JDeveloper: the standard JSF controller or the ADF Controller which extends the JSF controller functionality. Whichever controller you use, you will typically design your application flow by laying out pages and navigation rules on a diagram.
With the ADF controller you can break your application's flow into smaller, reusable task flows; include non-visual components such as method calls and decision points in your flow; and create "page fragment" flows that run inside a region of a single containing page. This approach encourages maximum reusability for user interface fragments and simplified integration into portals and mashup applications.

The View Layer


The View layer represents the user interface of the application.
Oracle ADF support multi-channel access to your business services allowing you to reuse your business services and access them from a Web client, a client-server swing desktop based application, Microsoft Excel spreadsheets, or a mobile devices such as a smart-phone.
For Web based interface Oracle ADF offers a rich set of over a 150 Ajax enabled JSF components that simplified the creation of dynamic and appealing user interfaces





1 comments: