51
<Insert Picture Here> JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application Steven Davelaar Oracle Consulting

JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

<Insert Picture Here>

JHeadstart Forms2ADF Generator – Migrating from

Oracle Forms to a Best-Practice ADF application

Steven Davelaar

Oracle Consulting

Page 2: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Agenda

• What is JHeadstart?

• Demo: JHeadstart Forms2ADF Generator

• Demo: Modifying migration result

• Demo: OraFormsFaces

• Case Studies

Page 3: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Before we start – Define a Forms

modernization strategy!

• Where are we now?

• Analyze current situation

• Where do we want to go?

• Identify top business drivers / business benefits

• How do we want to go?

• Identify and choose modernization options

• What do we need to do when and with whom?

• Define modernization approach/timeline/project plan

Page 4: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

What is JHeadstart?

• JDeveloper extension for template-based automation of

ADF development tasks

• Development Toolkit on top of ADF

• Builds on ADF Runtime architecture

• Fully integrates with ADF Design Time

• Takes declarative development to the next level

• Generates complete ADF applications

• Like the Designer Forms Generator generates Forms apps,

JHeadstart generates ADF apps

• Transforms Oracle Forms into ADF applications

Page 5: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JHeadstart – Main Components

• JHeadstart Application Generator (JAG)

• Generates best-practice web application

• JHeadstart Utilities

• Automate other ADF development tasks

• Perform quality checks

• JHeadstart Runtime

• Reusable components to implement complex functionality

• Auto-implements host of best practices

• JHeadstart Forms2ADF Generator

• Create fully-functional ADF app based on forms definitions

• JHeadstart Developer’s Guide

Page 6: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JSF JSPADF Faces

JSF JSPADF Faces

JSF+ADFcJSF+ADFc

ADF Business

Components

ADF Business

Components

ADF Model

Data Bindings

Data Controls

ADF Model

Data Bindings

Data Controls

View

Controller

Model

BusinessServices

JDeveloper

ADF BC Wizard

JHeadstart

Application

Definition

Wizard

Application Definition

Application Definition

ADF BCmetadata

ADF BCmetadata

ADF Business

Components

ADF Business

Components

Generation

Process

Page 7: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JSF JSPADF Faces

JSF JSPADF Faces

JSFJSF

ADF Business

Components

ADF Business

Components

ADF Model

Data Bindings

Data Controls

ADF Model

Data Bindings

Data Controls

View

Controller

Model

BusinessServices

JDeveloper

ADF BC Wizard

JHeadstart

Application

Definition

Wizard

Application Definition

Application Definition

ADF BCmetadata

ADF BCmetadata

ADF Business

Components

ADF Business

Components

Page 8: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JSF JSPADF Faces

JSF JSPADF Faces

JSFJSF

ADF Business

Components

ADF Business

Components

ADF Model

Data Bindings

Data Controls

ADF Model

Data Bindings

Data Controls

View

Controller

Model

BusinessServices

JDeveloper

ADF BC Wizard

JHeadstart

Application

Definition

Wizard

GeneratorTemplates

GeneratorTemplates

Application Definition

Application Definition

JHeadstart

Application

Generator

ADF BCmetadata

ADF BCmetadata

ADF Business

Components

ADF Business

Components

JSF+ADFcJSF+ADFc

JSF JSPADF Faces

JSF JSPADF Faces

ADF Model

Data Bindings

Data Controls

ADF Model

Data Bindings

Data Controls

Generation

Process

Page 9: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JSF JSPADF Faces

JSF JSPADF Faces

JSF + ADFcJSF + ADFc

ADF Business

Components

ADF Business

Components

ADF Model

Data Bindings

Data Controls

ADF Model

Data Bindings

Data Controls

View

Controller

Model

BusinessServices

Forms2ADF

Generation

Process

Application Definition

Application Definition

ADF Business

Components

ADF Business

Components

JHeadstart

Forms2ADF

Generator

Form(.fmb)Form

(.fmb)Form(.fmb)Form

(.fmb)

Page 10: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JSF JSPADF Faces

JSF JSPADF Faces

JSFJSF

ADF Business

Components

ADF Business

Components

ADF Model

Data Bindings

Data Controls

ADF Model

Data Bindings

Data Controls

View

Controller

Model

BusinessServices

Generation

ProcessApplication Definition

Application Definition

ADF Business

Components

ADF Business

Components

JHeadstart

Forms2ADF

Generator

Form(.fmb)Form

(.fmb)Form(.fmb)Form

(.fmb)

Page 11: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JSF JSPADF Faces

JSF JSPADF Faces

JSFJSF

ADF Business

Components

ADF Business

Components

ADF Model

Data Bindings

