Você está na página 1de 32

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 www.sagecomputing.com.au
Penny Cookson - Managing Director Ray Tindall Senior Consultant Chris Muir Senior Consultant

www.sagecomputing.com.au

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

www.sagecomputing.com.au

Oracle JDev Quotes

an axe A stranger is a friendmurderer you have yet to meet

www.sagecomputing.com.au

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

www.sagecomputing.com.au

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

www.sagecomputing.com.au

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

www.sagecomputing.com.au

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

www.sagecomputing.com.au

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

www.sagecomputing.com.au

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.

www.sagecomputing.com.au

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 www.sagecomputing.com.au

Creating Entity Objects

www.sagecomputing.com.au

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?
www.sagecomputing.com.au

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 www.sagecomputing.com.au

Entity Object XML has data definitions

www.sagecomputing.com.au

View Object XML has SQL definition

www.sagecomputing.com.au

So Many Files
Application workspace Workspace.jws

Project

Project.jpr

Entity Objects Asociations View Objects Links Application Module

Organisations.xml , Organisationsimpl.java OrgParentFkAssoc.xml OrganisationsView.xml, OrganisationsViewImpl.java OrgParentFkLink.xml AppModule.xml, AppModuleImpl.java

www.sagecomputing.com.au

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"
www.sagecomputing.com.au

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

www.sagecomputing.com.au

Application tab displays logical view


www.sagecomputing.com.au

System tab displays physical view

www.sagecomputing.com.au

Forms Data Mapping


EVENTS_VW View

EVENTS table

EVT_PK package

www.sagecomputing.com.au

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 www.sagecomputing.com.au

www.sagecomputing.com.au

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

www.sagecomputing.com.au

Component Tree

www.sagecomputing.com.au

Graphical Interface

www.sagecomputing.com.au

Component Palette

www.sagecomputing.com.au

Controller

www.sagecomputing.com.au

Controller

www.sagecomputing.com.au

www.sagecomputing.com.au

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
www.sagecomputing.com.au

Thank You For Your Attention

SAGE Computing Services


Customised Oracle Training Workshops and Consulting www.sagecomputing.com.au
Enquiries@sagecomputing.com.au
www.sagecomputing.com.au

Você também pode gostar