SlideShare a Scribd company logo
#Kscope
Oracle JDeveloper and ADF:
Coming Together for
Forms and 4GL Developers
Presented by: John Jay King
King Training Resources - john@kingtraining.com
Download this paper from: http://www.kingtraining.com
#Kscope
Objectives
●  Learn how JDeveloper may be used to create ADF-
based applications
●  Understand how the 4GL features of ADF compare to
other 4GLs like Oracle Forms
●  Become familiar with ADF Faces and how it is used to
create user interfaces
●  Use ADF BC to model data and address business
rules
Copyright @ 2012, John Jay King2
#Kscope
Who Am I?
l  John King – Partner, King Training Resources
l  Oracle Ace
l  Providing training to Oracle and IT community for
over 20 years – http://www.kingtraining.com
l  “Techie” who knows Oracle, SQL, Java, and
PL/SQL pretty well (along with other topics)
l  Leader in Service Oriented Architecture (SOA)
l  Home is Scottsdale, Arizona
l  Member of ODTUG (Oracle Development Tools
User Group) Board of Directors
Copyright @ 2012, John Jay King
3
#Kscope
Who Are You?
l  Oracle Forms Developer
l  4GL Developer
l  Java Developer
l  All of the above
l  None of the above
Copyright @ 2012, John Jay King
4
#Kscope
Why ADF?
l  Oracle Application Development Framework
(ADF) is a Java-based development tool (much
like Forms is a PL/SQL-based tool) designed to
take full advantage of Java EE
l  Java EE is one of the most widespread
application environments today
l  ADF’s 4GL features make application
development easier than normal Java “coding”
l  Oracle is rewriting their ERP stack as “Fusion
Applications” using ADF; the already rich
toolset gets richer every day
Copyright @ 2012, John Jay King
5
#Kscope
Do I Need To Know Java?
l  Probably not well
●  Someone with very basic Java and Web Skills can
easily create applications with ADF
(much the same as someone with basic PL/SQL
could create very basic Oracle Forms)
●  Someone on your team needs to know Java very
well
l  Someone on your team needs to understand
ADF and its available components very well
Copyright @ 2012, John Jay King
6
#Kscope
Is Forms Going Away?
l  NO, NO, NO, NO, NO
l  Oracle is committed to supporting Oracle Forms
for many years to come
l  A new version of Oracle Forms (12c) is on the
way!
Copyright @ 2012, John Jay King
7
#Kscope
What is ADF?
Copyright @ 2012, John Jay King
8	

l  ADF is a “meta-Framework” interacting with
underlying software components to provide:
●  Database connectivity and transfer
●  Mapping of application views to data sources
●  Database interaction: constraints, keys, data types,
master/detail, null handling
●  Data caching via entity objects
●  Transaction management (commit, rollback, etc...)
●  Declarative validation
●  Business logic and event handling
●  User Interface (UI) logic, flow, look & feel
●  Data-bound UI Components
●  UI properties including: formatting, colors, defaults,
visual components, LOVs, etc...
#Kscope
ADF Technology Stack
●  ADF Technology simplifies interaction with
“Java” EE and Oracle’s Fusion Middleware
9	

 Copyright @ 2012, John Jay King
#Kscope
ADF: Two Major Pieces
l  ADF has many parts but two are central to
creating applications:
●  ADF BC Business Components (data)
●  ADF Faces Graphical User Interface
Copyright @ 2012, John Jay King10
#Kscope
ADF Business Components (ADF BC)
l  ADF Business Components is a framework that
simplifies developing Java EE business
services
l  ADF BC is part of the ADF Business Services
layer and is used to provide:
●  Persistence and data retrieval with SQL using data
views
●  Object-Relational Mapping (ORM) between Java
classes and database data
●  Simplified data access, validation, and business
logic
●  Transactional infrastructure
●  Implementation of best practices
Copyright @ 2012, John Jay King
11
#Kscope
ADF BC Objects
l  ADF BC is implemented using a variety of
objects to:
●  Define Insert-Update-Delete views to perform
queries and data manipulation
●  Define query views (read-only)
●  Define links between queries
Copyright @ 2012, John Jay King12
#Kscope
ADF BC - Component Structure
Copyright @ 2012, John Jay King
13
#Kscope
ADF BC Components
l  ADF BC uses a variety of object types to represent data:
●  Database tables/views Application Base Data
●  Entity Objects Bus. rules,validations,
defaults for a table
●  View Objects SQL output to query, filter,
join, or modify data
●  Application Modules Use View Objects to
access/modify data acting
as back-end data service
●  Appl. Module Data Model Describes actual View
Object uses
l  Objects may be reused in multiple Application Modules
Copyright @ 2012, John Jay King14
#Kscope
ADF Data Binding
l  After identifying Entity Objects and View
Objects two additional ADF Data Model
components are used
●  Data Controls Java objects used to
abstract View Object
Business Services
●  Binding Containers Java object; provides
data access to a single
ADF application page,
fragment, or activity
Copyright @ 2012, John Jay King15
#Kscope
Java Server Faces (JSF)
l  Java Server Faces (JSF) is a Web-tier
framework of JSP technology and JSP Tag
libraries to create and use User Interface
components
l  JSF is extended by components of Oracle ADF
Faces
l  JSF includes:
●  Runtime architecture
●  Library of JSF components
●  JSF “Life Cycle”
●  Many JSF-Oriented Files
16	

 Copyright @ 2012, John Jay King
#Kscope
ADF Faces
l  Even though JSF sought to simplify user
interface; it is often felt to be too complex
l  Oracle has extended JSF as “ADF Faces”
providing a set of libraries and tags that include
enhanced UI components and easier use
l  Oracle has presented ADF Faces to the Open
Source community where it is part of the
Apache Foundation Trinidad MyFaces project
http://myfaces.apache.org/trinidad/
index.html
Copyright @ 2012, John Jay King17
#Kscope
Using ADF
l  Using ADF Faces is simple using JDeveloper:
●  Add Application layout containers to describe user
interface
●  Add ADF Faces components to layout containers
●  All UI is done with ADF Faces; no HTML coding
l  Features added by ADF Faces:
●  Pop-ups and Dialog boxes
●  Data Visualization Tools: Charts, graphics, etc...
●  Declarative AJAX support
●  More…
Copyright @ 2012, John Jay King18
#Kscope
ADF Controller
l  The ADF Controller extends the JSF controller
and controls ADF’s MVC (Model-View-
Controller) in ADF
l  ADF Controller features include:
●  Sequence of page displays (may be conditional)
●  Allows partial-page processing in the same way as
full page processing; only the necessary part of a
page is rendered, the rest is unchanged
●  Allows reuse of page parts
●  Provides conditional control of page flow
Copyright @ 2012, John Jay King
19
#Kscope
ADF Faces “Rich-Client” Features
l  ADF Faces is designed to create “rich-
client” (RC) interfaces; full-featured and
declarative including:
●  Complete JDeveloper support graphic development
(screen-painter) and property palettes
●  Visual Editor
●  Property Inspector
●  Changeable “skins” to easily alter look-and-feel
●  Modifiable look-and-feel properties (declarative)
●  Layout control
Copyright @ 2012, John Jay King20
#Kscope
Oracle JDeveloper
l  JDeveloper is a world-class, easy to use IDE
l  JDeveloper goes beyond Java to include:
●  Oracle ADF modeling, business svcs, and GUI design
●  XML edit including Syntax Checking & Validation
●  SQL development with debugging of stored PL/SQL
●  UML Modeling and MDA (Model Driven Architecture)
●  Web Services development
●  ESB design
●  BPEL design
●  Portlets
Copyright @ 2012, John Jay King21
#Kscope
Downloading JDeveloper
l  JDeveloper is Free!
l  To learn more about JDeveloper, see Oracle's
website:
http://www.oracle.com/technology/products/jdev/
index.html
Copyright @ 2012, John Jay King
22
#Kscope
Oracle WebLogic Server
l  Oracle WebLogic Server is Oracle's preferred
platform to provide both a standard Java EE
environment and an environment specifically
tailored to Oracle Fusion Middleware; providing:
●  Complete Java EE 5 compatibility
●  Complete Java SE 6 compatibility
●  Web Services support
●  Integration with Oracle's Fusion Middleware tools
Copyright @ 2012, John Jay King
23
#Kscope
Oracle AS and OC4J?
l  Oracle WebLogic Server is the replacement for
Oracle Application Server (OAS) and OC4J
l  OAS and OC4J are still supported and may be
used instead of WebLogic if desired but ADF
requires Java 1.5 / Java 5 (needed for ADF)
l  To learn more about Oracle WebLogic Server
see Oracle's website:
http://www.oracle.com/appserver/index.html
Copyright @ 2012, John Jay King
24
#Kscope
Starting JDeveloper
Copyright @ 2012, John Jay King
25
#Kscope
JDeveloper - Select Role
Copyright @ 2012, John Jay King
26
#Kscope
JDeveloper - Start Page
Copyright @ 2012, John Jay King
27
#Kscope
Exploring JDeveloper
Copyright @ 2012, John Jay King
28
#Kscope
Applications and Projects
l  JDeveloper uses a non-standard, Oracle-
specific “Application” to group a collection of
“Projects”
l  All files representing an “Application” share a
common root directory (folder) on a disk
l  Many Applications may be open at once in
JDeveloper; but only one at a time will be
visible in the Application Navigator
Copyright @ 2012, John Jay King
29
#Kscope
JDeveloper Directory Structure
Copyright @ 2012, John Jay King
30
#Kscope
JDeveloper Editing
●  JDeveloper has many Code Editors & Visual Editors:
Java, XML, HTML, JSP, JSF/ADF Faces, BPEL, & more
Copyright @ 2012, John Jay King
31
#Kscope
JDeveloper Debugging
●  JDeveloper allows both local and remote debugging
Copyright @ 2012, John Jay King
32
#Kscope
JDeveloper Preferences
●  JDeveloper is customizable; preferences may be
viewed/modified using Tools->Preferences
Copyright @ 2012, John Jay King
33
#Kscope
New Application
●  To create a new application use the JDeveloper
menu's File->New->General->Applications option
Copyright @ 2012, John Jay King
34
#Kscope
New Gallery
Copyright @ 2012, John Jay King
35
#Kscope
Application Structure
l  When a JDeveloper ADF Web Application is
created ADF uses the MVC (Model-View
Controller) pattern
l  JDeveloper creates two subordinate projects
●  Model Data and Business Rules
●  ViewController User Interface
●  ADF provides the “Controller”
Copyright @ 2012, John Jay King
36
#Kscope
File Structure
●  Review the directory structure created to support
the application and the associated projects
Copyright @ 2012, John Jay King
37	

 Copyright @ 2012, John Jay King