Data Controls

ADF Model

Data Bindings

Data Controls

View

Controller

Model

BusinessServices

GeneratorTemplates

GeneratorTemplates

JHeadstart

Application

Generator

JSF+ADFcJSF+ADFc

JSF JSPADF Faces

JSF JSPADF Faces

ADF Model

Data Bindings

Data Controls

ADF Model

Data Bindings

Data Controls

Application Definition

Application Definition

ADF Business

Components

ADF Business

Components

JHeadstart

Forms2ADF

Generator

Form(.fmb)Form

(.fmb)Form(.fmb)Form

(.fmb)

Forms2ADF

Generation

Process

Page 12: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

D E M O N S T R A T I O N

Forms2ADFGenerator

Page 13: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Architecture OCM Demo

JSF

JSP JSF

ADF Data Binding

ADF Bus. Comp.

CDM RuleFrame

Data

OracleForms Server

Web Browser

Oracle10g

Database

Oracle10g

Application

Server

Page 14: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JHeadstart Forms2ADF Generator

• Generates ADF Business Components based on Forms Data Usages

• ADF BC Entity Objects created for used tables

• ADF BC View Objects created for blocks and record group queries

• Query Bind parameters created based on references to :block.item

• Model LOV’s created for each LOV / Record Group

• ADF BC Application Module created for each form

• Extracts Forms User Interface Definitions into JHeadstart Application Definition

• Groups created for each block

• Group Items created for each item in a block

• (Stacked) region containers and regions created based on item placement on (tabbed) canvasses and within framed graphics

• Domains created based on forms item allowable values

• PL/SQL logic copied as “documentation” nodes

Page 15: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Generated ADF Business Components

Page 16: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Generated Application Definition

Page 17: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Oracle Forms Screen

Page 18: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JHeadstart Generated ADF/JSF Page

Page 19: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Oracle Forms Screen

Page 20: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JHeadstart Generated ADF/JSF Page

Page 21: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Oracle Forms Screen

Page 22: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JHeadstart Generated ADF/JSF Page

Page 23: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Oracle Forms Screen

Page 24: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JHeadstart Generated ADF/JSF Page

Page 25: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

What about PL/SQL Logic?

• Custom PL/SQL Logic not automatically migrated to Java

• JHeadstart prefers sound multi-tier target architecture(ADF MVC) above automated PL/SQL migration• Analyze the logic

• Determine in which tier(s) it should be implemented

• Determine how to implement it

• Application Definition Editor shows all form, block and item triggers and all program units• Good overview of all custom PL/SQL logic

• Ability to move logic to database, to ADF BC or to JSF managed beans

Page 26: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

PL/SQL Code in Appl. Definition Editor

Page 27: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Forms2ADF Generator - Benefits

• Auto-created ADF Business Components, including model-

based LOV’s and UI Hints

• Migrates Forms user interface to metadata, not application

code!

• Easy to redesign into task-oriented web 2.0 user interface.

• JFG provides most savings for forms with

• Standard data blocks based on table or view

• Complex user interface: many (stacked) canvasses, tabs, LOV’s,

and other display types

• PL/SQL logic mostly limited to user interface dynamics

• Best Practice ADF architecture (see slides later on)

Page 28: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

D E M O N S T R A T I O N

Modifying Migration Results

Page 29: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JHeadstart Uses Best Practice ADF

Design Patterns• “One-page” application (UIShell)

• Generated bounded task flows use page fragments and can be

embedded as ADF region in page

• One page with dynamic region driven by application menu

• Generated task flows are highly reusable

• Use with traditional menu structure

• Use with dynamic tabs

• Use in handbuilt drag-and-drop pages

• Use as child within another region

• Use with human workflow task list

• Use as popup / list of values

• Use as WebCenter portlet

• Add at runtime using WebCenter Composer

Page 30: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JHeadstart Uses Best Practice ADF

Design Patterns

• Generated task flows are highly configurable

• Configure to start in create mode (new row)

• Configure to show one specific row (deeplinking)

• Configure to go to summary or detail page

• Configure to hide action buttons (Save, Cancel, Nav. Buttons)

• Configure to hide search region

• Configure to show in read-only mode

• Generates layout best practices

• Easy switching between stretching and non-stretching layouts

• Region interaction design patterns are auto-

implemented

Page 31: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Configurable TaskFlows Generated

• Taskflow Template Parameters

• Taskflow Parameters

Page 32: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Configurable Task Flows Generated

Page 33: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JHeadstart Superior Productivity – In

Many Ways

• Saves you months to figure out ADF best practices

• Saves you months with ready-to-use reusable

components

• Maximizes reuse

• JAG is actually RTG: Reusable Taskflows Generator

