of 32
7/31/2019 Jdev Forms
1/32
www.sagecomputing.com.auwww.sagecomputing.com.au
Old Forms developers neverOld Forms developers never
die, they just switch todie, they just switch toJDeveloperJDeveloper
((JDeveloper ADF Faces forJDeveloper ADF Faces forOracle Dinosaurs)Oracle Dinosaurs)
SAGE Computing ServicesSAGE Computing ServicesCustomised Oracle Training WorkshopsCustomised Oracle Training Workshops
and Consultingand Consultingwww.sagecomputing.com.auwww.sagecomputing.com.au
Penny Cookson - Managing Director
Ray Tindall Senior Consultant
Chris Muir Senior Consultant
7/31/2019 Jdev Forms
2/32
www.sagecomputing.com.auwww.sagecomputing.com.au
HistoryHistoryForms JDEV
Mar 1998 Initial version
Apr 1999 Early release of the BC4Jframework
Nov 1999 Full release of the BC4J framework
May 2002 New IDE shell released, with bettersupport for JSPs
UIX and modelling tools provided
Mar 2004 Upgraded to use JDK 1.4
Apr 2004 ADF framework included
BC4J becomes ADF businesscomponents
More modellers and visual editing
tools added
End 2005 ADF Faces support
1985 Forms 1 answer the INPquestions
1987 Forms 2 with a Characterbased interface
1990 Forms 3 with PL/SQL
1993 Forms 4.0 - Least said thebetter
1995 Forms 4.5 GUI version
1998 Forms 5 + browser version
2006 Not much change sinceForms 5
7/31/2019 Jdev Forms
3/32
www.sagecomputing.com.auwww.sagecomputing.com.au
OracleOracle JDevJDev QuotesQuotes
A stranger is a friendyou have yet to meet
an axe murderer
7/31/2019 Jdev Forms
4/32www.sagecomputing.com.auwww.sagecomputing.com.au
FeaturesFeatures
Code Editors for editing Java, XML, PLSQL and other source code, withfeatures such as syntax highlighting, code templates, standardreformatting etc.
UI Design Editors WYSIWYG design editors for developing user interfaces,including Swing, and web page technologies such as JSF, JSPand HTML
Diagrammer for modelling Java classes, ADF Business Components, Javasequence diagrams, UML and Use Case diagrams.
Database Development for modelling and editing connected databases, as well asproviding database connection information for your Javaapplications.
Wizards a large set of wizards to simplify the development process.
Debugger a comprehensive debugger, including support for conditionalbreakpoints
Code Profiling to profile the memory and CPU usage of your code.
Refactoring support for refactoring code with the ability to change code
names and all references to the codeIntegrated Change Control integration with CVS change control repository.
7/31/2019 Jdev Forms
5/32www.sagecomputing.com.auwww.sagecomputing.com.au
ModelModel ViewView -- ControllerController
Modelrepresents persistent business data
coupled with business logic
Viewuser interface (UI) representation of
dynamic models content
Controllerresponds to UI events executed by the user
communicates to the model layer
controls page flow.
Presentationlayer
7/31/2019 Jdev Forms
6/32www.sagecomputing.com.auwww.sagecomputing.com.au
Where ADF Faces FitsWhere ADF Faces Fits
ADF BCView
Objects
ADF BCView
Objects
JSPJSP
StrutsStruts
JavaClasses
JavaClasses
ADF BusinessComponentsApplication
Module
ADF BusinessComponentsApplication
Module
WebServices
WebServices
JDBCJDBC TopLinkQueries
TopLinkQueries
Java
Classes
Java
Classes ADF BCEntity
Objects
ADF BCEntity
ObjectsTopLink MappingTopLink Mapping
EJB SessionBeans
EJB SessionBeans
ADF BindingsADF Bindings
EJBFinders
EJBFinders
EJB
EntityBeans
EJBEntityBeans
Business ServiceObjects
Data Access
PersistentBusiness Objects
View
Controller
ADF Model
Business Services
Web/Wireless
JSFJSF
Rich Client
UIXUIX
ADF SwingADF Swing
SwingSwing
ADF FacesADF Faces
JSFJSF
7/31/2019 Jdev Forms
7/32www.sagecomputing.com.auwww.sagecomputing.com.au
Model/Business ServicesModel/Business ServicesJDeveloper ADF Oracle Forms
ADF Business ComponentsADF Business Components
Data ModelData Model
ApplicationModules
ApplicationModules
View ObjectsView Objects View LinkView Link
Business DomainBusiness Domain
EntityObjects
EntityObjects
EOAssociations
EOAssociations
DomainsDomains
Constraints
Forms Block
Database Procedure mapsforms items to databaseobjects
Forms block SQLmapped directly todatabase table
Data source and targetDatabase properties of block
Forms records in memory waiting to becommitted + DML trigger code
Constraints
7/31/2019 Jdev Forms
8/32www.sagecomputing.com.auwww.sagecomputing.com.au
Model View ControllerModel View ControllerJDeveloper ADF Oracle Forms
Forms Block
Data source and targetDatabase properties of block
Forms records in memory waiting to becommitted + DML trigger code
Java UI Renderer
PL/SQL NavigationLogic
Display propertiesADF Bindings
Controller JSF
View - ADF Faces / ADF Swing
ADF Business ComponentsADF Business Components
Data ModelData Model
ApplicationModules
ApplicationModules
View ObjectsView Objects View LinkView Link
Business DomainBusiness Domain
EntityObjectsEntity
ObjectsEO
AssociationsEO
AssociationsDomainsDomains
Database
Database
7/31/2019 Jdev Forms
9/32www.sagecomputing.com.auwww.sagecomputing.com.au
ApproachesApproaches
Database developers Web developers
1. Develop a database schema.
2. In JDeveloper create an
application workspace.3. Create business services and
model layer using for exampleADF Business Components.
4. Implement view and controllerlayers using for example ADFFaces.
5. Test, debug and deploy theapplication.
1. Create an application workspace.
2. In the ADF Faces web-page
diagrammer, define your web pagesand page flow.
3. Create business services and themodel layer to support the view
layer.4. Generate database schema objects
based on the model layer.
5. Test, debug and deploy theapplication.
7/31/2019 Jdev Forms
10/32www.sagecomputing.com.auwww.sagecomputing.com.au
ADF Business ComponentsADF Business Components
No UI specific elements
No application flowMap to data
Handle persistence
Hooks for business rulesUI exposed objects data model
Application modules
View objects
View links
Business domainEntity objects generally 1 to 1 with table
EO associationsDomains
7/31/2019 Jdev Forms
11/32www.sagecomputing.com.auwww.sagecomputing.com.au
Creating Entity ObjectsCreating Entity Objects
7/31/2019 Jdev Forms
12/32
www.sagecomputing.com.auwww.sagecomputing.com.au
OO?OO?
OrganisationsEntity Object
OrganisationsTable
ADF Business Components 1 to 1 with table
You could use EJB or Toplink insteadFuture version will allow ADF Businesscomponents based on Toplink data mapping?
7/31/2019 Jdev Forms
13/32
www.sagecomputing.com.auwww.sagecomputing.com.au
Entity Objects / View ObjectsEntity Objects / View Objects
Think of a Form with
A From clause query as its sourceA procedure/table as its data target
OrganisationsView Object
Organisations Table
OrganisationsEntity Object
SQL
OrganisationsData Source
Organisations Table
OrganisationsData Target
SQL
7/31/2019 Jdev Forms
14/32
www.sagecomputing.com.auwww.sagecomputing.com.au
Entity ObjectEntity Object
XML has dataXML has datadefinitionsdefinitions
7/31/2019 Jdev Forms
15/32
www.sagecomputing.com.auwww.sagecomputing.com.au
View ObjectView Object
XML has SQLXML has SQLdefinitiondefinition
7/31/2019 Jdev Forms
16/32
www.sagecomputing.com.auwww.sagecomputing.com.au
So Many FilesSo Many Files
Application workspace
Project
Workspace.jws
Project.jpr
Entity Objects
Asociations
View Objects
Links
Application Module
Organisations.xml , Organisationsimpl.java
OrgParentFkAssoc.xml
OrganisationsView.xml, OrganisationsViewImpl.java
OrgParentFkLink.xml
AppModule.xml, AppModuleImpl.java
7/31/2019 Jdev Forms
17/32
www.sagecomputing.com.auwww.sagecomputing.com.au
OracleOracle JDevJDev QuotesQuotes
Your tentative steps into theJ2ee world will have thrownup a whole host of strangeand unfamiliar terms,
"persistence", "frameworks","view and entity objects,"events"
Your tentative steps into theJ2ee world will have thrown up a
whole host of strange andunfamiliar terms, "help","I am too old for this stuff", and
"What the ****"
7/31/2019 Jdev Forms
18/32
www.sagecomputing.com.auwww.sagecomputing.com.au
How They WorkHow They Work
JDeveloperDefinitionsstored inXML files
PredefinedJava classesaccessdefinitions
Java classesextend defaultclasses torepresent runtimeinstances
Create and Maintain
7/31/2019 Jdev Forms
19/32
www.sagecomputing.com.auwww.sagecomputing.com.au
Application tabApplication tabdisplaysdisplays
logical viewlogical view
7/31/2019 Jdev Forms
20/32
www.sagecomputing.com.auwww.sagecomputing.com.au
System tabSystem tab
displaysdisplaysphysical viewphysical view
7/31/2019 Jdev Forms
21/32
www.sagecomputing.com.auwww.sagecomputing.com.au
Forms Data MappingForms Data Mapping
EVT_PKpackage
EVENTS_VW
View
EVENTS
table
7/31/2019 Jdev Forms
22/32
www.sagecomputing.com.auwww.sagecomputing.com.au
Binding LayerBinding Layer
Web PageWeb Page
Event No
Organisations Sage
100
Booking No Quantity Cost
1205 1 200
1206 20 420
1207 1 200
Commit
Binding ContextBinding Context
Binding ContainerBinding Container
Action BindingAction Binding
EventsIteratorBinding
EventsIteratorBinding
Value BindingValue Binding
BookingsIteratorBinding
BookingsIteratorBinding
RangeBinding
RangeBinding
DataControlDataControl
BusinessServices
BusinessServices
Events
VO
BookingsVO
OrgsVO
OrgsIterator
Binding
OrgsIteratorBinding
ListBinding
ListBinding
Next Action BindingAction Binding
Action BindingAction BindingPrevious
Provides abstraction of business serviceimplementation
7/31/2019 Jdev Forms
23/32
www.sagecomputing.com.auwww.sagecomputing.com.au
7/31/2019 Jdev Forms
24/32
www.sagecomputing.com.auwww.sagecomputing.com.au
ADF FacesADF Faces
Implementation of the JSF specification
Standard look and feel UI components, suited fordatabase data representation, such as date pickers,advanced tables and colour
Client side validators and converters
Accessibility and multilingual support
Efficient implementation of client-side state saving,reducing per-component state saving size
Partial Page Rendering (PPR)Extended Faces tags
Different render kits to display on mobile phones,
PDAs, and telnet clientsIntegrates with the ADF Model Layer
C
7/31/2019 Jdev Forms
25/32
www.sagecomputing.com.auwww.sagecomputing.com.au
Component TreeComponent Tree
GG hi l I f
7/31/2019 Jdev Forms
26/32
www.sagecomputing.com.auwww.sagecomputing.com.au
Graphical InterfaceGraphical Interface
C P lC t P l tt
7/31/2019 Jdev Forms
27/32
www.sagecomputing.com.auwww.sagecomputing.com.au
Component PaletteComponent Palette
C llC t ll
7/31/2019 Jdev Forms
28/32
www.sagecomputing.com.auwww.sagecomputing.com.au
ControllerController
C t llC t ll
7/31/2019 Jdev Forms
29/32
www.sagecomputing.com.auwww.sagecomputing.com.au
ControllerController
7/31/2019 Jdev Forms
30/32
www.sagecomputing.com.auwww.sagecomputing.com.au
O lOracle JDJDe Q tQ otes
7/31/2019 Jdev Forms
31/32
www.sagecomputing.com.auwww.sagecomputing.com.au
OracleOracle JDevJDev QuotesQuotes
Oracle Developer supportsevery phase of the
development lifecycleincluding modeling ,coding,debugging, testing, tuning,and deploying
Oracle Developer supports everyphase of the developmentlifecycle including
overconfidence, modeling,coding, debugging, testing,panicking, tuning, allocatingblame, deploying, and distancingyourself from the whole thing
Thank You
7/31/2019 Jdev Forms
32/32
www.sagecomputing.com.auwww.sagecomputing.com.au
Thank You
For Your Attention
SAGE Computing ServicesSAGE Computing ServicesCustomised Oracle Training WorkshopsCustomised Oracle Training Workshops
and Consultingand Consulting
www.sagecomputing.com.auwww.sagecomputing.com.au