#Kscope
How It Looks In JDeveloper
Copyright @ 2012, John Jay King
38
#Kscope
Create ADF BC Objects
l  The following pages show how to create ADF
BC objects using the Wizards provided by
JDeveloper
l  Each object created may be created individually
using JDeveloper's features or by coding them
manually rather than using the Wizards
l  JDeveloper's database modeling capabilities
are shown to good effect by the use of
Database Connections and Wizards
Copyright @ 2012, John Jay King
39
#Kscope
Wizard-Based Development
l  The “Create Business Objects from Tables”
Wizard follows a few simple steps:
●  Create Business Component, select type of
Business Component to be built
●  Select Database Connection to be used
(may create Database Connection via Wizard)
●  Build Entity Objects using database Tables/Views
●  Build Updateable View Objects (if desired)
●  Build Read-Only View Objects (if desired)
●  Save Application Module
Copyright @ 2012, John Jay King
40
#Kscope
New ADF BC Object: 1
●  Start building new components as follows:
●  Right-click on the application's “Model”
project and choose “New”
Copyright @ 2012, John Jay King
41
#Kscope
New ADF BC Object: 2
●  Choose Business Tier -> ADF Business Components -
> Business Components from Tables from the “New
Gallery
Copyright @ 2012, John Jay King
42
#Kscope
Choosing Database Connection
●  Choose an existing Database Connection from the drop-
down list or build a new one by clicking the green plus
sign (Oracle client and tnsname.or not required!)
Copyright @ 2012, John Jay King
43
#Kscope
Create Database Connection
Copyright @ 2012, John Jay King
44
#Kscope
Create BC from Tables, 1
●  Add, verify, or alter package name as desired; verify
Schema; modify filter (if desired) using SQL “LIKE” wild
cards; click “Query” to view accessible database objects
Copyright @ 2012, John Jay King
45
#Kscope
Create BC from Tables, 2
●  Choose the tables and/or views to be part of the Entity
Object and move them to the “Selected” side of the
wizard display
Copyright @ 2012, John Jay King
46
#Kscope
Create BC from Tables, 3
●  After creating Entity Objects; the wizard creates
Updateable View Objects -- View Objects represent the
output of SQL (query, filter, join, modify, or sequence)
Copyright @ 2012, John Jay King
47
#Kscope
Create BC from Tables, 4
●  Select Entity Objects to be used by the view
being created; move them to the “Selected” side
Copyright @ 2012, John Jay King
48
#Kscope
Create BC from Tables, 5
●  After creating Updateable View Objects; the
wizard goes on to create Read-Only View Objects
(might be useful as LOV (List-of-Values))
Copyright @ 2012, John Jay King
49
#Kscope
Create BC from Tables, 6
●  Name the Application Module and save it; click
Finish
Copyright @ 2012, John Jay King
50
#Kscope
Business Component Files
●  Note the use of XML to declaratively support ADF
BC
Copyright @ 2012, John Jay King
51
#Kscope
Business Component Browser
●  JDeveloper
provides a tool to
“browse”
ADF BC
Application Module
objects
graphically; using
the Application
Navigator, find the
Application Module
to be viewed; right-
click and choose
“Run” to start
Copyright @ 2012, John Jay King
52
#Kscope
Component Browser Choices
●  Choose the Business Component to be tested
Copyright @ 2012, John Jay King
53
#Kscope
Component Browser – Display, 1
l  Oracle’s Business Component Browser
displays data from the underlying database
objects
(screen should look familiar to Oracle Forms
users)
l  If referential keys are defined in the database
(Primary Keys and Foreign Keys) the ADF BC
Wizard automatically arranges the tables into a
Master-Detail relationship
Copyright @ 2012, John Jay King54
#Kscope
Component Browser – Display, 2
Copyright @ 2012, John Jay King
55
#Kscope
Searching Data
●  Use the “Specify View Criteria” (Binocular) icon to
Search
Copyright @ 2012, John Jay King
56
#Kscope
Search View Criteria
●  Enter Search criteria and click “Find”
Copyright @ 2012, John Jay King
57
#Kscope
Search Results
Copyright @ 2012, John Jay King
58
#Kscope
Browsing Database Objects
●  JDeveloper’s Database Navigator allows
browsing of database objects (parts of Oracle's
SQL Developer tool have been incorporated into
JDeveloper)
Copyright @ 2012, John Jay King
59
#Kscope
Modification of Application
l  Once the initial Business Components are
created in the application, it might be useful to:
●  set default values
●  define formatting
●  validate data
Copyright @ 2012, John Jay King
60
#Kscope
Object Properties
●  Like other 4GLs, properties are listed
Copyright @ 2012, John Jay King
61
#Kscope
Properties in XML Files
●  ADF uses XML files to store declared definitions
Copyright @ 2012, John Jay King
62
#Kscope
Modify Appearance & Formatting
●  Use JDeveloper to modify appearance of
database column values by double-clicking an
Entity Object
Copyright @ 2012, John Jay King
63
#Kscope
Entity Object Edit Panel
Copyright @ 2012, John Jay King
64
#Kscope
Entity Object Attributes
Copyright @ 2012, John Jay King
65
#Kscope
Entity Object Validators
Copyright @ 2012, John Jay King
66
#Kscope
Validations and Business Logic
l  Validations and Business Logic may be added
including:
●  Client-side validation
●  Format masks
●  Default Values
●  Declarative Range (and other) Validation
●  CSS (Visual Attributes)
●  List of Values
●  Calculated field
●  Code Validation
●  Extensible for complex application validation
●  Transactional Triggers
Copyright @ 2012, John Jay King
67
#Kscope
Validation Rules
Copyright @ 2012, John Jay King68
#Kscope
Validation Error Messages
Copyright @ 2012, John Jay King
69
#Kscope
Attribute Defaults
●  Using the Property Palette, open the “Value”
properties and set the default value (in this case
“adf.currentDate” using ADF’s “Groovy” support)
Copyright @ 2012, John Jay King
70
#Kscope
Attribute Formatting
●  Use an Attribute's Property Palette “UI Hints”
section to control formatting, label, tool tip, etc…
(note this formatting uses
Java SimpleDateFormat
options)
Copyright @ 2012, John Jay King71
#Kscope
What Does the XML Look Like?
Copyright @ 2012, John Jay King72
#Kscope
Date Mask Properties File
Copyright @ 2012, John Jay King
73
#Kscope
Comparison to Oracle Forms
l  In Oracle Forms we defined “data blocks” that
represented tables and views that would be
used in our forms
l  ADF BC components do that and more, plus
they may be shared by many applications
l  In Oracle Forms once the “data block” is
created we use it to create the presentation
l  With ADF we use ADF Faces to accomplish the
same thing and more (again creating
components that may be reused)
Copyright @ 2012, John Jay King
74
#Kscope
Comparison to Typical 4GLs
l  Most 4GLs offer some type of “Data Object” or
“Data Access Object” capability
●  Usually include wizard-based development
●  Usually work with relational database; do not usually
support procedure-based data
●  Sometimes provide ability to find and link data
objects using database dictionary
●  Sometimes provide stand-alone reusable data
objects
●  Sometimes linked to GUI development via “drag-
and-drop” capability
Copyright @ 2012, John Jay King
75
#Kscope
Creating Web Applications
l  Oracle’s Business Component Browser is
impressive, but not suitable as customer-facing
l  ADF Faces extends the Java Server Faces
(JSF) framework using XML tags to describe
the user interface
l  ADF Faces provides a Rich-Client Interface that
uses JavaScript and AJAX components;
therefore users must have a reasonably up-to-
date browser (IE 7.0, Firefox, Safari, Chrome)
to use all of its features
l  ADF Faces is designed to make declarative
creation of “rich-client” (RC) interfaces
Copyright @ 2012, John Jay King
76
#Kscope
Review of Web Processing
Copyright @ 2012, John Jay King
77
#Kscope
HTML, CSS, and Forms
●  Even though the ultimate page delivered to the Client
Browser is HTML; with JDeveloper's Visual Editor and the
combination of ADF Faces and JSF Faces it uses to
create .jspx pages there is little need for ADF Developers
to code HTML or CSS
●  Yield to JDeveloper's declarative mechanism and refrain
from coding
Copyright @ 2012, John Jay King78
#Kscope
ADF Controller
l  The ADF Controller extends the standard JSF
controller and controls the MVC in ADF
l  ADF Controller features include:
●  Sequence of page displays (may be conditional)
●  Allows partial-page processing in the same way as
full page processing; only the necessary part of a
page is rendered, the rest is unchanged
(makes page processing faster)
●  Allows reuse of page parts
●  Provides conditional control of page flow
Copyright @ 2012, John Jay King
79
#Kscope
JSF Life Cycle
l  JSF & ADF Faces follow a predictable cycle:
1. Restore Components
2. Apply Request Values
3. Process Validations
4. Update Model Values
5. Invoke Application
6. Render Response
l  This Life Cycle is normally transparent;
however, it is useful to understand it when
debugging
Copyright @ 2012, John Jay King
80
#Kscope
JDeveloper Visual Designer
l  JDeveloper's Visual Designer may be used to
“paint” a User Interface using the Component
Palette
l  The JDeveloper Visual Designer is intended to
be WYSIWYG (What You See Is What You
Get); however the nature of the web and HTML
is that it's really WYSIKOWYG (What You See
Is Kind-Of What You Get)
Copyright @ 2012, John Jay King
81
#Kscope
ADF Faces Component Palette
●  The ADF Faces
Component Palette
includes icons
representing various
User Interface objects
●  Drag-and-drop desired
components into the
position desired
Copyright @ 2012, John Jay King
82
#Kscope
Property Inspector
●  When editing Web Pages, the Property Inspector
shows properties for the various “facets” and
components displayed upon the page
Copyright @ 2012, John Jay King
83
#Kscope
Facets in Structure Window
●  The “facets” are components that are used to contain
groups of other components
●  JDeveloper’s “Structure” Window” lists facets in the
current page
Copyright @ 2012, John Jay King
84
#Kscope
Panel and Panel Splitter
l  Pages in ADF are sometimes divided by
Panels; pre-existing templates exist to help
create the number of desired Panels
l  Each Panel in turn may be divided into smaller
areas using a Panel Splitter
●  By default Panel Splitters split an area horizontally
●  Panel Splitters have an “Orientation” property that
allow the split to be vertical
Copyright @ 2012, John Jay King
85
#Kscope
Collections, Accordions, Tabbed Panels
l  Panel Collections are facets that contain other
objects
l  Panel Accordions are facets that contain other
objects but shrink-and-grow depending upon
mouse movement
l  Tabbed Panels are facets that allow
components to be placed into a tabbed
structure
Copyright @ 2012, John Jay King
86
#Kscope
User Interface (UI) Components
l  UI Components provided by ADF Faces
include:
●  Buttons
●  Calendars
●  Choose Color
●  Forms
●  Input Text
●  Output Text
●  Panel Collection
●  Submit
●  Tables
●  more…
Copyright @ 2012, John Jay King87
#Kscope
Binding Data
l  JDeveloper's interface will allow not only the
creation of web components using drag-and-
drop processing
l  Drag-and-drop may also be used to associate
View Objects with UI Components
l  This has the effect of “binding” the data to the
data control object
Copyright @ 2012, John Jay King
88
#Kscope
Creating ADF Faces / JSF Pages
l  The following pages walk through the creation
of a simple Web Application using ADF Faces
and ADF BC objects as follows:
1. Design Web Page
2. Create new JSF Page using JDeveloper
3. Add Visual Components to JSF Page
4. Bind Visual Components to ADF BC
Objects
Copyright @ 2012, John Jay King
89
#Kscope
Target Screen Layout
l  Rough design: Department info on the left, list
of Department Employees (selected dept) in the
upper-right, and the information for a single
employee on the lower-right (selected from list)
Copyright @ 2012, John Jay King
90
#Kscope
Create ADF Faces Page
●  To create an ADF Faces page, right-click on an
Application's ViewController Project and choose
“New” to display the “New Gallery” dialog
Copyright @ 2012, John Jay King
91
#Kscope
New Gallery
Copyright @ 2012, John Jay King
92
#Kscope
Naming Web Page
Copyright @ 2012, John Jay King
– Note the “Create as XML Document (*.jspx)” box
93
#Kscope
Visual Display with Initial Screen
Copyright @ 2012, John Jay King
94
#Kscope
Quick Start Layout
●  The supplied quick-start layout is ready to have
objects dropped into it
Copyright @ 2012, John Jay King
95
#Kscope
Common Components
Copyright @ 2012, John Jay King
96
#Kscope
Layout Components
Copyright @ 2012, John Jay King
97
#Kscope
Operations Components
Copyright @ 2012, John Jay King
98
#Kscope
Adding Accordion Component
●  To add an Accordion Component to the web
page; Panel Accordion component from the pallet
to the desired column (“start”)
Copyright @ 2012, John Jay King
99
#Kscope
Change Accordion Title Property
●  To alter the
Accordion's title,
click on the
Accordion and
modify its Property
Inspector Text item
(changed to
“Depts”)
Copyright @ 2012, John Jay King
100
#Kscope
Add Data Component
●  Right-click in the “Depts” Accordion; when
prompted choose “Insert After Show Details Item
- Depts -> Show Detail Item” to add another
Accordion to the page (not used again in demo…)
Copyright @ 2012, John Jay King
101
#Kscope
Adding Collection & Tabbed Area
●  Find the “Panel Collection”
component in the Layout
components and drag it to
the “first” (top) part of the
Splitter area
●  Find the “Panel Tabbed”
component in the Layout
components and drag it to
the “second” (bottom) part
of the Splitter area
Copyright @ 2012, John Jay King102
#Kscope
Data Binding: Adding Data, 1
●  To “bind” data to web page components, simply
drag ADF BC data objects to the Visual Editor
●  Open the “Application Navigator” and expand
the “Data Controls” accordion to see the ADF
BC components created earlier then drag
“DeptView1” to the “Depts” accordion
Copyright @ 2012, John Jay King
103
#Kscope
Data Binding: Adding Data, 2
●  When prompted;
choose “Create
Forms -> ADF
Read-Only Form”
to populate the
Department data
display
Copyright @ 2012, John Jay King
104
#Kscope
Adding Navigation Controls
●  Check the “Include Navigation Controls” box
●  You may also modify display labels and add,
delete, or reorganize the values displayed
Copyright @ 2012, John Jay King
105
#Kscope
Department Display Area
●  After adding the Department information; the
“Depts” accordion should look like the following
Copyright @ 2012, John Jay King
106
#Kscope
Adding Department Employees
●  Next, to add Department
Employees to the page,
drag the EmpView2
data control
●  When prompted, choose
“Create Tables -> ADF Read-Only Table” again
Copyright @ 2012, John Jay King107
#Kscope
Add Navigation Controls
●  Check all three navigation controls:
●  Row Selection (user may select), filtering (user
may search), and sort; as before columns may be
relabeled, added, deleted, reorganized
Copyright @ 2012, John Jay King
108
#Kscope
Department Employee Area
Copyright @ 2012, John Jay King
109
#Kscope
Adding Individual Employee
●  Finally, add the individual Employee
display to the Tabbed area at the
bottom of the page
●  When prompted, choose “Create Forms -> ADF Form”
to select the display format (this part of the form will be
editable)
Copyright @ 2012, John Jay King110
#Kscope
Add Employee Navigation
●  Delete the COMM and DEPTNO data from the
display (highlight & click X); check “Include
Submit Button”
Copyright @ 2012, John Jay King
111
#Kscope
Completed Web Application Page
Copyright @ 2012, John Jay King
112
#Kscope
Testing the Web Application
●  To begin testing the Web Application; right-click
the “.jspx” file created in the ViewController
project and choose “Run”
Copyright @ 2012, John Jay King
113
#Kscope
Be Patient!
●  The first time you execute a Web application JDeveloper
will start its built-in WebLogic Application Server; this takes
a while
●  You can track the progress of the Server's startup in
JDeveloper's DefaultServer Log
●  Once the Server is “up” your web page should be
displayed in a browser (again, please be patient!)
Copyright @ 2012, John Jay King114
#Kscope
Web Page in Browser
Copyright @ 2012, John Jay King
115
#Kscope
Files Supporting Web Application
l  Several files make up the typical ADF Web
Application
●  A .jspx file is used to define each web page
●  Web pages reference a page definition XML file
(.xml)
●  Bindings are described in another XML file (.cpx)
Copyright @ 2012, John Jay King116
#Kscope
JSF .jspx File
●  ADF defines a web page using an XML .jspx file
Copyright @ 2012, John Jay King
117
#Kscope
ADF Web Page Definition file (.xml)
Copyright @ 2012, John Jay King
118
#Kscope
ADF Bindings XML file (.cpx)
Copyright @ 2012, John Jay King
119
#Kscope
ADF Faces ViewController Files
●  The XML files representing
the ViewController project
are distributed using a
directory structure
Copyright @ 2012, John Jay King
120
#Kscope
Forms & ADF Comparison
121	

