Oracle ADF is a framework, which means that much of its functionality is contained in a set of libraries. Specific applications may change or add to the functionality of the library classes, creating specific business components. Oracle ADF application modules are business components that represent particular application tasks. The application module provides a data model for the task by aggregating the view object and view link instances required for the task while also providing services that help the client accomplish the task. An application module can assist with tasks like updating customer information, creating a new order, and processing salary increases.
Because application modules are data model components, we always consider our clients’ data needs when defining them. When designing an application module we consider the following carefully:
- what task is our client going to perform with this application module?
- what data does it need to perform that task and which view object definitions provide this data?
- what sets of data should stand in master-detail relationships? – This allows us to design the application module efficiently, without retrieving and storing more data than necessary. Application modules can also contain service methods that perform complex operations on data. At HCL, we use Oracle ADF for development of business services, user interfaces and building components.
Oracle ADF Architecture
Oracle ADF is based on the Model-View-Controller (MVC) design pattern. Separating applications into these layers simplifies maintenance and reuse of components across applications. The independence of each layer from the other results in a loosely coupled Service Oriented Architecture (SOA). Oracle ADF implements MVC and further separates the model layer from the business services to enable service-oriented development of applications. Oracle ADF architecture is based on four layers:
- The Business Services layer – provides access to data from various sources and handles business logic
- The Model layer – provides an abstraction layer on top of the Business Services layer, enabling the View and Controller layers to work with different implementations of Business Services in a consistent way
- The Controller layer – provides a mechanism to control the flow of the Web application
- The View layer – provides the user interface of the application
Oracle ADF lets us choose the technology we prefer to use when implementing each of the layers. The glue that integrates the various components of J2EE applications and makes development so flexible is the Oracle ADF model layer. EJB, Web Services, Java Beans, and TopLink objects can all be used as Business Services for the Oracle ADF Model. View layers can include Swing applications as well as HTML interfaces using JSP and JavaServer Faces (JSF).
Standard Services Offered & Benefits
Business Development Service
Oracle ADF Business Components is a framework focused on creating objects, which implement the Business Services layer on top of a database, in a more declarative way. It provides out-of-the box services such as transaction management, resource pooling, locking, declarative validation rules, translation and object-relational mapping. Oracle ADF Business Components let us leverage the full power of SQL when building Java objects that access their databases. With built-in implementation of common J2EE design patterns in the framework, the performance and scalability of the application is assured.
User Interface Development
Visual and declarative development features of the View and Controller layers of an application are plentiful in Oracle Jdeveloper:
- A page flow modeler for both the standard JSF framework and the open-source Apache Jakarta Struts framework, providing visual page flow modeling using simple drag and drop of components onto the Struts or JSF diagram
- A visual editor for HTML, Swing, and Wireless based user interfaces, allowing WYSIWYG development for all types of components, including JSF
- Declarative development tools for adding components to the user interface, including a property inspector, extensible component palette, and data control palette
The visual and declarative development tools are synchronized in the Developer IDE so that the visual editor, property inspector, and modelers are synchronized with the source code at all times. Thus, we can choose our development style – drag and drop, declaratively define properties, or edit source code directly.
Unified Look & Feel experience
All legacy applications and standard applications built on J2EE compliant application servers and business services can be moved to a single user experience using ADF. All the Business Service Layers are bound to a common Controller and View Layer making the application look alike throughout the enterprise.
Enable migration to ADF from Forms and traditional technologies
Through its extensive knowledge and proven methodologies, HCL offers migration to ADF from traditional Forms based technologies. With a need to extend application life, meet business demands, avoid de-support of older and outdated technologies, and to create a standardized User Interface, HCL supports easy migration to ADF technologies.
Binding Business Services Components to the User Interface
Oracle Jdeveloper provides a very easy way to bind components from the Business Services layer to the Controller and View layers using an innovative implementation of the JSR-227 data control. The Data Control Palette provides a view into the Business Services layer. We can simply drag-and-drop data objects and bind them to their user interface implementation. The same mechanism enables an easy binding of controller actions to methods defined in the Business Services layer.