32
Lucas Jellema OUGF Harmony 2014 – 4-5 June 2014 – Finland ADF in action – getting (re)acquainted with Oracle’s premier application development framework

ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony

Embed Size (px)

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.

Citation preview

Page 1: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony

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

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

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

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

ADF == Advanced Dog Food

Page 6: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony

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

Some user interfaces in Fusion Applications

Page 8: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony

8

Simplified UI created with ADF

Page 9: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony

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

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

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

12

Application Architecture

Page 13: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony

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

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

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

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

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

18

ADF Model

Page 19: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony

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

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

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

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

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

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

25

Audience Challenge

Page 26: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony

26

Audience Challenge – 1/2

Page 27: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony

27

Audience Challenge – 2/2

Page 28: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony

28

Data Visualization

Page 29: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony

29

Demo (objective)

Departments Employ

ees

Page 30: ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony

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

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