Feature Forms ADF
Declarative database access Yes Yes
Reuse of database access Some Yes
Declarative user interface development Yes Yes
Automatic screen generation Yes Some
Reuse of user interface Some Yes
Web Deployment Yes Yes
Client-Server Deployment No Yes
Fusion Applications development tool No Yes
Customizable Yes Yes
Built with open standards No Yes
#Kscope
Available Books
l  Quick Start Guide to Oracle Fusion
Development
●  Grant Ronald
●  Oracle Press
l  Oracle JDeveloper 11g Handbook
●  Duncan Mills, Peter Koletzke,
Dr. Avrom Roy-Federman
●  Oracle Press
l  Oracle Fusion Developer's Guide
●  Frank Nimphius,
Lynn Munsinger
●  Oracle Press
Copyright @ 2012, John Jay King
122
#Kscope
Wrapping It Up
l  Oracle’s design emphasis and new features
will support the Java-based ADF mechanism
and enhance it for the foreseeable future
l  JDeveloper and ADF allow me to create
simple web applications easily:
●  ADF BC creates reusable data components
●  ADF Faces creates reusable view components
l  Oracle Forms is not going anywhere; it is not
necessary to “convert” things to ADF
l  I did not write a single line of Java in this
demo!
Copyright @ 2012, John Jay King
123
#Kscope
Ready for More Kscope???
Sheraton New Orleans
124	

 Copyright @ 2012, John Jay King
