SlideShare a Scribd company logo
1 of 32
Lucas Jellema
OUGF Harmony 2014 – 4-5 June 2014 – Finland
ADF in action – getting
(re)acquainted with Oracle’s premier
application development framework
Some first reactions…
Complex!!
Functionally
rich.
Hard to style to
pixel perfection
Really not the
latest HTML 5
web site style
Powerful stuff
Attractive,
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
nightmare
Not for the
faint hearted
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
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
ADF == Advanced Dog Food
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
Some user interfaces
in Fusion Applications
8
Simplified UI created with ADF
9
Infographic-inspired, tablet-
friendly, and interactive Analytics
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
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
users
Self
Service
UI,
infrequent
use
Forms to
Future
Not very well suited Well suited
Simple
survey app
(30 day
campaign)
12
Application Architecture
ADF Model
RDBMS
EJB & JPA
(EclipseLink)
ADF BC
WebService Content
Repository
BAM
Server
POJO
SOA
Suite
Mobile
ADF Faces
Rich Client
Web
Service
Desktop
(Excel)
View
Business Services
Enterprise Resources
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
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
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
17
Business Service: HRService
ADF BC
Depart
ments
Emplo
yees
SalaryPer
Depart
mentVW
DepartmentsVw EmployeesVw
EmployeeDepartmentEntity Objects
View Objects
18
ADF Model
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)
20
Business Service: HRService
Exposes an ADF Model Data Control
ADF BC
Departments
Employees
SalaryPer
Depart
mentVW
DepartmentsVw EmployeesVw
EmployeeDepartment
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)
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)
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
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
25
Audience Challenge
26
Audience Challenge – 1/2
27
Audience Challenge – 2/2
28
Data Visualization
29
Demo (objective)
Depart
ments Employ
ees
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!
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
ADF in Action - getting (re)acquainted with Oracle’s premier application development framework - OUGF 2014 Harmony

More Related Content

What's hot

Pretius Oracle Apex Primer
Pretius Oracle Apex PrimerPretius Oracle Apex Primer
Pretius Oracle Apex PrimerPretius
 
Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)
Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)
Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)Lucas Jellema
 
JSF On Rails - Devoxx 2008
JSF On Rails - Devoxx 2008JSF On Rails - Devoxx 2008
JSF On Rails - Devoxx 2008Lucas Jellema
 
ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)Wilfred van der Deijl
 
Implementing Data Caching and Data Synching Using Oracle MAF
Implementing Data Caching and Data Synching Using Oracle MAFImplementing Data Caching and Data Synching Using Oracle MAF
Implementing Data Caching and Data Synching Using Oracle MAFSteven Davelaar
 
ADF Development Survival Kit
ADF Development Survival KitADF Development Survival Kit
ADF Development Survival Kitandrejusb
 
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16Alfredo Abate
 
Zero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApExZero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApExBradley Brown
 
Forms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression PactForms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression Pactandrejusb
 
Oracle apex training | Oracle Application Application Express Training | Ora...
Oracle apex training | Oracle Application Application Express Training |  Ora...Oracle apex training | Oracle Application Application Express Training |  Ora...
Oracle apex training | Oracle Application Application Express Training | Ora...Nancy Thomas
 
Application express
Application expressApplication express
Application expressAntony Alex
 
Oracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slidesOracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slidesYogesh Sharma
 
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADF
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADFDont Reinvent the Wheel: Tips and Tricks for reuse in ADF
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADFLuc Bors
 
Build your Business Services using ADF Task Flows
Build your Business Services using ADF Task FlowsBuild your Business Services using ADF Task Flows
Build your Business Services using ADF Task FlowsDataNext Solutions
 
ADF Mobile: 10 Things you don't get from the developers guide
ADF Mobile: 10 Things you don't get from the developers guideADF Mobile: 10 Things you don't get from the developers guide
ADF Mobile: 10 Things you don't get from the developers guideLuc Bors
 
Oracle JET and WebSocket
Oracle JET and WebSocketOracle JET and WebSocket
Oracle JET and WebSocketandrejusb
 
SAP BO and Teradata best practices
SAP BO and Teradata best practicesSAP BO and Teradata best practices
SAP BO and Teradata best practicesDmitry Anoshin
 

What's hot (20)

Pretius Oracle Apex Primer
Pretius Oracle Apex PrimerPretius Oracle Apex Primer
Pretius Oracle Apex Primer
 
Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)
Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)
Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)
 
JSF On Rails - Devoxx 2008
JSF On Rails - Devoxx 2008JSF On Rails - Devoxx 2008
JSF On Rails - Devoxx 2008
 
ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)
 
