SAGE Computing ServicesCustomised Oracle Training Workshops and Consulting
A Path to the Future for Dinosaur Nerds -
A Jdeveloper ADF mind map for Forms developers
Penny Cookson
SAGE Computing ServicesCustomised Oracle Training Workshops and Consulting
Penny Cookson
Managing Director and Principal Consultant
Working with Oracle products since 1987
Oracle Magazine Educator of the Year 2004
So What Should we be Doing?
cldandsnray_lg_nwm.swf
Some of the Biggest New Projectswill be Forms Modernisation
and its not so different
An Approach
Install (and unfortunately pay for) WebLogic Server
Migrate your Forms/Reports to 11g
Start adding new functionality/add ons in Jdeveloper ADF
Aim for Forms and ADF to co-exist
Technologies
JSP
Struts
Java Classes(POJO)
WebServices
View
Controller
ADF Model
Business Services
JSF
Mobile
ADF Swing
Swing
Trinidad
JSF
EJB3 & JPA(EclipseLink)
ADF Business Components
ADF Bindings
ADF Faces RC
ADF (JSF) Controller
Approach
Build the Pages
Build the Page Flow
Build the Business Components
Design and build the Database
Alternative Approach
Build the Page Flow
Build the Pages
Build the Business Components
Design and build the Database
Demo Business Components
How Does it Work Model Layer
EventsOrganisations Bookings
OrganisationsVO Bookings VOEvents VO
SELECTSELECT SELECT
OrganisationsEO Bookings EOEvents EO
INSERTUPDATEDELETELOCK
INSERTUPDATEDELETELOCK
INSERTUPDATEDELETELOCK
BookingService (Application Module )COMMITROLLBACK
EventsOrganisations Bookings
InsertRows(p_table_name in varchar2,p_new_rec_array in pTabType)
Generic PL/SQL Package
LockRows(p_table_name in varchar2,p_key_array_in pKeyTabType)
UpdateRows(p_table_name in varchar2,p_new_rec_array in pTabType)
DeleteRows(p_table_name in varchar2,p_key_array_in pKeyTabType)
A Pure PL/SQL Approach
EventsOrganisations Bookings
ADF Business Components Java Classes
XML Files hold the properties
Creates an instance of EntityCache for each user to point to the bookings records they are working with
oracle.jbo.server.EntityCache
Creates an instance of EntityImplfor each Bookings record for each user
oracle.jbo.server.EntityImpl
Reads the XML files
oracle.jbo.server.EntityDefImpl
Why Do We Care?
Because we can Extend and Override them
Demo Code in ADF BC
Demo ADF Faces Rich Client
How Does it Work View
Model
Handle the interaction between the page and the model
Binding Classes
How Does it Work View
Model
Handle the interaction between the page and the model
Binding Classes
oracle.jbo.uicli.binding.JUCtrlValueBinding
oracle.adf.uicli.binding.JUIteratorBinding
oracle.adf.model.binding.DCBindingContainer
oracle.adf.model.BindingContext
oracle.adf.model.binding.DCDataControl
oracle.adfinternal.view.faces.model.binding. FacesCtrlActionBinding
We can access the Binding classes to perform View/Controller level coding
Controller
Controller
SAGE Computing ServicesCustomised Oracle Training Workshops and Consulting
Questions?
Next Sage Jdeveloper Training Workshop 31st Jan 4th Feb
Presentations are available from our website:http://www.sagecomputing.com.au
[email protected]@sagecomputing.com.au
Slide Number 1Slide Number 2Slide Number 3Slide Number 4So What Should we be Doing?Slide Number 6Slide Number 7Slide Number 8Slide Number 9Slide Number 10TechnologiesApproachAlternative ApproachDemo Business ComponentsSlide Number 15How Does it Work Model LayerSlide Number 17A Pure PL/SQL ApproachADF Business Components Java ClassesWhy Do We Care?Slide Number 21Slide Number 22Demo Code in ADF BCDemo ADF Faces Rich ClientHow Does it Work View How Does it Work View We can access the Binding classes to perform View/Controller level codingControllerControllerSlide Number 29Slide Number 30Slide Number 31