ADF OAF Who Cares? You Do! Oracle Applications Framework / Application Development Framework - Which way do I go?
2 Introductions Who am I and why am I here? Audience: Development Management OAF Developers ADF Developers
Overview With the emergence and acceptance of the next generation Fusion technology middleware stack there is confusion between the technologies Oracle Applications Framework (OAF) and Oracle Application Development Framework (ADF) among Oracle developers especially for the people who are developing extensions for the Oracle E-Business Suite of Applications 11i/R12. Both frameworks are Oracle technologies for developing web based User Interface with Jdeveloper. We will review OAF and ADF help you decide which way to go. 3
4 OAF (Oracle Applications Framework) Oracle Applications Framework (OA Framework or OAF) is a proprietary framework developed by Oracle Corporation for application development within the Oracle E-Business Suite (EBS). The framework is also available to customers for personalizations, customizations and custom-application development. The OA Framework is a Model-view-controller (MVC) framework built using Java EE technologies.
5 OA Framework Benefits Declarative application development Rapid Development environment Consistent & compelling UI Personalizations framework Extensible and customizable
6 Technology Stack Components BC4J Business Components for Java (Model) UIX Java components for representing UI OA Extension - Build declarative UI for UIX Extension to Jdeveloper Metadata resides in database or XML files OA Framework The composite of all these technologies
The figure below represents the architecture of the Oracle Applications Framework. 7
8 Model - The Model is where the application implements its business logic. All the BC4J components in OAF comes under Model like AM (Application Module), VO (View Object), EO (Entity Object), VL (View Link) & AO (Association Object). View - The View is where the application implements its user interface, View means the UI (User Interface) that is visible to users. Controller - The controller is where the application handles user interaction and direct business flow. Controller is a simple java class file that contain method for initial page request and post back request.
Examples of OAF 9
10
11
12
13
14
15
16
17
18
19
Applications Development Framework
21 ADF (Application Development Framework) Oracle ADF is an end-to-end Java EE framework that simplifies application development by providing out-of-the-box infrastructure services and a visual and declarative development experience. The ADF framework is part of Oracle's award-winning JDeveloper 11g development environment. Oracle ADF provides infrastructure support as part of the framework, so that developers can concentrate on the actual application development. The integrated tool is very useful for rapid application development.
22 Oracle ADF implements the MVC design pattern. The ADF framework provides all the layers of this popular architecture (MVC) and provides solutions in the following areas: Object-Relational Mapping (ORM) Data persistence layer Reusable controller layer Rich user interface based on JSF technology Data binding mechanism with the UI layer Security features
Key Features of Oracle ADF Integrated development environment: Oracle ADF comes bundled with JDeveloper. So JDeveloper works as a perfect tool for ADF application development using visual and declarative approach. It minimizes the development effort. Vendor neutral: Oracle ADF is vendor neutral. The Oracle ADF runtime can be used with any J2EE compliant application server. Technology support: Oracle ADF provides different layers for J2EE application development. The layers can be developed using different technologies. So the Oracle ADF is also technology neutral. Composite end to end solution: Oracle ADF provides support for complete end to end development of J2EE application. So the developers can completely concentrate on the development work instead of the tool or technology selection. 23
Oracle ADF Architecture Oracle ADF has a separate model layer and business service layer to implement service oriented architecture. So we can define the Oracle ADF architecture as MVC model with a business service layer. Here are the four layers of ADF architecture: Business Service layer: This layer handles data from various sources and business logic. Model layer: This layer does not handle business logic directly; rather it provides an abstract layer on top of the business service layer. This particular design pattern helps the view and controller to work with various business service implementations. Controller layer: It controls the web application flow. View layer: It provides the user interface. 24
The figure below represents the core architecture of the Oracle ADF framework. Different layers and their interaction are shown as an example. The components in different layers can be changed per the application requirement. 25
Business Service Layer The business service layer is an additional component in the Oracle ADF framework. ADF provides the flexibility to implement this layer using any technology. Some of those technologies are illustrated in the diagram. This layer manages following tasks: - Interaction with data persistence layer Object-relational mapping Transaction management Business logic execution 26
Model Layer The model layer provides the single interface to connect to any business service. This model layer in the ADF architecture does not handle business logic itself, rather provides the abstraction on top of the business services. So the flexibility of implementing any business service is a great advantage with ADF. The model layer in ADF is also called 'ADF binding'. It has following components: - Data Controls: It provides abstraction on top of business service layers Data Bindings: It exposes data control methods to the UI layer. 27
Controller Layer The controller layer is responsible for handling application flow and user input. The navigation rules are defined on a diagram to manage application flow. Here are the two types of controllers used in webbased applications. JSF controller ADF controller ADF controller extends the functionality of JSF controllers. 28
29 View Layer The view layer is the front-end of an application. The front-end layer can be a desktop application, mobile application or web-based application. The multichannel support of the Oracle ADF framework is very useful for developing any type of application. Oracle ADF provides more than 150 Ajax-based, ready-made JSF components for creating dynamic web interfaces.
Oracle ADF Framework Benefits Following are some of the benefits of Oracle ADF: - Support for visual and declarative view and controller development Various options to build business service layers End-to-end solution for all the Java EE layers Technology and platform independence Metadata driven development Support for reusability and flexibility 30
31 Oracle ADF Essentials Oracle ADF Essentials is a free packaging of key technologies from the Oracle Application Development Framework that can be used to develop and deploy applications without licensing costs. Oracle ADF Essentials is provided with specific instruction and certification for deploying applications built with it on the open-source Glassfish server. The ADF Essentials license doesn t restrict deployment to a specific server.
32 Some of the key capabilities of Oracle ADF Essentials include: Ajax and HTML5 enabled UI components Reusable task-oriented controller layer Declarative binding of UI to business services Declarative relational database access layer
33 Functionality not included in Oracle ADF Essentials (Requires full version of Oracle ADF) Oracle ADF Mobile Oracle ADF Desktop Integration Oracle ADF Security Oracle ADF Web service data control Oracle ADF Remote task flows Oracle ADF Business Component s Service Interfaces Oracle ADF Data Controls for BI Integration with Oracle Fusion Middleware
Same version of JDeveloper is used to build both Oracle ADF Essentials applications as well as applications that leverage the full Oracle ADF. From a licensing perspective, there are no limitations on deploying on any Java EE server. www.eistech.com
Examples of using ADF 35
36
37
38
Now that we have the basics which way do I go?
40 Conclusion If you want to integrate your extensions tightly with the E-Business Suite, you should use the OAF Release 12 technology stack. If your application does not need to integrate with the E-Business Suite, or doesn t require any of the E-Business Suite-specific capabilities, you should use ADF 10g with SOA based integration with E- Business Suite. If you are building a stand-alone application that does not need to integrate with the E-Business Suite, and you need an AJAX-style rich client user interface, you should use ADF 11g. Source OAF vs ADF by Datadrug 4/23/13
More Information 41
More Information 42
More Information 43
ADF Integration & Development My Oracle Support note #563047.1 Using Oracle Application Framework (OAF) and Application Development Framework (ADF) My Oracle Support note #974949.1 Oracle E-Business Suite Software Development Kit for Java (Includes AppsDataSource, Java Authentication and authorization Service) Readme Patch 9863609 Oracle Magazine November/December 2013 The Next Big Wave Oracle ADF Mobile by Frank Nimphius Shay Shmeltzer To ADF or to OAF or Can I use ADF with Oracle E- Business Suite.. Blogs.Oracle.com/Shay Director of Product Management for Oracle Java Development Tools 44
Thank You! We appreciate your feedback and insight Sumit Dahiya sumit.dahiya@eistech.com