#Kscope
Training Days 2013
February 12-13
2 Days of inexpensive Oracle-related training in Denver !!
February 11: University day of low-cost,
check the website for details
www.rmoug.org125
#KscopeApril 2013 – Get Ready to Go!126
#Kscope
Oracle JDeveloper & ADF:
Coming Together for Forms
and 4GL Developers
To contact the author:
John King
King Training Resources
PO Box 1780
Scottsdale, AZ 85252-1780 USA
1.800.252.0652 - 1.303.798.5727
Email: john@kingtraining.com
Today’s slides are on the web:
http://www.kingtraining.com
Thanks for your attention!
▬
Please fill out session Evaluations

More Related Content

What's hot

Oracle ADF Task Flows for Beginners
Oracle ADF Task Flows for BeginnersOracle ADF Task Flows for Beginners
Oracle ADF Task Flows for BeginnersDataNext Solutions
 
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud Services
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud ServicesOracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud Services
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud Services
Michael Hichwa
 
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
DataNext Solutions
 
Java database programming with jdbc
Java database programming with jdbcJava database programming with jdbc
Java database programming with jdbc
sriram raj
 
Introduction to JavaScript for APEX Developers - Module 2: Adding JavaScript ...
Introduction to JavaScript for APEX Developers - Module 2: Adding JavaScript ...Introduction to JavaScript for APEX Developers - Module 2: Adding JavaScript ...
Introduction to JavaScript for APEX Developers - Module 2: Adding JavaScript ...
Daniel McGhan
 
Upcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST supportUpcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST support
Steven Davelaar
 
Oracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration ArchitecturesOracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration Architectures
Chris Muir
 
Sanjaykumar Kakaso Mane_MAY2016
Sanjaykumar Kakaso Mane_MAY2016Sanjaykumar Kakaso Mane_MAY2016
Sanjaykumar Kakaso Mane_MAY2016Sanjay Mane
 
Krishna_4.5_Years_OracleAPEX_PLSQL
Krishna_4.5_Years_OracleAPEX_PLSQLKrishna_4.5_Years_OracleAPEX_PLSQL
Krishna_4.5_Years_OracleAPEX_PLSQLKrishna Chaitanya
 
A-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator OverviewA-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator Overview
Steven Davelaar
 
APEX 4.2 New Features
APEX 4.2 New FeaturesAPEX 4.2 New Features
APEX 4.2 New FeaturesEnkitec
 
Oracle - Programatica2010
Oracle - Programatica2010Oracle - Programatica2010
Oracle - Programatica2010Agora Group
 
Oracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityOracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for Security
Chris Muir
 
Kuali OLE @ LITA Forum 2012
Kuali OLE @ LITA Forum 2012Kuali OLE @ LITA Forum 2012
Kuali OLE @ LITA Forum 2012
Robert H. McDonald
 
Sudhir srivastava profile
Sudhir srivastava profileSudhir srivastava profile
Sudhir srivastava profile
Sudhir Srivastava
 
Resume_Md ZakirHussain
Resume_Md ZakirHussainResume_Md ZakirHussain
Resume_Md ZakirHussainzakir hussain
 
Essential Kit for Oracle JET Programming
Essential Kit for Oracle JET ProgrammingEssential Kit for Oracle JET Programming
Essential Kit for Oracle JET Programming
andrejusb
 

What's hot (20)

Oracle ADF Task Flows for Beginners
Oracle ADF Task Flows for BeginnersOracle ADF Task Flows for Beginners
Oracle ADF Task Flows for Beginners
 
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud Services
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud ServicesOracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud Services
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud Services
 
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
 
Java database programming with jdbc
Java database programming with jdbcJava database programming with jdbc
Java database programming with jdbc
 
Introduction to JavaScript for APEX Developers - Module 2: Adding JavaScript ...
Introduction to JavaScript for APEX Developers - Module 2: Adding JavaScript ...Introduction to JavaScript for APEX Developers - Module 2: Adding JavaScript ...
Introduction to JavaScript for APEX Developers - Module 2: Adding JavaScript ...
 
Upcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST supportUpcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST support
 
Oracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration ArchitecturesOracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration Architectures
 
Sanjaykumar Kakaso Mane_MAY2016
Sanjaykumar Kakaso Mane_MAY2016Sanjaykumar Kakaso Mane_MAY2016
Sanjaykumar Kakaso Mane_MAY2016
 
Krishna_4.5_Years_OracleAPEX_PLSQL
Krishna_4.5_Years_OracleAPEX_PLSQLKrishna_4.5_Years_OracleAPEX_PLSQL
Krishna_4.5_Years_OracleAPEX_PLSQL
 
A-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator OverviewA-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator Overview
 
APEX 4.2 New Features
APEX 4.2 New FeaturesAPEX 4.2 New Features
APEX 4.2 New Features
 
Oracle - Programatica2010
Oracle - Programatica2010Oracle - Programatica2010
Oracle - Programatica2010
 
Oracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityOracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for Security
 
Kuali OLE @ LITA Forum 2012
Kuali OLE @ LITA Forum 2012Kuali OLE @ LITA Forum 2012
Kuali OLE @ LITA Forum 2012
 
Sudhir srivastava profile
Sudhir srivastava profileSudhir srivastava profile
Sudhir srivastava profile
 
ForrestHouletteRevised
ForrestHouletteRevisedForrestHouletteRevised
ForrestHouletteRevised
 
ZakirHussain
ZakirHussainZakirHussain
ZakirHussain
 
Resume_Md ZakirHussain
Resume_Md ZakirHussainResume_Md ZakirHussain
Resume_Md ZakirHussain
 
ananth_resume
ananth_resumeananth_resume
ananth_resume
 
Essential Kit for Oracle JET Programming
Essential Kit for Oracle JET ProgrammingEssential Kit for Oracle JET Programming
Essential Kit for Oracle JET Programming
 

Viewers also liked

Building a custom Oracle ADF Component
Building a custom Oracle ADF ComponentBuilding a custom Oracle ADF Component
Building a custom Oracle ADF Component
Wilfred van der Deijl
 
12 Things about Oracle WebLogic Server 12c
12 Things	 about Oracle WebLogic Server 12c12 Things	 about Oracle WebLogic Server 12c
12 Things about Oracle WebLogic Server 12c
Guatemala User Group
 
The Time is Now: Migrating from Oracle Warehouse Builder to Oracle Data Integ...
The Time is Now: Migrating from Oracle Warehouse Builder to Oracle Data Integ...The Time is Now: Migrating from Oracle Warehouse Builder to Oracle Data Integ...
The Time is Now: Migrating from Oracle Warehouse Builder to Oracle Data Integ...
Stewart Bryson
 
Introducing adf business components
Introducing adf business componentsIntroducing adf business components
Introducing adf business components
Prabhat gangwar
 
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
Luc Bors
 
Why to Upgrade to Oracle 12c
Why to Upgrade to Oracle 12cWhy to Upgrade to Oracle 12c
Why to Upgrade to Oracle 12c
Guatemala User Group
 
Migrating from Oracle Enterprise Manager 10g to 12c Cloud Control
Migrating from Oracle Enterprise Manager 10g to 12c Cloud ControlMigrating from Oracle Enterprise Manager 10g to 12c Cloud Control
Migrating from Oracle Enterprise Manager 10g to 12c Cloud ControlLeighton Nelson
 
