0% found this document useful (0 votes)
49 views19 pages

Oracle'S Application Development Framework (Adf) en Jheadstart

This document discusses Oracle Application Development Framework (ADF) and JHeadstart. It provides an overview of ADF, including its core data binding framework. It also describes JHeadstart as a toolset for declarative application development that can generate views and controllers. The document compares ADF and JHeadstart, discussing their roles in model-view-controller architecture and how ADF's binding framework abstracts different data sources through adapter classes. It concludes with an agenda for a workshop on ADF and JHeadstart.

Uploaded by

Uday Kiran
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views19 pages

Oracle'S Application Development Framework (Adf) en Jheadstart

This document discusses Oracle Application Development Framework (ADF) and JHeadstart. It provides an overview of ADF, including its core data binding framework. It also describes JHeadstart as a toolset for declarative application development that can generate views and controllers. The document compares ADF and JHeadstart, discussing their roles in model-view-controller architecture and how ADF's binding framework abstracts different data sources through adapter classes. It concludes with an agenda for a workshop on ADF and JHeadstart.

Uploaded by

Uday Kiran
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 19

1

AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken


Oracles Application Development
Framework (ADF) en JHeadstart
Tijd om de balans op te maken
Sandra Muller en Peter Ebell (Oracle) en Lucas
Jellema (AMIS)

AMIS Query, Donderdag 26 mei 2005




2
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
Agenda
Welkom en introductie
Inleiding ADF Binding Framework
ADF en WebServices
ADF UIX Customizing the Look & Feel through
Skins
ADF en JHeadstart status en toekomst
Diner (18.00 uur)
Workshop (tot 20.30?)




3
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
Oracle Application Development Framework
Preview Fall 2003
Production Spring 2004
ADF label on JClient, UIX
and BC4J
Core of ADF (JSR 227):
DataBinding Framework
Valuable facilities:
LifeCycle support in Struts and JClient
Integration with IDE:
Easy registration of DataControls
Drag and drop DataControlBinding and UI generation




4
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
JHeadstart
Toolset for Declarative Application Development
Started life in 2001 within Oracle Consultancy
Late 2004: 10.1.2 release support for ADF
Generation of View and Controller based on Model and
XML-based application definition
Oracle 9iAS MVC Framework and Struts
JSP and UIX
BC4J (ADF BC) and Toplink (only in 9.0.5.x release)
Support for generation from Oracle Designer
Run-time libraries
Struts enhancements; for example Multi Record DML, messages
Client Side: calendar window, no changes to commit
Before ADF: data binding between VC and M




5
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
JHeadstart
Next (Patch) Release end of June
Fixes and New features!

Only available through Supplement Option
NOT on OTN

Do not take the software with you!




6
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
Model-View-Controller
View
Controller
Model
Business Service Business Service Business Service
ADF BC op Oracle
RDBMS
POJO
TopLink op MySQL
Spring Framework
WebService op BPEL
HTML JSP or UIX (WebApp)
GUI Swing (Java Client)
SOAP/ XML (WebService)
PDF, Excel, Email (Java App)

Context
Query Data
Manipulate Data (update, insert, delete)
Invoke methods: calculations, validations,

Business Service
Request
Event
Call/Invocation




7
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
MVC and Role Separation
Model is View-unaware
Model provides services, regardless of who will use
them
View is Model-unaware
View receives data (POJO) to make use of without
knowing where the data originates from
Controller is Model-implementation unaware
Controller invokes Model services without needing to
know the specific technical implementation




8
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
ADF Binding Framework
Model provides DataControls that implement generic
interfaces
Attribute
getValue, setValue
Collection
First, Last, Next, Previous, Next Set, Previous Set
Method
setParameters, Invoke (doIt), getResult
Business Service
Operations: Commit, Rollback
ADF contains AdapterClasses that implement the
DataControl interfaces for different technologies
Some or more equal than others
For example: ADF BC ViewObject wrapped to implement a Set-
style DataControl




9
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
ADF Binding Framework
Registering DataControls for a Business Service
Model
Business Service Business Service - POJO
ADF BC op Oracle
RDBMS
HrmService Employee
HrmService employees raiseSalaries name job




10
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
Applications register DataControl Bindings
Applications are consumers of DataControls
Application components register Usage of
DataControls (aka DataControl Bindings)
In the UI Model (aka Binding Container)
A bit similar to Oracle Designers Module Component
with table-usages and column-usages
Depending on Application Technology, we will
have one UI Model per
Struts Action (== JSP or UIX page)
JClient Frame
Java Class




11
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
ADF Binding Framework - Registering
DataControl Usages Creating UI Model
Model
HrmService employees raiseSalaries name job
Struts + JSP
JClient
(Swing GUI)
SimpleClient
(Java program)




12
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
ADF Binding Framework - Registering
DataControl Usages Creating UI Model
Model
HrmService employees raiseSalaries name job




13
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
Demo Register DataControls and Build UI
Models
ADF Business Components HrmService
ViewObject employees based on Table scott.EMP
Method raiseSalaries()
Struts + JSP WebApplication
DataControl Usage = ControlBinding (iterator binding)
for employees as Read Only Table
DataControl Usage = ControlBinding (action binding)
for raiseSalaries as button
And Method Result as display text
Simple Client Java Application
Iterator Binding employees + Action Binding
raiseSalaries




14
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
Switching Business Services
The application accesses generic DataControl
Binding interfaces
It is unaware of the business service or the actual
implementation
The application only needs:
Name of DataControl
Type of DataControl (Attribute, Collection, Action)
If an alternative Business Service provides the
same set of Data Controls
Same name, same type
Then the application should without any
change be able to run with the alternative service




15
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
Alternative set of HrmService DataControls
based on ADF BC Business Service
Model
Business Service ADF Business Components
HrmService
Business Service - POJO
HrmService Employee
employees raiseSalaries name job
Application Module
HrmService
ViewObject
Employee




16
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
Applications running against an alternative
Business Service same set of DataControls
Model
HrmService employees raiseSalaries name job
Business Service ADF Business Components
Application Module
HrmService
ViewObject
Employee



AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken




17
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
Demo Switch Business Service
Introduce alternative HrmService, POJO based
public Collection getEmployees()
beanClass = nl.amis.hrm.Employee
public Double raiseSalaries()
Publish DataControls for POJO HrmService
Struts + JSP WebApp
Update UIModel
Base employees Iterator on POJO HrmService
Base raiseSalaries ActionBinding on POJO HrmService
Simple Client
JClient application




18
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
Questions
How will ADF Faces and ADF Binding
Framework work together?
What will happen with JSR-227
Will there be development of more (advanced)
DataControl Adapter classes
For Hibernate, Spring Framework, TopLink
Will there be ADF Binding Framework (JSR-227)
plugins for Eclipse?
Will the IDE be enhanced in 10.1.3?
What is the take-up in the market for ADF?




19
AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
Discussion and Conclusion
ADF Binding Framework effectively decouples Model from
View & Controller
Allowing for clear roles in development projects
ADF allows for quick first steps in application
development, while respecting MVC
The typical next steps are still quite complex
Especially for non-J2EE Web Developers
ADF can only be used with JDeveloper 10g
ADF is somewhat sparse for non-BC services
Even support for Oracle TopLink is limited
Integration between ADF and UIX is not always optimal
ADF is part of the strategical tool-stack for Oracle Apps

You might also like