Old Forms developers never die, they just switch to JDeveloper (JDeveloper ADF Faces for Oracle Dinosaurs)
SAGE Computing Services
Customised Oracle Training Workshops and Consulting [Link]
Penny Cookson - Managing Director Ray Tindall Senior Consultant Chris Muir Senior Consultant
[Link]
History
Forms
1985 Forms 1 answer the INP questions Forms 2 with a Character based interface Forms 3 with PL/SQL Forms 4.0 - Least said the better Mar 2004 1995 Forms 4.5 GUI version Apr 2004 Upgraded to use JDK 1.4 ADF framework included BC4J becomes ADF business components 1998 2006 Forms 5 + browser version Not much change since Forms 5 More modellers and visual editing tools added End 2005 ADF Faces support Mar 1998 Apr 1999 Nov 1999
JDEV
Initial version Early release of the BC4J framework Full release of the BC4J framework
1987
1990 1993
May 2002 New IDE shell released, with better support for JSPs UIX and modelling tools provided
[Link]
Oracle JDev Quotes
an axe A stranger is a friendmurderer you have yet to meet
[Link]
Features
Code Editors for editing Java, XML, PLSQL and other source code, with features such as syntax highlighting, code templates, standard reformatting etc. WYSIWYG design editors for developing user interfaces, including Swing, and web page technologies such as JSF, JSP and HTML for modelling Java classes, ADF Business Components, Java sequence diagrams, UML and Use Case diagrams. for modelling and editing connected databases, as well as providing database connection information for your Java applications. a large set of wizards to simplify the development process. a comprehensive debugger, including support for conditional breakpoints to profile the memory and CPU usage of your code. support for refactoring code with the ability to change code names and all references to the code integration with CVS change control repository.
UI Design Editors
Diagrammer Database Development
Wizards Debugger Code Profiling Refactoring Integrated Change Control
[Link]
Model View - Controller
Model
represents persistent business data coupled with business logic
View
user interface (UI) representation of dynamic models content
Controller
responds to UI events executed by the user communicates to the model layer controls page flow.
Presentation layer
[Link]
Where ADF Faces Fits
Rich Client ADF Swing ADF Swing Swing Swing Web/Wireless ADF Faces ADF Faces JSF JSF JSP JSP UIX UIX
View
Struts Struts
JSF JSF
Controller
ADF Bindings ADF Bindings
ADF Model
Business Service Objects
Java Java Classes Classes
EJB Session EJB Session Beans Beans
ADF Business ADF Business Components Components Application Application Module Module
Web Web Services Services
JDBC JDBC
TopLink EJB TopLink EJB Queries Finders Queries Finders EJB EJB Entity Entity Beans Beans
ADF BC ADF BC View View Objects Objects ADF BC ADF BC Entity Entity Objects Objects
Data Access
Business Services
Persistent Business Objects
Java Java Classes Classes
TopLink Mapping TopLink Mapping
[Link]
Model/Business Services
JDeveloper ADF
ADF Business Components ADF Business Components Data Model Data Model Application Application Modules Modules View Objects View Objects View Link View Link Data source and target Database properties of block
Oracle Forms
Forms Block
Business Domain Business Domain Entity Entity Objects Objects EO EO Associations Associations Domains Domains Forms records in memory waiting to be committed + DML trigger code Database Procedure maps forms items to database objects Forms block SQL mapped directly to database table
Constraints
[Link]
Constraints
Model View Controller
JDeveloper ADF
View - ADF Faces / ADF Swing
Oracle Forms
Java UI Renderer
Controller JSF
PL/SQL Navigation Logic
Forms Block Display properties ADF Bindings ADF Business Components ADF Business Components Data Model Data Model Application Application Modules Modules View Objects View Objects View Link View Link Forms records in memory waiting to be committed + DML trigger code Domains Domains
Data source and target Database properties of block
Business Domain Business Domain Entity Entity Objects Objects EO EO Associations Associations
Database Database
[Link]
Approaches
Database developers
1. Develop a database schema. 2. In JDeveloper create an application workspace. 3. Create business services and model layer using for example ADF Business Components. 4. Implement view and controller layers using for example ADF Faces. 5. Test, debug and deploy the application.
Web developers
1. Create an application workspace. 2. In the ADF Faces web-page diagrammer, define your web pages and page flow. 3. Create business services and the model layer to support the view layer. 4. Generate database schema objects based on the model layer. 5. Test, debug and deploy the application.
[Link]
ADF Business Components
No UI specific elements No application flow Map to data Handle persistence Hooks for business rules UI exposed objects data model
Application modules View objects View links
Business domain
Entity objects generally 1 to 1 with table EO associations Domains [Link]
Creating Entity Objects
[Link]
OO?
Organisations Entity Object
Organisations Table
ADF Business Components 1 to 1 with table You could use EJB or Toplink instead Future version will allow ADF Business components based on Toplink data mapping?
[Link]
Entity Objects / View Objects
Think of a Form with
A From clause query as its source A procedure/table as its data target
Organisations View Object Organisations Data Source
Organisations Entity Object
SQL
Organisations Data Target
SQL
Organisations Table
Organisations Table [Link]
Entity Object XML has data definitions
[Link]
View Object XML has SQL definition
[Link]
So Many Files
Application workspace [Link]
Project
[Link]
Entity Objects Asociations View Objects Links Application Module
[Link] , [Link] [Link] [Link], [Link] [Link] [Link], [Link]
[Link]
Oracle JDev Quotes
Your tentative steps into the Your tentative steps into the J2ee world will have thrown up a J2ee world will have thrown whole host of strange and up a whole host of strange unfamiliar terms,terms, and unfamiliar "help", "I "persistence", "frameworks", am too old for this stuff", and "What the ****" "view and entity objects, "events"
[Link]
How They Work
JDeveloper
Create and Maintain
Definitions stored in XML files
Predefined Java classes access definitions
Java classes extend default classes to represent runtime instances
[Link]
Application tab displays logical view
[Link]
System tab displays physical view
[Link]
Forms Data Mapping
EVENTS_VW View
EVENTS table
EVT_PK package
[Link]
Binding Layer
Web Page Web Page Binding Context Binding Context
Binding Container Binding Container
Business Business Services Services
Event No
100
Value Binding Value Binding
Events Events Iterator Iterator Binding Binding
Events VO
Organisations
Sage
List List Binding Binding
Orgs Orgs Iterator Iterator Binding Binding
Bookings VO Data Data Control Control Orgs VO
Booking No Quantity Cost
1205 1206 1207 1 20 1 200 420 200
Next Previous
Bookings Bookings Iterator Iterator Binding Binding Action Binding Action Binding Action Binding Action Binding
Range Range Binding Binding
Commit
Action Binding Action Binding
Provides abstraction of business service implementation [Link]
[Link]
ADF Faces
Implementation of the JSF specification Standard look and feel UI components, suited for database 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 clients Integrates with the ADF Model Layer
[Link]
Component Tree
[Link]
Graphical Interface
[Link]
Component Palette
[Link]
Controller
[Link]
Controller
[Link]
[Link]
Oracle JDev Quotes
Oracle Developer supports every Oracle the development phase ofDeveloper supports every phase of the lifecycle including development lifecycle overconfidence, modeling including modeling ,coding, ,coding, debugging, testing, debugging, testing, tuning, panicking, tuning, allocating and deploying blame, deploying, and distancing yourself from the whole thing
[Link]
Thank You For Your Attention
SAGE Computing Services
Customised Oracle Training Workshops and Consulting [Link]
Enquiries@[Link]
[Link]