Oracle ADF for Forms Developers

Download Report

Transcript Oracle ADF for Forms Developers

It’s a new World
Oracle ADF for Forms Developers
Stoyan Ivanov
About the author
• 13 years Oracle experience
• Oracle Forms since SQL*Forms 3.0
• Large projects based on Forms for Bulgarian
and international customers
• Lots of database development knowledge
Agenda
•
•
•
•
Why not Oracle Forms & Reports
JDeveloper and ADF as RAD tools
How to choose technologies
Developing an application
Why not Oracle Forms & Reports
• The requirement to run on the web
• JInitiator and/or running Java applets might be
prohibited in some environments and
unwanted in others
• Universal access vs. High Interactivity
JDeveloper and ADF as RAD tools
•
•
•
•
What do we mean by RAD
What is a framework
What is Oracle ADF
Why is JDeveloper an IDE for RAD
What do we mean by RAD
•
•
•
•
•
Visually oriented development
An infrastructure
Guided development
Reduced coding
Focus on maintenance as well as creation
• Based on this definition Forms is a RAD tool
RAD & J2EE
• Historically RAD (Forms, Delphi, Visual Basic)
are considered vendor-specific and closed
• RAD systems has their own IDE and scripting
language
• No single RAD dominates the J2EE
development space
• J2EE runtime infrastructure and frameworks
evolved independently from the tools
What is a Framework
• Toolkit of handy code and techniques for
dealing with common use cases
• Process implementing the best practice for
solving a particular problem
– Configuring, not coding
– Runtime component
– Design-time component
What is a good framework
•
•
•
•
•
•
•
Functional depth
Functional scope
As declarative as possible
Clean APIs
Tools
Acceptance
Support
• Oracle Forms is a framework
Oracle Forms as a framework
•
•
•
•
•
•
•
•
Database connection
Transactions: commit, rollback, save points
Database interaction: queries and DML
Middle-tier data caching and transactional
integrity
User interface generation
Navigation
Security
Validation
What is Oracle ADF
• Set of sub-frameworks to provide the key
functions
• Model-View-Controller design pattern
Why is JDeveloper an IDE for RAD
• It is specifically designed as a complete,
integrated, and productive environment for endto-end development without paying additional
plug-ins
• You can code more than just Java in JDeveloper
• It fully supports Oracle ADF
• It is the best tool for creating an application that
uses Oracle database and middleware suite
How to choose the technologies
• User Interface: JSF & JSP
• DB Integration: ADF Business Components
• Controller: JSF has build in page flow control
Java Server Faces (JSF)
• Component-based
• Programming model – action handllers and
listeners
• Page layout
• Device-independent
• Build-in Controller layer
ADF Business Components
• Mapping database objects into Java
• Well suited for the so-called “relational
viewpoint”
• Emphasizes declarative definition
• Provides the ability to define basic validation
rules
• Exploit the power of the database
• Provides a rich event model, much like the
triggers
Developing an application
• Template “Web Application [JSF, ADF BC]”
• Workspace containing two projects:
– Model
– ViewController
Choosing the template
Workspace containing two projects
Create a Query object
Create a Query object
Create a Query object
Create a Query object
Create a Query object
Create a Query object
Create a Query object
Create a Query object
Create an Application Module
Create an Application Module
Create an Application Module
Testing a Query Object
Testing a Query Object
Testing a Query Object
Can I update the data?
Create an Entity object
Create an Entity object
Create an Entity object
Create an Entity object
Create an Entity object
Create an Entity object
The Model so far
Create a View object
Adding the View to the Data Model
Testing the View
Changing attributes of the Entity
Creating Associations
Creating Associations
Creating Associations
Adding Validation
Adding Validation
Adding Validation
Creating pages
Displaying the data from the query to
the page
Displaying the data from the query to
the page
Testing the page
Displaying the data from an Entity to
the page
Displaying the data from an Entity to
the page
Testing the page
Adding Commit button
Adding Create button
Testing the page
Adding more pages
Use a JSF Navigation Case
Linking the pages
Add a CommandButton or
CommandLink
Selecting the action outcome
Thank you!