• Facilitates agile development

• Start with generating functional prototypes that evolve into

working system

• Eases upgrade to new JDeveloper releases

• Technology-agnostic metadata layer!

Page 34: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

<Insert Picture Here>

OraFormsFaces

Page 35: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

OraFormsFaces

• Third party product supplied by Commit Consulting

• Allows reuse of existing Forms as full featured JSF

components

• Two-way communication between forms and ADF

Faces web pages

• Allows for incremental migration to ADF/SOA world

Page 36: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JHeadstart OraFormsFaces Generator

• JHeadstart accelerates use of OraFormsFaces

• Generate pages with embedded Form components using Item

display type “OraFormsFaces”

• Easy deeplinking into Oracle Forms

• Generate Create, Delete, Save buttons that call out to

embedded Oracle Form

• Add security to JSF pages holding Forms Components

Page 37: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

D E M O N S T R A T I O N

OraFormsFaces

Page 38: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Integration JHeadstart - OraFormsFaces

Page 39: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Setting up Deeplinking between ADF

Page and Oracle Form

Page 40: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Setting up Deeplinking between ADF

Page and Oracle Form

Page 41: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Setting up Deeplinking between ADF

Page and Oracle Form

Page 42: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Integration JHeadstart – OraFormsFaces

Deeplinking JSF Page and Oracle Form

Page 43: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Integration JHeadstart – OraFormsFaces

Deeplinking JSF Page and Oracle Form

Page 44: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

<Insert Picture Here>

Forms2ADF Case

Studies

Page 45: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Finland - Financial Institution

• Why Forms2ADF• Performance problems with Forms over WAN

• Problems with Java applet due to different Java versions in browser

• Architecture Forms App• Simple user interface

• Complex data retrieval: DB procs populate temp tables orrecord groups

• Complex data manipulation through DB procs

• Complex mexhanism to call reports through DBMS_PIPE with polling mechanism

• Added Value JHeadstart Forms2ADF Generator• None

Page 46: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Finland - Financial Institution

• Customer Impressed with Added Value ADF and

JHeadstart

• Dynamic form rebuilt in ADF in three hours with much cleaner

architecture

• Polling requirement: 15 minutes work with standard ADF

Faces components

• ADF Business Components well suited to reuse existing SQL

statements

• Reuse capabilities of ADF task flows

• Clean MVC architecture

• Customer strongly considers to move to ADF and

JHeadstart, has to do strategic thinking first!

Page 47: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Netherlands - ISV

• Why Forms2ADF• Wants to add self service capabilities to core app

• Wants modern user interface

• Architecture Forms App• Complex user interface, many tabs, many items on canvas

• Standard data retrieval and manipulation

• Most business logic in database

• Added Value JHeadstart Forms2ADF Generator• Business Components auto-created based on forms definitions (1 form resulted in 162 business components)

• Migrated metadata strongly modified to generate new user interface

Page 48: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Netherlands – Government IT

Department

• Why Forms2ADF

• Forms 4.5 and DB 8.1.7 no longer supported

• System integration dificult because of old/obsolete technology

• Character-based user interface, end users complain

• High maintenance cost

• Hard to find resources skilled with older Forms versions

• Architecture Forms App

• Character-based 24*80 screens

• Standard data retrieval and manipulation

• Most business logic in forms

• Added Value JHeadstart Forms2ADF Generator

• Business Components auto-created based on forms definitions, inclusing UI labels derived from boilerplate text

• Migrated screens generated with minor changes to metadata

• Amount of UI redesign to be decided

Page 49: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Netherlands – Government IT

Department

• Migrated ADF 11 prototype used to create

enthousiasm and gain credibility in organisation

• Existing Forms developers keen to learn ADF

• JHeadstart Migration Estimating Utility generates

excel sheet with estimates based on forms

characteristics

• Used to provide insight in total migration effort

Page 50: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

Forms2ADF - Recommendations

• Think Big - Start Small

• Make a roadmap for your Forms app

• Review Architecture of your Forms app

• Review Business and Functional requirements

• How does it fit in your overall IT landscape

• Start Forms to Oracle ADF Assessment / Proof of

Concept

• Start SOA Maturity Assessment

Page 51: JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application

JHeadstart – Next Steps

• Get more info at “JHeadstart Product Center” (google):

• Developer’s guide

• Tutorial

• Online Forms2ADF demonstrations

• Customer success stories

• Frequently asked questions

• Evaluate JHeadstart

• JDeveloper Help -> Check for Updates -> Open Source and

Partner Extensions

• Do the tutorial

• Buy JHeadstart

• Ask additional questions at OTN JHeadstart Discussion Forum

or email [email protected]