Implementing Data Caching and Data Synching Using Oracle MAF
Implementing Data Caching and Data Synching Using Oracle MAFImplementing Data Caching and Data Synching Using Oracle MAF
Implementing Data Caching and Data Synching Using Oracle MAF
 
ADF Development Survival Kit
ADF Development Survival KitADF Development Survival Kit
ADF Development Survival Kit
 
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
 
Web Development In Oracle APEX
Web Development In Oracle APEXWeb Development In Oracle APEX
Web Development In Oracle APEX
 
Zero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApExZero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApEx
 
Forms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression PactForms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression Pact
 
Oracle apex training | Oracle Application Application Express Training | Ora...
Oracle apex training | Oracle Application Application Express Training |  Ora...Oracle apex training | Oracle Application Application Express Training |  Ora...
Oracle apex training | Oracle Application Application Express Training | Ora...
 
Application express
Application expressApplication express
Application express
 
Oracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slidesOracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slides
 
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADF
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADFDont Reinvent the Wheel: Tips and Tricks for reuse in ADF
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADF
 
SAP Business Objects Trianing
SAP Business Objects TrianingSAP Business Objects Trianing
SAP Business Objects Trianing
 
Build your Business Services using ADF Task Flows
Build your Business Services using ADF Task FlowsBuild your Business Services using ADF Task Flows
Build your Business Services using ADF Task Flows
 
An AMIS overview of database 12c
An AMIS overview of database 12cAn AMIS overview of database 12c
An AMIS overview of database 12c
 
ADF Mobile: 10 Things you don't get from the developers guide
ADF Mobile: 10 Things you don't get from the developers guideADF Mobile: 10 Things you don't get from the developers guide
ADF Mobile: 10 Things you don't get from the developers guide
 
Oracle JET and WebSocket
Oracle JET and WebSocketOracle JET and WebSocket
Oracle JET and WebSocket
 
SAP BO and Teradata best practices
SAP BO and Teradata best practicesSAP BO and Teradata best practices
SAP BO and Teradata best practices
 

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

Comparison between OAF & ADF.pptx
Comparison between OAF & ADF.pptxComparison between OAF & ADF.pptx
Comparison between OAF & ADF.pptxssuserb8935e
 
11g boot camp weblogic and adf
11g boot camp weblogic and adf11g boot camp weblogic and adf
11g boot camp weblogic and adfChad Thompson
 
ADF Essentials (KScope14)
ADF Essentials (KScope14)ADF Essentials (KScope14)
ADF Essentials (KScope14)Luc Bors
 
Raju_Datla_Resume
Raju_Datla_ResumeRaju_Datla_Resume
Raju_Datla_ResumeVEERA DATLA
 
Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Lucas Jellema
 
The Future of Forms... is Forms (and Friends)
The Future of Forms... is Forms (and Friends)The Future of Forms... is Forms (and Friends)
The Future of Forms... is Forms (and Friends)Lucas Jellema
 
Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Jaime Cid
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersJithin Kuriakose
 
SOA 11g Foundation - G - ADF Development.ppt
SOA 11g Foundation - G - ADF Development.pptSOA 11g Foundation - G - ADF Development.ppt
SOA 11g Foundation - G - ADF Development.pptSudhirSinghShakyaVan
 
ADF Value Proposition in 10 key points
ADF Value Proposition in 10 key pointsADF Value Proposition in 10 key points
ADF Value Proposition in 10 key pointsJaime Cid
 
Greate Introduction to Oracle Fusion Middleware and ADF
Greate Introduction to Oracle Fusion Middleware and ADFGreate Introduction to Oracle Fusion Middleware and ADF
Greate Introduction to Oracle Fusion Middleware and ADFMohamed Shahpoup
 
Oracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool ChoiceOracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool ChoiceSten Vesterli
 
Introducing Oracle Fusion Middleware 12.1.3 and especially SOA Suite and BPM ...
Introducing Oracle Fusion Middleware 12.1.3 and especially SOA Suite and BPM ...Introducing Oracle Fusion Middleware 12.1.3 and especially SOA Suite and BPM ...
Introducing Oracle Fusion Middleware 12.1.3 and especially SOA Suite and BPM ...Lucas Jellema
 
Oracle iAS Forms to WebLogic Suite for Alesco
Oracle iAS Forms to WebLogic Suite for AlescoOracle iAS Forms to WebLogic Suite for Alesco
Oracle iAS Forms to WebLogic Suite for AlescoFumiko Yamashita
 

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

Comparison between OAF & ADF.pptx
Comparison between OAF & ADF.pptxComparison between OAF & ADF.pptx
Comparison between OAF & ADF.pptx
 
11g boot camp weblogic and adf
11g boot camp weblogic and adf11g boot camp weblogic and adf
11g boot camp weblogic and adf
 
