adf in action - getting (re)acquainted with oracle’s premier application development framework -...
DESCRIPTION
ADF is the strategic application development framework for Oracle, a core element in Fusion Middleware. ADF can be used to create large scale, enterprise applications. It can be used to create entirely license free applications. It can be used to create cloud applications and also applications that can be used from all kinds of mobile devices. This presentation provides an overview of ADF: what it consists of, what it can be used for, what it is better not used for, how does it compare to APEX and how well does it integrate with Oracle Database. What does it take to (learn how to) develop ADF applications is an important question that is addressed. The presentation features several demonstrations of the both the first HelloEmployees application as well as a number of advanced ADF mechanisms such as Data Visualization, Personalization and Security. If you have not recently - or ever at all - seen ADF in action, and application development does take place in your organization, this session is a valuable quick introduction and overview.TRANSCRIPT
![Page 1: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/1.jpg)
Lucas Jellema
OUGF Harmony 2014 – 4-5 June 2014 – Finland
ADF in action – getting (re)acquainted with Oracle’s premier application development framework
![Page 2: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/2.jpg)
Some first reactions…
Complex!!
Functionally rich.
Hard to style to pixel perfection
Really not the latest HTML 5 web site style
Powerful stuffAttractive,
with visualization
and that Simplified UI
Non standard, Oracle
proprietary (dixit Java developer)
Enterprise grade
Vast…
Productive Elegant development
Heavy (un-lean)
Shields developer from multi browser
nightmareNot for the faint hearted
![Page 3: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/3.jpg)
Overview
• From where to where• Developing Applications• Business Service
– From Middle Tier to Database– Demo
• User Interface– From Middle Tier to Browser– Demo
• Advanced features in the ADF Framework– Demo
• How to get started
![Page 4: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/4.jpg)
4
Origins
• ADF = Application Development Framework• Launch of ADF: 2004
– Birth of BC4J (now ADF BC): 1999– First incarnation of JDeveloper: 1998
• Oracle’s toolstack for developing enterprise applications– As such: the successor to Oracle Forms
![Page 5: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/5.jpg)
ADF == Advanced Dog Food
![Page 6: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/6.jpg)
6
ADF at Oracle
• ADF == Advanced Dog Food• ADF is used inside Oracle for development of
– Fusion Applications– Large parts of most Oracle Applications products– User interfaces in many other FMW products (GoldenGate, Enterprise Manager, OBI
EE, WebCenter, IdM)– User interfaces in Oracle Cloud services
• Over 10,000 developers within Oracle use ADF for their daily work• Oracle’s investment in and dependence on ADF is enormous
– ADF is strategic, long term
![Page 7: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/7.jpg)
Some user interfaces in Fusion Applications
![Page 8: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/8.jpg)
8
Simplified UI created with ADF
![Page 9: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/9.jpg)
9
Infographic-inspired, tablet-friendly, and interactive Analytics
![Page 10: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/10.jpg)
10
ADF outside Oracle
• Uptake around the world• Challenges
– Learning curve– Complexity– Availability of skilled resources– Scalability, performance and responsiveness at run time
• Typical Use Cases
![Page 11: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/11.jpg)
11
Use Cases for ADF
Fusion Apps
Extension
Public Web Site (no login)
Admin UI (DBA, App
Admin)
Pixel Perfect
application
ISV Product
Case of FMW
(SOA, BPM, …)
1000s concurrent
usersSelf
Service UI,
infrequent use
Forms to Future
Not very well suited Well suited
Simple survey app
(30 day campaign)
![Page 12: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/12.jpg)
12
Application Architecture
![Page 13: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/13.jpg)
ADF Model
RDBMS
EJB & JPA(EclipseLink)
ADF BC
WebService Content Repository
BAMServer
POJO
SOA Suite
Mobile ADF FacesRich Client
Web Service
Desktop (Excel)
View
Business Services
Enterprise Resources
![Page 14: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/14.jpg)
14
Business Service
• Adapt to and from Java and expose to UI tier• Main enterprise resource: Database• Various options: JPA, EJB, POJO with JDBC, POJO with WebService
calls• Most common in ADF applications: ADF BC
Business Service
![Page 15: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/15.jpg)
15
ADF BC
• Expose tables, views and custom SQL queries as Java Services• Declarative• Productive• Very similar to Forms blocks• Features
– Optimistic & pessimistic locking– Transaction Management– Pooling of database session connections– Caching of queried and manipulated data– Validation of data manipulations– Enrichment of data fetched from the database– Web session (state) management– Oracle SQL comes naturally (sequence, return after DML, joins, BLOBs, PL/SQL,..)– Master/detail coordination
ADF BC
![Page 16: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/16.jpg)
16
Demo
• HRService from tables in HR schema– Add custom SQL with salary aggregation per department– Add business rules
• Run the ADF BC Service Tester• Expose
HRService as a SOAP/XML Web Service
![Page 17: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/17.jpg)
17
Business Service: HRService
ADF BC
Departments
Employees
SalaryPerDepart
mentVW
DepartmentsVw EmployeesVw
EmployeeDepartmentEntity Objects
View Objects
![Page 18: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/18.jpg)
18
ADF Model
![Page 19: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/19.jpg)
19
ADF Model & Data Controls
• ADF Model exposes business services to UI developers in an abstracted way
• Each business service is exposed as a Data Control• Data Controls make available:
– Entity, attribute, operation, collection
• ADF Model supports Data Controls for– ADF BC– POJO (Plain Old Java Object) (JPA, EJB)– Web Service (SOAP and REST)– JMX– Custom Data Control (anything you want and implement yourself)
![Page 20: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/20.jpg)
20
Business Service: HRServiceExposes an ADF Model Data Control
ADF BC
DepartmentsEmployees
SalaryPerDepart
mentVW
DepartmentsVw EmployeesVw
EmployeeDepartment
![Page 21: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/21.jpg)
21
User Interface
• ADF supports various UI options:– Web Browser
• Desktop• Tablet
– Mobile • Mobile Browser (feature phone)• ADF Mobile (semi native)
– Excel (ADF Desktop Integration)
![Page 22: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/22.jpg)
22
Primary focus: ADF Faces for Web Browser desktop/tablet
• Run time technologies– Browser: HTML 5, JavaScript, CSS 3
– Server: WebLogic Server (Java, Java EE: JavaServer Faces, Servlet)
Or: ADF Essentials – run on JBoss, Tomcat, Glassfish (and MySQL or Oracle XE)
![Page 23: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/23.jpg)
23
ADF Faces and ADF Data Binding
• Data Binding connects UI components to Data Controls– Thereby breathing data into these components, making them come alive!
• Based on standards (JavaServer Faces)• Declarative• Productive (*• Rich functionality• Modular• Geared towards reuse• Enterprise scale development• Browser independence• Framework and embraces hides “raw” technology
– For example replacement of Flash with HTML 5
![Page 24: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/24.jpg)
24
Some characteristics of ADF Faces
• Rich data bound components (table, form, tree, input elements) declaratively bound to data controls with easy business service access
• AJAX (partial page refresh)• Skinning for consistent and attractive look and feel• Client side support for validation, calculation, drag & drop etc.• Customization and Personalization• Security through integration with WebLogic OPSS• Data Push• Fantastic set of Data Visualization components• Quick start followed by steep learning curve
– Specialization recommended for team members
• Resource intensive on the middle tier• Smooth experience as long as you work with the framework
– For example: forget pixel perfect designs
![Page 25: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/25.jpg)
25
Audience Challenge
![Page 26: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/26.jpg)
26
Audience Challenge – 1/2
![Page 27: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/27.jpg)
27
Audience Challenge – 2/2
![Page 28: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/28.jpg)
28
Data Visualization
![Page 29: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/29.jpg)
29
Demo (objective)
Departments Employ
ees
![Page 30: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/30.jpg)
30
To get started with ADF
• Download and install JDeveloper 12c (12.1.2)– Or Eclipse with Oracle Enterprise Package for Eclipse and stand alone WebLogic
• Build up skills– SQL, Java (SE), Java EE (Servlet, JavaServer Faces), HTML 5, CSS, JavaScript
• Leverage the many resources available online– OTN Community Forum– ADF Documentation– 100s of Blog articles & White Papers– ADF Demo Application (live and downloadable) – ADF Architecture TV (YouTube)– ADF Insider Tips– ADF Architecture Square– Oracle Magazine – ADF column – Plugins, Extensions, Tools– ADF EMG (Enterprise Methodology Group) – Google Group
• Just do it!
![Page 31: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/31.jpg)
31
Summary
• Oracle’s strategic application development solution– Taken the place Oracle Forms used to occupy
• Enterprise scale development of enterprise applications– As Oracle itself puts into practice
• High productivity through rich framework and declarative development– As long as you work with the framework (and accept its limitations)
• Developing end to end ADF applications requires many skills– Specialization is probably a good strategy
• The imminent 12.1.3 release continues a long history of evolution– No major upheaval – new features, ease of development, more tablet and more UX
• ADF Essentials makes free ADF development and deployment possible– ADF Essentials on [Glassfish | JBoss | Tomcat] against [MySQL | Oracle XE]
ADF
![Page 32: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony](https://reader035.vdocuments.mx/reader035/viewer/2022081519/555a77d9d8b42abb628b456d/html5/thumbnails/32.jpg)