12 things Oracle DBAs must know about SQL
12 things Oracle DBAs must know about SQL12 things Oracle DBAs must know about SQL
12 things Oracle DBAs must know about SQL
SolarWinds
 
UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...
UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...
UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...
Leighton Nelson
 
The Time is Now! Migrating from OWB to ODI 12c
The Time is Now! Migrating from OWB to ODI 12cThe Time is Now! Migrating from OWB to ODI 12c
The Time is Now! Migrating from OWB to ODI 12c
Stewart Bryson
 
ADF - Layout Managers and Skinning
ADF - Layout Managers and SkinningADF - Layout Managers and Skinning
ADF - Layout Managers and Skinning
George Estebe
 

Viewers also liked (12)

Building a custom Oracle ADF Component
Building a custom Oracle ADF ComponentBuilding a custom Oracle ADF Component
Building a custom Oracle ADF Component
 
12 Things about Oracle WebLogic Server 12c
12 Things	 about Oracle WebLogic Server 12c12 Things	 about Oracle WebLogic Server 12c
12 Things about Oracle WebLogic Server 12c
 
The Time is Now: Migrating from Oracle Warehouse Builder to Oracle Data Integ...
The Time is Now: Migrating from Oracle Warehouse Builder to Oracle Data Integ...The Time is Now: Migrating from Oracle Warehouse Builder to Oracle Data Integ...
The Time is Now: Migrating from Oracle Warehouse Builder to Oracle Data Integ...
 
Introducing adf business components
Introducing adf business componentsIntroducing adf business components
Introducing adf business components
 
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
 
Why to Upgrade to Oracle 12c
Why to Upgrade to Oracle 12cWhy to Upgrade to Oracle 12c
Why to Upgrade to Oracle 12c
 
Migrating from Oracle Enterprise Manager 10g to 12c Cloud Control
Migrating from Oracle Enterprise Manager 10g to 12c Cloud ControlMigrating from Oracle Enterprise Manager 10g to 12c Cloud Control
Migrating from Oracle Enterprise Manager 10g to 12c Cloud Control
 
12 things Oracle DBAs must know about SQL
12 things Oracle DBAs must know about SQL12 things Oracle DBAs must know about SQL
12 things Oracle DBAs must know about SQL
 
UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...
UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...
UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...
 
Oracle 12 Projects Training
Oracle 12 Projects TrainingOracle 12 Projects Training
Oracle 12 Projects Training
 
The Time is Now! Migrating from OWB to ODI 12c
The Time is Now! Migrating from OWB to ODI 12cThe Time is Now! Migrating from OWB to ODI 12c
The Time is Now! Migrating from OWB to ODI 12c
 
ADF - Layout Managers and Skinning
ADF - Layout Managers and SkinningADF - Layout Managers and Skinning
ADF - Layout Managers and Skinning
 

Similar to Oracle adfj developer slides

Oracle ADF (Application Development Framework) for Forms, Developers Slides
Oracle ADF (Application Development Framework) for Forms, Developers SlidesOracle ADF (Application Development Framework) for Forms, Developers Slides
Oracle ADF (Application Development Framework) for Forms, Developers Slides
Safi Ur Rehman
 
Oracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slidesOracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slides
Yogesh Sharma
 
Raju_Datla_Resume
Raju_Datla_ResumeRaju_Datla_Resume
Raju_Datla_ResumeVEERA DATLA
 
Jdev handbook-ch01-130992
Jdev handbook-ch01-130992Jdev handbook-ch01-130992
Jdev handbook-ch01-130992psriapps
 
Oracle APEX 18.1 New Features
Oracle APEX 18.1 New FeaturesOracle APEX 18.1 New Features
Oracle APEX 18.1 New Features
msewtz
 
Oracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewOracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow Overview
Chris Muir
 
Oracle institutes in Hyderabad.
Oracle  institutes in Hyderabad.Oracle  institutes in Hyderabad.
Oracle institutes in Hyderabad.
sreehari orienit
 
Oracle ADF Tutorial
Oracle ADF TutorialOracle ADF Tutorial
Oracle ADF Tutorial
Deepak Bhagat
 
Oracle Application Express 20.2 New Features
Oracle Application Express 20.2 New FeaturesOracle Application Express 20.2 New Features
Oracle Application Express 20.2 New Features
msewtz
 
Ugf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obieeUgf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obieeBerry Clemens
 
Database@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UIDatabase@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UI
Tammy Bednar
 
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL IntegrationOracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Chris Muir
 
Oracle Programmer Resume
Oracle Programmer ResumeOracle Programmer Resume
Oracle Programmer ResumeRawan Ebeidat
 
Munir_Database_Developer
Munir_Database_DeveloperMunir_Database_Developer
Munir_Database_DeveloperMunir Muhammad
 
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
Sten Vesterli
 

Similar to Oracle adfj developer slides (20)

Oracle ADF (Application Development Framework) for Forms, Developers Slides
Oracle ADF (Application Development Framework) for Forms, Developers SlidesOracle ADF (Application Development Framework) for Forms, Developers Slides
Oracle ADF (Application Development Framework) for Forms, Developers Slides
 
Oracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slidesOracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slides
 
Raju_Datla_Resume
Raju_Datla_ResumeRaju_Datla_Resume
Raju_Datla_Resume
 
J developer, oracle adf introduction
J developer, oracle adf   introductionJ developer, oracle adf   introduction
J developer, oracle adf introduction
 
Resume
ResumeResume
Resume
 
Jdev handbook-ch01-130992
Jdev handbook-ch01-130992Jdev handbook-ch01-130992
Jdev handbook-ch01-130992
 
Oracle APEX 18.1 New Features
Oracle APEX 18.1 New FeaturesOracle APEX 18.1 New Features
Oracle APEX 18.1 New Features
 
Oracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewOracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow Overview
 
Oracle institutes in Hyderabad.
Oracle  institutes in Hyderabad.Oracle  institutes in Hyderabad.
Oracle institutes in Hyderabad.
 
Oracle ADF Tutorial
Oracle ADF TutorialOracle ADF Tutorial
Oracle ADF Tutorial
 
Adf 11
Adf 11Adf 11
Adf 11
 
Oracle Application Express 20.2 New Features
Oracle Application Express 20.2 New FeaturesOracle Application Express 20.2 New Features
Oracle Application Express 20.2 New Features
 
Ugf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obieeUgf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obiee
 
Database@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UIDatabase@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UI
 
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL IntegrationOracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
 
Oracle Programmer Resume
Oracle Programmer ResumeOracle Programmer Resume
Oracle Programmer Resume
 
Munir_Database_Developer
Munir_Database_DeveloperMunir_Database_Developer
Munir_Database_Developer
 
Nitin Kumar
Nitin KumarNitin Kumar
Nitin Kumar
 
Resume
ResumeResume
Resume
 
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
 

Recently uploaded

Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 

Recently uploaded (20)

Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 