ADF Essentials (KScope14)
ADF Essentials (KScope14)ADF Essentials (KScope14)
ADF Essentials (KScope14)
 
Raju_Datla_Resume
Raju_Datla_ResumeRaju_Datla_Resume
Raju_Datla_Resume
 
Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008
 
OAF & ADF.pptx
OAF & ADF.pptxOAF & ADF.pptx
OAF & ADF.pptx
 
OOW 2012 Future of Forms - Lucas Jellema
OOW 2012 Future of Forms - Lucas JellemaOOW 2012 Future of Forms - Lucas Jellema
OOW 2012 Future of Forms - Lucas Jellema
 
The Future of Forms... is Forms (and Friends)
The Future of Forms... is Forms (and Friends)The Future of Forms... is Forms (and Friends)
The Future of Forms... is Forms (and Friends)
 
Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for Beginners
 
SOA 11g Foundation - G - ADF Development.ppt
SOA 11g Foundation - G - ADF Development.pptSOA 11g Foundation - G - ADF Development.ppt
SOA 11g Foundation - G - ADF Development.ppt
 
ADF Value Proposition in 10 key points
ADF Value Proposition in 10 key pointsADF Value Proposition in 10 key points
ADF Value Proposition in 10 key points
 
Wael Abdeen Resume
Wael Abdeen ResumeWael Abdeen Resume
Wael Abdeen Resume
 
Greate Introduction to Oracle Fusion Middleware and ADF
Greate Introduction to Oracle Fusion Middleware and ADFGreate Introduction to Oracle Fusion Middleware and ADF
Greate Introduction to Oracle Fusion Middleware and ADF
 
Adf mobile overview
Adf mobile overviewAdf mobile overview
Adf mobile overview
 
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas JellemaAMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
 
Oracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool ChoiceOracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool Choice
 
Introducing Oracle Fusion Middleware 12.1.3 and especially SOA Suite and BPM ...
Introducing Oracle Fusion Middleware 12.1.3 and especially SOA Suite and BPM ...Introducing Oracle Fusion Middleware 12.1.3 and especially SOA Suite and BPM ...
Introducing Oracle Fusion Middleware 12.1.3 and especially SOA Suite and BPM ...
 
SOA_BPM_12c_launch_event__overview_lucasjellema_17july2014
SOA_BPM_12c_launch_event__overview_lucasjellema_17july2014SOA_BPM_12c_launch_event__overview_lucasjellema_17july2014
SOA_BPM_12c_launch_event__overview_lucasjellema_17july2014
 
Oracle iAS Forms to WebLogic Suite for Alesco
Oracle iAS Forms to WebLogic Suite for AlescoOracle iAS Forms to WebLogic Suite for Alesco
Oracle iAS Forms to WebLogic Suite for Alesco
 

More from Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Lucas Jellema
 

More from Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 

Recently uploaded

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 

Recently uploaded (20)

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 

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

  • 1. Lucas Jellema OUGF Harmony 2014 – 4-5 June 2014 – Finland ADF in action – getting (re)acquainted with Oracle’s premier application development framework
  • 2. Some first reactions… Complex!! Functionally rich. Hard to style to pixel perfection Really not the latest HTML 5 web site style Powerful stuff Attractive, 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 nightmare Not for the faint hearted
  • 3. 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
  • 4. 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
  • 5. ADF == Advanced Dog Food
  • 6. 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
  • 7. Some user interfaces in Fusion Applications
  • 10. 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
  • 11. 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 users Self Service UI, infrequent use Forms to Future Not very well suited Well suited Simple survey app (30 day campaign)
  • 13. ADF Model RDBMS EJB & JPA (EclipseLink) ADF BC WebService Content Repository BAM Server POJO SOA Suite Mobile ADF Faces Rich Client Web Service Desktop (Excel) View Business Services Enterprise Resources
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 17 Business Service: HRService ADF BC Depart ments Emplo yees SalaryPer Depart mentVW DepartmentsVw EmployeesVw EmployeeDepartmentEntity Objects View Objects
  • 19. 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)
  • 20. 20 Business Service: HRService Exposes an ADF Model Data Control ADF BC Departments Employees SalaryPer Depart mentVW DepartmentsVw EmployeesVw EmployeeDepartment
  • 21. 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)
  • 22. 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)
  • 23. 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
  • 24. 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
  • 30. 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!
  • 31. 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

Editor's Notes

  1. 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 session provides an overview of ADF: what is consists of, what it can be used for, what it is better not be used for, how does it compare to APEX and well does it integrate with Oracle Database. What does it take to (learn how to) develop ADF applications is in 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.
  2. http://www.oracle.com/technetwork/developer-tools/jdev/jdev-history-099970.html