Oracle adfj developer slides

  • 1. #Kscope Oracle JDeveloper and ADF: Coming Together for Forms and 4GL Developers Presented by: John Jay King King Training Resources - john@kingtraining.com Download this paper from: http://www.kingtraining.com
  • 2. #Kscope Objectives ●  Learn how JDeveloper may be used to create ADF- based applications ●  Understand how the 4GL features of ADF compare to other 4GLs like Oracle Forms ●  Become familiar with ADF Faces and how it is used to create user interfaces ●  Use ADF BC to model data and address business rules Copyright @ 2012, John Jay King2
  • 3. #Kscope Who Am I? l  John King – Partner, King Training Resources l  Oracle Ace l  Providing training to Oracle and IT community for over 20 years – http://www.kingtraining.com l  “Techie” who knows Oracle, SQL, Java, and PL/SQL pretty well (along with other topics) l  Leader in Service Oriented Architecture (SOA) l  Home is Scottsdale, Arizona l  Member of ODTUG (Oracle Development Tools User Group) Board of Directors Copyright @ 2012, John Jay King 3
  • 4. #Kscope Who Are You? l  Oracle Forms Developer l  4GL Developer l  Java Developer l  All of the above l  None of the above Copyright @ 2012, John Jay King 4
  • 5. #Kscope Why ADF? l  Oracle Application Development Framework (ADF) is a Java-based development tool (much like Forms is a PL/SQL-based tool) designed to take full advantage of Java EE l  Java EE is one of the most widespread application environments today l  ADF’s 4GL features make application development easier than normal Java “coding” l  Oracle is rewriting their ERP stack as “Fusion Applications” using ADF; the already rich toolset gets richer every day Copyright @ 2012, John Jay King 5
  • 6. #Kscope Do I Need To Know Java? l  Probably not well ●  Someone with very basic Java and Web Skills can easily create applications with ADF (much the same as someone with basic PL/SQL could create very basic Oracle Forms) ●  Someone on your team needs to know Java very well l  Someone on your team needs to understand ADF and its available components very well Copyright @ 2012, John Jay King 6
  • 7. #Kscope Is Forms Going Away? l  NO, NO, NO, NO, NO l  Oracle is committed to supporting Oracle Forms for many years to come l  A new version of Oracle Forms (12c) is on the way! Copyright @ 2012, John Jay King 7
  • 8. #Kscope What is ADF? Copyright @ 2012, John Jay King 8 l  ADF is a “meta-Framework” interacting with underlying software components to provide: ●  Database connectivity and transfer ●  Mapping of application views to data sources ●  Database interaction: constraints, keys, data types, master/detail, null handling ●  Data caching via entity objects ●  Transaction management (commit, rollback, etc...) ●  Declarative validation ●  Business logic and event handling ●  User Interface (UI) logic, flow, look & feel ●  Data-bound UI Components ●  UI properties including: formatting, colors, defaults, visual components, LOVs, etc...
  • 9. #Kscope ADF Technology Stack ●  ADF Technology simplifies interaction with “Java” EE and Oracle’s Fusion Middleware 9 Copyright @ 2012, John Jay King
  • 10. #Kscope ADF: Two Major Pieces l  ADF has many parts but two are central to creating applications: ●  ADF BC Business Components (data) ●  ADF Faces Graphical User Interface Copyright @ 2012, John Jay King10
  • 11. #Kscope ADF Business Components (ADF BC) l  ADF Business Components is a framework that simplifies developing Java EE business services l  ADF BC is part of the ADF Business Services layer and is used to provide: ●  Persistence and data retrieval with SQL using data views ●  Object-Relational Mapping (ORM) between Java classes and database data ●  Simplified data access, validation, and business logic ●  Transactional infrastructure ●  Implementation of best practices Copyright @ 2012, John Jay King 11
  • 12. #Kscope ADF BC Objects l  ADF BC is implemented using a variety of objects to: ●  Define Insert-Update-Delete views to perform queries and data manipulation ●  Define query views (read-only) ●  Define links between queries Copyright @ 2012, John Jay King12
  • 13. #Kscope ADF BC - Component Structure Copyright @ 2012, John Jay King 13
  • 14. #Kscope ADF BC Components l  ADF BC uses a variety of object types to represent data: ●  Database tables/views Application Base Data ●  Entity Objects Bus. rules,validations, defaults for a table ●  View Objects SQL output to query, filter, join, or modify data ●  Application Modules Use View Objects to access/modify data acting as back-end data service ●  Appl. Module Data Model Describes actual View Object uses l  Objects may be reused in multiple Application Modules Copyright @ 2012, John Jay King14
  • 15. #Kscope ADF Data Binding l  After identifying Entity Objects and View Objects two additional ADF Data Model components are used ●  Data Controls Java objects used to abstract View Object Business Services ●  Binding Containers Java object; provides data access to a single ADF application page, fragment, or activity Copyright @ 2012, John Jay King15
  • 16. #Kscope Java Server Faces (JSF) l  Java Server Faces (JSF) is a Web-tier framework of JSP technology and JSP Tag libraries to create and use User Interface components l  JSF is extended by components of Oracle ADF Faces l  JSF includes: ●  Runtime architecture ●  Library of JSF components ●  JSF “Life Cycle” ●  Many JSF-Oriented Files 16 Copyright @ 2012, John Jay King
  • 17. #Kscope ADF Faces l  Even though JSF sought to simplify user interface; it is often felt to be too complex l  Oracle has extended JSF as “ADF Faces” providing a set of libraries and tags that include enhanced UI components and easier use l  Oracle has presented ADF Faces to the Open Source community where it is part of the Apache Foundation Trinidad MyFaces project http://myfaces.apache.org/trinidad/ index.html Copyright @ 2012, John Jay King17
  • 18. #Kscope Using ADF l  Using ADF Faces is simple using JDeveloper: ●  Add Application layout containers to describe user interface ●  Add ADF Faces components to layout containers ●  All UI is done with ADF Faces; no HTML coding l  Features added by ADF Faces: ●  Pop-ups and Dialog boxes ●  Data Visualization Tools: Charts, graphics, etc... ●  Declarative AJAX support ●  More… Copyright @ 2012, John Jay King18
  • 19. #Kscope ADF Controller l  The ADF Controller extends the JSF controller and controls ADF’s MVC (Model-View- Controller) in ADF l  ADF Controller features include: ●  Sequence of page displays (may be conditional) ●  Allows partial-page processing in the same way as full page processing; only the necessary part of a page is rendered, the rest is unchanged ●  Allows reuse of page parts ●  Provides conditional control of page flow Copyright @ 2012, John Jay King 19
  • 20. #Kscope ADF Faces “Rich-Client” Features l  ADF Faces is designed to create “rich- client” (RC) interfaces; full-featured and declarative including: ●  Complete JDeveloper support graphic development (screen-painter) and property palettes ●  Visual Editor ●  Property Inspector ●  Changeable “skins” to easily alter look-and-feel ●  Modifiable look-and-feel properties (declarative) ●  Layout control Copyright @ 2012, John Jay King20
  • 21. #Kscope Oracle JDeveloper l  JDeveloper is a world-class, easy to use IDE l  JDeveloper goes beyond Java to include: ●  Oracle ADF modeling, business svcs, and GUI design ●  XML edit including Syntax Checking & Validation ●  SQL development with debugging of stored PL/SQL ●  UML Modeling and MDA (Model Driven Architecture) ●  Web Services development ●  ESB design ●  BPEL design ●  Portlets Copyright @ 2012, John Jay King21
  • 22. #Kscope Downloading JDeveloper l  JDeveloper is Free! l  To learn more about JDeveloper, see Oracle's website: http://www.oracle.com/technology/products/jdev/ index.html Copyright @ 2012, John Jay King 22
  • 23. #Kscope Oracle WebLogic Server l  Oracle WebLogic Server is Oracle's preferred platform to provide both a standard Java EE environment and an environment specifically tailored to Oracle Fusion Middleware; providing: ●  Complete Java EE 5 compatibility ●  Complete Java SE 6 compatibility ●  Web Services support ●  Integration with Oracle's Fusion Middleware tools Copyright @ 2012, John Jay King 23
  • 24. #Kscope Oracle AS and OC4J? l  Oracle WebLogic Server is the replacement for Oracle Application Server (OAS) and OC4J l  OAS and OC4J are still supported and may be used instead of WebLogic if desired but ADF requires Java 1.5 / Java 5 (needed for ADF) l  To learn more about Oracle WebLogic Server see Oracle's website: http://www.oracle.com/appserver/index.html Copyright @ 2012, John Jay King 24
  • 25. #Kscope Starting JDeveloper Copyright @ 2012, John Jay King 25
  • 26. #Kscope JDeveloper - Select Role Copyright @ 2012, John Jay King 26
  • 27. #Kscope JDeveloper - Start Page Copyright @ 2012, John Jay King 27
  • 29. #Kscope Applications and Projects l  JDeveloper uses a non-standard, Oracle- specific “Application” to group a collection of “Projects” l  All files representing an “Application” share a common root directory (folder) on a disk l  Many Applications may be open at once in JDeveloper; but only one at a time will be visible in the Application Navigator Copyright @ 2012, John Jay King 29
  • 31. #Kscope JDeveloper Editing ●  JDeveloper has many Code Editors & Visual Editors: Java, XML, HTML, JSP, JSF/ADF Faces, BPEL, & more Copyright @ 2012, John Jay King 31
  • 32. #Kscope JDeveloper Debugging ●  JDeveloper allows both local and remote debugging Copyright @ 2012, John Jay King 32
  • 33. #Kscope JDeveloper Preferences ●  JDeveloper is customizable; preferences may be viewed/modified using Tools->Preferences Copyright @ 2012, John Jay King 33
  • 34. #Kscope New Application ●  To create a new application use the JDeveloper menu's File->New->General->Applications option Copyright @ 2012, John Jay King 34
  • 35. #Kscope New Gallery Copyright @ 2012, John Jay King 35
  • 36. #Kscope Application Structure l  When a JDeveloper ADF Web Application is created ADF uses the MVC (Model-View Controller) pattern l  JDeveloper creates two subordinate projects ●  Model Data and Business Rules ●  ViewController User Interface ●  ADF provides the “Controller” Copyright @ 2012, John Jay King 36
  • 37. #Kscope File Structure ●  Review the directory structure created to support the application and the associated projects Copyright @ 2012, John Jay King 37 Copyright @ 2012, John Jay King
  • 38. #Kscope How It Looks In JDeveloper Copyright @ 2012, John Jay King 38
  • 39. #Kscope Create ADF BC Objects l  The following pages show how to create ADF BC objects using the Wizards provided by JDeveloper l  Each object created may be created individually using JDeveloper's features or by coding them manually rather than using the Wizards l  JDeveloper's database modeling capabilities are shown to good effect by the use of Database Connections and Wizards Copyright @ 2012, John Jay King 39
  • 40. #Kscope Wizard-Based Development l  The “Create Business Objects from Tables” Wizard follows a few simple steps: ●  Create Business Component, select type of Business Component to be built ●  Select Database Connection to be used (may create Database Connection via Wizard) ●  Build Entity Objects using database Tables/Views ●  Build Updateable View Objects (if desired) ●  Build Read-Only View Objects (if desired) ●  Save Application Module Copyright @ 2012, John Jay King 40
  • 41. #Kscope New ADF BC Object: 1 ●  Start building new components as follows: ●  Right-click on the application's “Model” project and choose “New” Copyright @ 2012, John Jay King 41
  • 42. #Kscope New ADF BC Object: 2 ●  Choose Business Tier -> ADF Business Components - > Business Components from Tables from the “New Gallery Copyright @ 2012, John Jay King 42
  • 43. #Kscope Choosing Database Connection ●  Choose an existing Database Connection from the drop- down list or build a new one by clicking the green plus sign (Oracle client and tnsname.or not required!) Copyright @ 2012, John Jay King 43
  • 45. #Kscope Create BC from Tables, 1 ●  Add, verify, or alter package name as desired; verify Schema; modify filter (if desired) using SQL “LIKE” wild cards; click “Query” to view accessible database objects Copyright @ 2012, John Jay King 45
  • 46. #Kscope Create BC from Tables, 2 ●  Choose the tables and/or views to be part of the Entity Object and move them to the “Selected” side of the wizard display Copyright @ 2012, John Jay King 46
  • 47. #Kscope Create BC from Tables, 3 ●  After creating Entity Objects; the wizard creates Updateable View Objects -- View Objects represent the output of SQL (query, filter, join, modify, or sequence) Copyright @ 2012, John Jay King 47
  • 48. #Kscope Create BC from Tables, 4 ●  Select Entity Objects to be used by the view being created; move them to the “Selected” side Copyright @ 2012, John Jay King 48
  • 49. #Kscope Create BC from Tables, 5 ●  After creating Updateable View Objects; the wizard goes on to create Read-Only View Objects (might be useful as LOV (List-of-Values)) Copyright @ 2012, John Jay King 49
  • 50. #Kscope Create BC from Tables, 6 ●  Name the Application Module and save it; click Finish Copyright @ 2012, John Jay King 50
  • 51. #Kscope Business Component Files ●  Note the use of XML to declaratively support ADF BC Copyright @ 2012, John Jay King 51
  • 52. #Kscope Business Component Browser ●  JDeveloper provides a tool to “browse” ADF BC Application Module objects graphically; using the Application Navigator, find the Application Module to be viewed; right- click and choose “Run” to start Copyright @ 2012, John Jay King 52
  • 53. #Kscope Component Browser Choices ●  Choose the Business Component to be tested Copyright @ 2012, John Jay King 53
  • 54. #Kscope Component Browser – Display, 1 l  Oracle’s Business Component Browser displays data from the underlying database objects (screen should look familiar to Oracle Forms users) l  If referential keys are defined in the database (Primary Keys and Foreign Keys) the ADF BC Wizard automatically arranges the tables into a Master-Detail relationship Copyright @ 2012, John Jay King54
  • 55. #Kscope Component Browser – Display, 2 Copyright @ 2012, John Jay King 55
  • 56. #Kscope Searching Data ●  Use the “Specify View Criteria” (Binocular) icon to Search Copyright @ 2012, John Jay King 56
  • 57. #Kscope Search View Criteria ●  Enter Search criteria and click “Find” Copyright @ 2012, John Jay King 57
  • 58. #Kscope Search Results Copyright @ 2012, John Jay King 58
  • 59. #Kscope Browsing Database Objects ●  JDeveloper’s Database Navigator allows browsing of database objects (parts of Oracle's SQL Developer tool have been incorporated into JDeveloper) Copyright @ 2012, John Jay King 59
  • 60. #Kscope Modification of Application l  Once the initial Business Components are created in the application, it might be useful to: ●  set default values ●  define formatting ●  validate data Copyright @ 2012, John Jay King 60
  • 61. #Kscope Object Properties ●  Like other 4GLs, properties are listed Copyright @ 2012, John Jay King 61
  • 62. #Kscope Properties in XML Files ●  ADF uses XML files to store declared definitions Copyright @ 2012, John Jay King 62
  • 63. #Kscope Modify Appearance & Formatting ●  Use JDeveloper to modify appearance of database column values by double-clicking an Entity Object Copyright @ 2012, John Jay King 63
  • 64. #Kscope Entity Object Edit Panel Copyright @ 2012, John Jay King 64
  • 65. #Kscope Entity Object Attributes Copyright @ 2012, John Jay King 65
  • 66. #Kscope Entity Object Validators Copyright @ 2012, John Jay King 66
  • 67. #Kscope Validations and Business Logic l  Validations and Business Logic may be added including: ●  Client-side validation ●  Format masks ●  Default Values ●  Declarative Range (and other) Validation ●  CSS (Visual Attributes) ●  List of Values ●  Calculated field ●  Code Validation ●  Extensible for complex application validation ●  Transactional Triggers Copyright @ 2012, John Jay King 67
  • 68. #Kscope Validation Rules Copyright @ 2012, John Jay King68
  • 70. #Kscope Attribute Defaults ●  Using the Property Palette, open the “Value” properties and set the default value (in this case “adf.currentDate” using ADF’s “Groovy” support) Copyright @ 2012, John Jay King 70
  • 71. #Kscope Attribute Formatting ●  Use an Attribute's Property Palette “UI Hints” section to control formatting, label, tool tip, etc… (note this formatting uses Java SimpleDateFormat options) Copyright @ 2012, John Jay King71
  • 72. #Kscope What Does the XML Look Like? Copyright @ 2012, John Jay King72
  • 73. #Kscope Date Mask Properties File Copyright @ 2012, John Jay King 73
  • 74. #Kscope Comparison to Oracle Forms l  In Oracle Forms we defined “data blocks” that represented tables and views that would be used in our forms l  ADF BC components do that and more, plus they may be shared by many applications l  In Oracle Forms once the “data block” is created we use it to create the presentation l  With ADF we use ADF Faces to accomplish the same thing and more (again creating components that may be reused) Copyright @ 2012, John Jay King 74
  • 75. #Kscope Comparison to Typical 4GLs l  Most 4GLs offer some type of “Data Object” or “Data Access Object” capability ●  Usually include wizard-based development ●  Usually work with relational database; do not usually support procedure-based data ●  Sometimes provide ability to find and link data objects using database dictionary ●  Sometimes provide stand-alone reusable data objects ●  Sometimes linked to GUI development via “drag- and-drop” capability Copyright @ 2012, John Jay King 75
  • 76. #Kscope Creating Web Applications l  Oracle’s Business Component Browser is impressive, but not suitable as customer-facing l  ADF Faces extends the Java Server Faces (JSF) framework using XML tags to describe the user interface l  ADF Faces provides a Rich-Client Interface that uses JavaScript and AJAX components; therefore users must have a reasonably up-to- date browser (IE 7.0, Firefox, Safari, Chrome) to use all of its features l  ADF Faces is designed to make declarative creation of “rich-client” (RC) interfaces Copyright @ 2012, John Jay King 76
  • 77. #Kscope Review of Web Processing Copyright @ 2012, John Jay King 77
  • 78. #Kscope HTML, CSS, and Forms ●  Even though the ultimate page delivered to the Client Browser is HTML; with JDeveloper's Visual Editor and the combination of ADF Faces and JSF Faces it uses to create .jspx pages there is little need for ADF Developers to code HTML or CSS ●  Yield to JDeveloper's declarative mechanism and refrain from coding Copyright @ 2012, John Jay King78
  • 79. #Kscope ADF Controller l  The ADF Controller extends the standard JSF controller and controls the MVC in ADF l  ADF Controller features include: ●  Sequence of page displays (may be conditional) ●  Allows partial-page processing in the same way as full page processing; only the necessary part of a page is rendered, the rest is unchanged (makes page processing faster) ●  Allows reuse of page parts ●  Provides conditional control of page flow Copyright @ 2012, John Jay King 79
  • 80. #Kscope JSF Life Cycle l  JSF & ADF Faces follow a predictable cycle: 1. Restore Components 2. Apply Request Values 3. Process Validations 4. Update Model Values 5. Invoke Application 6. Render Response l  This Life Cycle is normally transparent; however, it is useful to understand it when debugging Copyright @ 2012, John Jay King 80
  • 81. #Kscope JDeveloper Visual Designer l  JDeveloper's Visual Designer may be used to “paint” a User Interface using the Component Palette l  The JDeveloper Visual Designer is intended to be WYSIWYG (What You See Is What You Get); however the nature of the web and HTML is that it's really WYSIKOWYG (What You See Is Kind-Of What You Get) Copyright @ 2012, John Jay King 81
  • 82. #Kscope ADF Faces Component Palette ●  The ADF Faces Component Palette includes icons representing various User Interface objects ●  Drag-and-drop desired components into the position desired Copyright @ 2012, John Jay King 82
  • 83. #Kscope Property Inspector ●  When editing Web Pages, the Property Inspector shows properties for the various “facets” and components displayed upon the page Copyright @ 2012, John Jay King 83
  • 84. #Kscope Facets in Structure Window ●  The “facets” are components that are used to contain groups of other components ●  JDeveloper’s “Structure” Window” lists facets in the current page Copyright @ 2012, John Jay King 84
  • 85. #Kscope Panel and Panel Splitter l  Pages in ADF are sometimes divided by Panels; pre-existing templates exist to help create the number of desired Panels l  Each Panel in turn may be divided into smaller areas using a Panel Splitter ●  By default Panel Splitters split an area horizontally ●  Panel Splitters have an “Orientation” property that allow the split to be vertical Copyright @ 2012, John Jay King 85
  • 86. #Kscope Collections, Accordions, Tabbed Panels l  Panel Collections are facets that contain other objects l  Panel Accordions are facets that contain other objects but shrink-and-grow depending upon mouse movement l  Tabbed Panels are facets that allow components to be placed into a tabbed structure Copyright @ 2012, John Jay King 86
  • 87. #Kscope User Interface (UI) Components l  UI Components provided by ADF Faces include: ●  Buttons ●  Calendars ●  Choose Color ●  Forms ●  Input Text ●  Output Text ●  Panel Collection ●  Submit ●  Tables ●  more… Copyright @ 2012, John Jay King87
  • 88. #Kscope Binding Data l  JDeveloper's interface will allow not only the creation of web components using drag-and- drop processing l  Drag-and-drop may also be used to associate View Objects with UI Components l  This has the effect of “binding” the data to the data control object Copyright @ 2012, John Jay King 88
  • 89. #Kscope Creating ADF Faces / JSF Pages l  The following pages walk through the creation of a simple Web Application using ADF Faces and ADF BC objects as follows: 1. Design Web Page 2. Create new JSF Page using JDeveloper 3. Add Visual Components to JSF Page 4. Bind Visual Components to ADF BC Objects Copyright @ 2012, John Jay King 89
  • 90. #Kscope Target Screen Layout l  Rough design: Department info on the left, list of Department Employees (selected dept) in the upper-right, and the information for a single employee on the lower-right (selected from list) Copyright @ 2012, John Jay King 90
  • 91. #Kscope Create ADF Faces Page ●  To create an ADF Faces page, right-click on an Application's ViewController Project and choose “New” to display the “New Gallery” dialog Copyright @ 2012, John Jay King 91
  • 92. #Kscope New Gallery Copyright @ 2012, John Jay King 92
  • 93. #Kscope Naming Web Page Copyright @ 2012, John Jay King – Note the “Create as XML Document (*.jspx)” box 93
  • 94. #Kscope Visual Display with Initial Screen Copyright @ 2012, John Jay King 94
  • 95. #Kscope Quick Start Layout ●  The supplied quick-start layout is ready to have objects dropped into it Copyright @ 2012, John Jay King 95
  • 96. #Kscope Common Components Copyright @ 2012, John Jay King 96
  • 97. #Kscope Layout Components Copyright @ 2012, John Jay King 97
  • 99. #Kscope Adding Accordion Component ●  To add an Accordion Component to the web page; Panel Accordion component from the pallet to the desired column (“start”) Copyright @ 2012, John Jay King 99
  • 100. #Kscope Change Accordion Title Property ●  To alter the Accordion's title, click on the Accordion and modify its Property Inspector Text item (changed to “Depts”) Copyright @ 2012, John Jay King 100
  • 101. #Kscope Add Data Component ●  Right-click in the “Depts” Accordion; when prompted choose “Insert After Show Details Item - Depts -> Show Detail Item” to add another Accordion to the page (not used again in demo…) Copyright @ 2012, John Jay King 101
  • 102. #Kscope Adding Collection & Tabbed Area ●  Find the “Panel Collection” component in the Layout components and drag it to the “first” (top) part of the Splitter area ●  Find the “Panel Tabbed” component in the Layout components and drag it to the “second” (bottom) part of the Splitter area Copyright @ 2012, John Jay King102
  • 103. #Kscope Data Binding: Adding Data, 1 ●  To “bind” data to web page components, simply drag ADF BC data objects to the Visual Editor ●  Open the “Application Navigator” and expand the “Data Controls” accordion to see the ADF BC components created earlier then drag “DeptView1” to the “Depts” accordion Copyright @ 2012, John Jay King 103
  • 104. #Kscope Data Binding: Adding Data, 2 ●  When prompted; choose “Create Forms -> ADF Read-Only Form” to populate the Department data display Copyright @ 2012, John Jay King 104
  • 105. #Kscope Adding Navigation Controls ●  Check the “Include Navigation Controls” box ●  You may also modify display labels and add, delete, or reorganize the values displayed Copyright @ 2012, John Jay King 105
  • 106. #Kscope Department Display Area ●  After adding the Department information; the “Depts” accordion should look like the following Copyright @ 2012, John Jay King 106
  • 107. #Kscope Adding Department Employees ●  Next, to add Department Employees to the page, drag the EmpView2 data control ●  When prompted, choose “Create Tables -> ADF Read-Only Table” again Copyright @ 2012, John Jay King107
  • 108. #Kscope Add Navigation Controls ●  Check all three navigation controls: ●  Row Selection (user may select), filtering (user may search), and sort; as before columns may be relabeled, added, deleted, reorganized Copyright @ 2012, John Jay King 108
  • 109. #Kscope Department Employee Area Copyright @ 2012, John Jay King 109
  • 110. #Kscope Adding Individual Employee ●  Finally, add the individual Employee display to the Tabbed area at the bottom of the page ●  When prompted, choose “Create Forms -> ADF Form” to select the display format (this part of the form will be editable) Copyright @ 2012, John Jay King110
  • 111. #Kscope Add Employee Navigation ●  Delete the COMM and DEPTNO data from the display (highlight & click X); check “Include Submit Button” Copyright @ 2012, John Jay King 111
  • 112. #Kscope Completed Web Application Page Copyright @ 2012, John Jay King 112
  • 113. #Kscope Testing the Web Application ●  To begin testing the Web Application; right-click the “.jspx” file created in the ViewController project and choose “Run” Copyright @ 2012, John Jay King 113
  • 114. #Kscope Be Patient! ●  The first time you execute a Web application JDeveloper will start its built-in WebLogic Application Server; this takes a while ●  You can track the progress of the Server's startup in JDeveloper's DefaultServer Log ●  Once the Server is “up” your web page should be displayed in a browser (again, please be patient!) Copyright @ 2012, John Jay King114
  • 115. #Kscope Web Page in Browser Copyright @ 2012, John Jay King 115
  • 116. #Kscope Files Supporting Web Application l  Several files make up the typical ADF Web Application ●  A .jspx file is used to define each web page ●  Web pages reference a page definition XML file (.xml) ●  Bindings are described in another XML file (.cpx) Copyright @ 2012, John Jay King116
  • 117. #Kscope JSF .jspx File ●  ADF defines a web page using an XML .jspx file Copyright @ 2012, John Jay King 117
  • 118. #Kscope ADF Web Page Definition file (.xml) Copyright @ 2012, John Jay King 118
  • 119. #Kscope ADF Bindings XML file (.cpx) Copyright @ 2012, John Jay King 119
  • 120. #Kscope ADF Faces ViewController Files ●  The XML files representing the ViewController project are distributed using a directory structure Copyright @ 2012, John Jay King 120
  • 121. #Kscope Forms & ADF Comparison 121 Feature Forms ADF Declarative database access Yes Yes Reuse of database access Some Yes Declarative user interface development Yes Yes Automatic screen generation Yes Some Reuse of user interface Some Yes Web Deployment Yes Yes Client-Server Deployment No Yes Fusion Applications development tool No Yes Customizable Yes Yes Built with open standards No Yes
  • 122. #Kscope Available Books l  Quick Start Guide to Oracle Fusion Development ●  Grant Ronald ●  Oracle Press l  Oracle JDeveloper 11g Handbook ●  Duncan Mills, Peter Koletzke, Dr. Avrom Roy-Federman ●  Oracle Press l  Oracle Fusion Developer's Guide ●  Frank Nimphius, Lynn Munsinger ●  Oracle Press Copyright @ 2012, John Jay King 122
  • 123. #Kscope Wrapping It Up l  Oracle’s design emphasis and new features will support the Java-based ADF mechanism and enhance it for the foreseeable future l  JDeveloper and ADF allow me to create simple web applications easily: ●  ADF BC creates reusable data components ●  ADF Faces creates reusable view components l  Oracle Forms is not going anywhere; it is not necessary to “convert” things to ADF l  I did not write a single line of Java in this demo! Copyright @ 2012, John Jay King 123
  • 124. #Kscope Ready for More Kscope??? Sheraton New Orleans 124 Copyright @ 2012, John Jay King
  • 125. #Kscope Training Days 2013 February 12-13 2 Days of inexpensive Oracle-related training in Denver !! February 11: University day of low-cost, check the website for details www.rmoug.org125
  • 126. #KscopeApril 2013 – Get Ready to Go!126
  • 127. #Kscope Oracle JDeveloper & ADF: Coming Together for Forms and 4GL Developers To contact the author: John King King Training Resources PO Box 1780 Scottsdale, AZ 85252-1780 USA 1.800.252.0652 - 1.303.798.5727 Email: john@kingtraining.com Today’s slides are on the web: http://www.kingtraining.com Thanks for your attention! ▬ Please fill out session Evaluations