+ All Categories
Home > Technology > Oracle Forms Modernization Strategies

Oracle Forms Modernization Strategies

Date post: 19-May-2015
Category:
Upload: oracleimc-isv-migration-center
View: 8,531 times
Download: 6 times
Share this document with a friend
Popular Tags:
83
<Insert Picture Here> Modernization strategies for Oracle Forms-based applications Dmitry Nefedkin Oracle ISV Migration Center FMW Consultant [email protected]
Transcript
Page 1: Oracle Forms Modernization Strategies

<Insert Picture Here>

Modernization strategies for Oracle Forms-based applications

Dmitry Nefedkin

Oracle ISV Migration Center FMW Consultant

[email protected]

Page 2: Oracle Forms Modernization Strategies

ISV Migration Center Team

• Who we Are ISV Migration Center Team is a team of senior technical consultants

based in Eastern and Central Europe and represents Oracle's technical investment

for partners.

• Mission Statement Enable partners to rapidly and successfully adopt and

implement Oracle latest technology

• What do we Offer Whether you are selling Oracle technology, building business

solutions, including hosted Internet solutions or providing system integration and

implementation services for Oracle technology, IMC Team can help you succeed.

• How can we assist We offer a wide range of free services for partners such as

one2one assistance, webinars, seminars and hands-on workshops.

For more information, visit the IMC website.

Our blog: http://blogs.oracle.com/imc

Contacts:

Ruxandra Radulescu, ISV Migration Center Manager EE&CIS

[email protected]

Page 3: Oracle Forms Modernization Strategies

<Insert Picture Here>

Agenda

• Review Oracle Forms strategy

• Modernizing Oracle Forms

• Considering Migrating?

• How Oracle ADF can help

• Comparing Forms and Oracle ADF

• Forms -> ADF migration tools

• Customer stories

Page 4: Oracle Forms Modernization Strategies

<Insert Picture Here>

Oracle Forms strategy review

Page 5: Oracle Forms Modernization Strategies

Oracle Forms Strategy

• “…There are no plans to desupport Oracle Forms and Reports…” – Oracle Tools Statement of Direction • http://www.oracle.com/technology/products/forms/pdf/10g/Too

lsSOD.pdf

• Clear statement of direction• Upgrade

• Ensure support, certification, new features, platform for integration

• Integrate

• Use non-Forms technologies when/as the business dictates

• Provide “Forms-like” experience for building with Java technologies

Page 6: Oracle Forms Modernization Strategies

Some Modernization options

• Upgrade and use the latest features

• Integrate with external service/events

• Call to external events

• External events calling into Forms

• UI modernization

Page 7: Oracle Forms Modernization Strategies

The World Outside of Oracle Forms

• Synchronous integration with external services to provide non-

native-to-Forms features

• Enterprise features

• Email, SMS, email verification

• B2B integration

• Credit check, delivery progress, stock lookup, price comparison

• Oracle Apps/Siebel/PeopleSoft/SAP

• .Net applications

• Asynchronous processes calling into Forms

• Alerts, asynchronous data changes, long running WS calls

• Client side integration using Java Beans and JavaScript

• Mashup Forms and Ajax applications

• Extend and modernize the Forms UI

Page 8: Oracle Forms Modernization Strategies

Integration with External Services –

Synchronous Services Calls

• Identify an external web service

• Generate client from WSDL

• Wrap client using Forms Java Importer

• Call from Forms

Page 9: Oracle Forms Modernization Strategies

Integration with External Services –

Asynchronous Event Calls

• Forms registers interest in an asynchronous event

(Event name, Type, Scope)

• New When-Event-Raised trigger

Demo: http://bit.ly/Forms11gExtEventsDemo

Page 10: Oracle Forms Modernization Strategies

Integration with Client Side JavaScript

• Call JavaScript from Forms

Web.Javascript_eval_expr, Web.Javascript_eval_function

• JavaScript can raise Forms events

• When-Custom-JavaScript-Event

Demo: http://bit.ly/Forms11gJavaScript

Forms

Server

Forms

Client

Procedure

calls

Page 11: Oracle Forms Modernization Strategies

Lifetime Support Policy for Fusion

Middleware

• http://bit.ly/OFMLifetime

Page 12: Oracle Forms Modernization Strategies

Should we license Weblogic when

upgrading to Forms 11g?

Page 13: Oracle Forms Modernization Strategies

Weblogic Server Basic license

• The license for each edition of Oracle Internet

Application Server and for Oracle Forms and Reports

enables the right to full use of the WebLogic Server

Basic license

• This license has limitations to several Weblogic

Server features, see details - http://bit.ly/WLSBasic

• To verify that WebLogic Server is being used in

accordance with the WebLogic Server Basic license

you can run the script. See My Oracle Support

article: Doc ID: 885587.1

Page 14: Oracle Forms Modernization Strategies

<Insert Picture Here>

What about migration?

Page 15: Oracle Forms Modernization Strategies

Possible Reasons for Migrating

Our Forms application is

reaching its natural end-of-life

Our business has changed considerably and Forms no

longer meets our requirements

I LOVE what Fusion could do for our

business!

Our business requires us to be adopting

leading edge, modern technologies

Page 16: Oracle Forms Modernization Strategies

Possible Reasons for NOT Migrating

If it ain’t broke don’t fix it!

We are heavily invested in Forms and it is still

meeting the requirements of our

business

We are taking a much more measured

approach to embracing new

development and technologies

Our end users are completely happy with the “heads down” data

entry approach of Forms

Page 17: Oracle Forms Modernization Strategies

Possible Wrong Reasons for

Considering Migration

Forms has been desupported,

right?

We upgraded from Forms 6i to 10g and we

noticed performance issues. We’ll rewrite in

Java because that will be faster

If we rewrite our Forms in Java we’ll

end up saving $$$$ in development costs!

Oracle are telling us we need to get off of Forms and write everything in

Java/ADF/Apex

Page 18: Oracle Forms Modernization Strategies

Some of the differences you have to

overcome…

Oracle Forms Fusion/Web Applications Impact?

• Java applet UI • HTML/JavaScript

• Different style of UI but you are still working

with “widgets”

• HTML works on page POST

• X,Y layout versus layout containers

• PL/SQL scripting

language

• Java (but still PL/SQL in

the database)

• Objects v. Procedural is different but basic

statements are similar (if, then else)

• Stateful dedicated

connections

• Stateless pooled

connections

• Generally you don’t want dedicated

processes per user

• ADF BC gives you simplicity of stateful but

performance of stateless

• No separation of UI

and data elements

• Separate UI and data

elements

• Big advantage on resuse when separate

• Can’t/shouldn’t be writing business logic

internals from UI code (and visa versa)

• Proprietary and fixed

framework

• Standard and open

(override and augment)

• Fixed means you don’t have to understand

the internals

• Open means you are not limited by the

vendor’s implementation

Page 19: Oracle Forms Modernization Strategies

Things Even Look Different! From This…

Page 20: Oracle Forms Modernization Strategies

…To These

Page 21: Oracle Forms Modernization Strategies

“Any attempt to [re-write] a Forms application to

[Java, Apex …] without taking into consideration

the difference in architecture is in effect an effort at

re-implementing the 20-year-old Forms runtime”

http://www.oracle.com/technetwork/developer-

tools/forms/documentation/formsmigration-133693.pdf

Grant Ronald, Oracle

Writing in the ODTUG Journal

You Should Not Ignore These Differences

Page 22: Oracle Forms Modernization Strategies

<Insert Picture Here>

How Oracle ADF can help

Page 23: Oracle Forms Modernization Strategies

Reasons to choose Oracle ADF

• Abstracts the complexity the technologies

• Visual and declarative development

• Take care of the “plumbing”

• Metadata driven – not code

• Technology chosen for Oracle’s future business applications

• Proven in deployment and performance

• Proved in developer productivity

• Implements JEE design patterns and best practices

• Standards based

• Promotes service oriented development

• Reusable business services

• Composite application development

Page 24: Oracle Forms Modernization Strategies

Struts

Relational Data XML Data Legacy Data

Business Services

Data Services

Model

Controller

JSP View

Desktop Browser/ Mobile Devices

ADFm (JSR 227)

Packaged Apps

Oracle ADF 11g Architecture

JSF ADF Faces

JSF/ADFc

Java EJB BAM BPEL ADF BC BI XML

OfficeSwing

Web Services

Portlet Toplink JMXJCR

Page 25: Oracle Forms Modernization Strategies

Technologies of Choice for 4GL

Developers

ADF Model

Struts JSF

ADF Faces RCJSPADF Swing View

Controller

Model(JSR 227)

Business Services

Rich Client Web / Wireless

Relational Data XML Data Legacy Data

Data Source

EJB/Toplink

ADF

Business

Components

Java

Classes

Web

ServicesPortlets

Packaged Apps

Page 26: Oracle Forms Modernization Strategies

<Insert Picture Here>

Development approach

with JDeveloper and ADF

Page 27: Oracle Forms Modernization Strategies

Development Approach with Forms

• Define and model database layer

• Build data objects based on data model (Blocks)

• Bind UI to data objects and refine UI

• Build logic (Flow, UI logic & Business Logic)

Page 28: Oracle Forms Modernization Strategies

Development Approach with

JDeveloper and ADF

1. Define/Model DB Layer

• Design and

generate

• Import

• Reconcile

• Browse

• Create/Modify

on line

Page 29: Oracle Forms Modernization Strategies

Development Approach with

JDeveloper and ADF

2. Build Data Objects

• Reverse Engineered from DB

• Wizard

• UML Model

• New Object Model

• Class model

• Mapping

Page 30: Oracle Forms Modernization Strategies

Development Approach with

JDeveloper and ADF

3. Bind UI to Data Objects

and refine UI

• WYSIWYG

• For all type of views

• Data Binding

• Drag and Drop

• Declarative

Binding

• #{bindings.ManagerId} ~~ :empBlk.managerid

Page 31: Oracle Forms Modernization Strategies

Development Approach with

JDeveloper and ADF

4. Build Application Logic/Flow

• UI Logic and Business Logic

• Declarative

• Java Code

• Application Flow

• Page Flow Modeler

Page 32: Oracle Forms Modernization Strategies

<Insert Picture Here>

Demonstration

Development Approach with JDeveloper and

ADF

Page 33: Oracle Forms Modernization Strategies

<Insert Picture Here>

Comparing Forms and ADF -

architecture

Page 34: Oracle Forms Modernization Strategies

Forms as a Framework

SQL Interface

Java UI Renderer

PL/S

QL

en

gin

e

Record Manager

Block

Page 35: Oracle Forms Modernization Strategies

Forms Mapping to ADF

Business Services

Web, Wireless

ClientsRich Clients

Model

Controller

SQL Interface

Data

Logic Record Manager

Block Data Definition

Navigation Logic

UI

Logic Block UI Definition

Java UI Renderer

Page 36: Oracle Forms Modernization Strategies

Forms Mapping to ADF

Web, Wireless

ClientsRich Clients

Controller

SQL Interface

Data

Logic Record Manager

Block Data Definition

Navigation Logic

UI

Logic Block UI Definition

Java UI Renderer

Business Services

Model

Page 37: Oracle Forms Modernization Strategies

Forms Mapping to ADF

Business Services

Web, Wireless

ClientsRich Clients

Model

Controller

SQL Interface

Data

Logic Record Manager

Block Data Definition

Navigation Logic

UI

Logic Block UI Definition

Java UI Renderer

Page 38: Oracle Forms Modernization Strategies

<Insert Picture Here>

Comparing Forms and ADF –

features

Page 39: Oracle Forms Modernization Strategies

Comparing Forms and ADF

There are many new capabilities

• Data/UI Split (Multiple Views)

• Page Flow

• Unit testing

• One click Deployment

• Coding features

• Tuning, auditing, debugging

• Source Control integration

• ….

Page 40: Oracle Forms Modernization Strategies

Comparing Forms and ADF

But also many similar features

• Model

• Master/Detail Coordination

• SQL Based

• Format Mask, Default Values

• Declarative validation

• Triggers (Mapping to Java Methods)

• View

• Visual environment (WYSIWYG, Drag & Drop,…)

• Global Look and Feel (CSS, Skins)

• Query By Example

• Controller

• Event Model (Events associated to UI objects)

Page 41: Oracle Forms Modernization Strategies

Master/Detail Coordination in ADF

• Out-of-the-box

• Defaulted to the

DB constraints

• No coding

required

Page 42: Oracle Forms Modernization Strategies

SQL-based ADF Business Components

• Full Access to SQL

• Similar to

• Block Query

• LOV Query

• Validation Query

• Tuning options

Page 43: Oracle Forms Modernization Strategies

“Item” Properties

• Prompt

• Updateable

• Required

• Sequence

• Non Database

• Not associated to

a DB column

Page 44: Oracle Forms Modernization Strategies

Setting a Format Mask in Oracle Forms

Page 45: Oracle Forms Modernization Strategies

Setting a Format Mask in ADF

Page 46: Oracle Forms Modernization Strategies

Dynamic Default Values in Oracle Forms

Page 47: Oracle Forms Modernization Strategies

Dynamic Default Values in ADF

declaratively

Page 48: Oracle Forms Modernization Strategies

Dynamic Default Values in ADFor in java code

Page 49: Oracle Forms Modernization Strategies

Range Validation in Oracle Forms

Page 50: Oracle Forms Modernization Strategies

Range Validation in ADF

Page 51: Oracle Forms Modernization Strategies

Record-Level Validation in Oracle Forms

Page 52: Oracle Forms Modernization Strategies

Record-Level Validation in ADF Create Validation Method In Java Class

• Method returns boolean true if valid, and false if

invalid

public boolean validateThatSNamesDontEarnOver4000() {if (getSal().intValue() > 4000 &&

getEname().toUpperCase().startsWith("S")) {return false;

}return true;

}

Page 53: Oracle Forms Modernization Strategies

Record-Level Validation in ADF Assigning validation method

Page 54: Oracle Forms Modernization Strategies

Transactional Triggers in Oracle Forms

• PRE-INSERT, ON-INSERT, POST-INSERT

• PRE-UPDATE, ON-UPDATE, POST-UPDATE

• PRE-DELETE, ON-DELETE, POST-DELETE

Page 55: Oracle Forms Modernization Strategies

doDML() Method In ADF BC

// Overrides default doDML() Behavior of Entity Objectprotected void doDML(int operation, TransactionEvent e) {

if (operation == DML_INSERT) {/* pre-insert */super.doDML(operation, e); /* on-insert *//* post-insert */

}if (operation == DML_UPDATE) {

/* pre-update */super.doDML(operation, e); /* on-update *//* post-update */

}// do the same for updates}

Page 56: Oracle Forms Modernization Strategies

Global Look and Feel in ADF

• Similar to

Visual Attributes in Forms

• Pre-Defined CSS

• Centralized file

• Easy to customize

• Template and

Skin mechanism

Page 57: Oracle Forms Modernization Strategies

Query By Example in ADF

Search Form Table Filtering

Page 58: Oracle Forms Modernization Strategies

Event Model

<double click>

Page 59: Oracle Forms Modernization Strategies

<Insert Picture Here>

Forms -> ADF migration tools

Page 60: Oracle Forms Modernization Strategies

Tools that can help you to migrate

from Forms to ADF

• Oracle JHeadstart 11g for ADF

(http://www.jheadstart.com )

• OraFormsFaces

(http://www.oraformsfaces.com/)

Page 61: Oracle Forms Modernization Strategies

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

• Enables agile development

• Implements ADF Best Practices

Page 62: Oracle Forms Modernization Strategies

JHeadstart Application Generator (JAG)

• Generates ADF Faces JSPX Pages

• Generates Faces-Config XML files

• Generates PageDefinition XML files (data bindings)

• Does NOT generate any Java code!

• JAG is driven by

• XML-based Application Definition file, created and edited

through GUI Wizard (JDeveloper add-in)

• Velocity Generator Templates

• Generated output is 100% customizable

Page 63: Oracle Forms Modernization Strategies

JHeadstart Forms2ADF Generator

• Converts Forms .fmb files to ADF Business Components

• ADF BC Entity Objects created for used tables

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

• ADF BC Application Module created for each form

• Converts Forms .fmb files to JHeadstart Application

Definition

• Groups created for each block

• LOV Groups created for each LOV / Record Group

• 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 migrated as “documentation” nodes

Page 64: Oracle Forms Modernization Strategies
Page 65: Oracle Forms Modernization Strategies

Oracle Forms Screen

Page 66: Oracle Forms Modernization Strategies

JHeadstart Generated ADF/JSF Page

Page 67: Oracle Forms Modernization Strategies

What is 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

• Can be downloaded as the packaged Jdeveloper

extension

Page 68: Oracle Forms Modernization Strategies

OraFormsFaces in action

Page 69: Oracle Forms Modernization Strategies

<Insert Picture Here>

Customer stories

Page 70: Oracle Forms Modernization Strategies

Why Forms Customers Might Consider

Oracle ADF

• Technical advantages• No browser plug in required

• Multi channel deployment

• Richer UI component set

• Higher level of flexibility and reuse

• Standards based

• Easier integration

• WebCenter, SOA, FMW, Business apps

• New markets and opportunities• Mobile applications

• Self service applications

• Adoption of a service based architecture

Page 71: Oracle Forms Modernization Strategies

Why Forms Customers Might Consider

Oracle ADF

• Business advantages

• You need to show you are using leading edge technologies

• Based on standards

• Built in customization

• Same application deployed for different customers

• Strategic technology choice for Oracle’s future business

application: Fusion

• Easiest transition for Forms developers moving to Java

• Reuse skills and experience

• Modern application look and feel…

Page 72: Oracle Forms Modernization Strategies

Customer Story - Mednet

• Mednet International – Information Technology for

Health Insurance

• MedNeXt product is based on Forms6i (around 700

forms).

• The issues:

• The application is Client/Server based

• Client require rich JEE Web systems

• Integration with other apps is not loosely coupled

(point-to-point Web services implemented in

PL/SQL)

Page 73: Oracle Forms Modernization Strategies

Customer Story - Mednet

• Oracle Fusion Front-end implementation with

Jdeveloper 11g, Oracle Weblogic Server and Oracle

ADF 11g

• Decided to our ADF Business Components because it

is used by Oracle itself for their next generation apps

• Product is developed based on JEE standards

• Modernized product can be integrated with other

systems using Oracle SOA Suite

• New developers can become productive within 4

weeks

Page 74: Oracle Forms Modernization Strategies

Project Reference – MedNeXt

(as of October 2009)

• Project Manager

• Technical Manager

• Technical Consultant

• 16 Oracle ADF Developers

• 200 Forms to develop

• 27 Logical Modules developed already

• 2600 ADF Business Components elements

developed already

• 300 Java classes developed already

• 240 Web Pages developed already

Page 75: Oracle Forms Modernization Strategies

MedNeXt - Incident form

Page 76: Oracle Forms Modernization Strategies

Sample Development

Time Estimation

Page 77: Oracle Forms Modernization Strategies

Customer Story – MicrosPhased Approach

Opera 2.x

(Forms)

Opera 3.x

(WebForms)

Use

r In

terf

ace

Bu

sin

ess L

og

ic

Opera 4.x +

(Web2.0 / SOA)

Da

ta A

cce

ss

Page 78: Oracle Forms Modernization Strategies

• Data Model re-used for Pillar Deployment

• Create “Service Domain” schemas

• Allow for separation of concerns in upgrades:

Pricing, Reservation, Fulfillment, CRM, etc.

Da

ta A

cce

ss

Bu

sin

ess L

og

icU

se

r In

terf

ace

Key Design Principles and Patterns

• Leveraged Forms to ADF Components:

Faces, Taskflows, Data Visualization

• BI Answers/Dashboard

Drill down to transactions

• Phase 1

create Façade to expose existing logic as services

• Phase 2

refactor logic from PL/SQL to JEE over time

Page 79: Oracle Forms Modernization Strategies

User Experience - Before

Page 80: Oracle Forms Modernization Strategies

User Experience - After

Page 81: Oracle Forms Modernization Strategies

Summary

• No plans to desupport Oracle Forms

• Let the business dictate when you want to explore

new technologies

• Oracle’s strategy for their Fusion Application is based

on JDeveloper and Oracle ADF

• Proven technologies

• Proven productivity

Page 82: Oracle Forms Modernization Strategies

Helping Forms Developers

• ISV Migration Center

If you wish to participate in a free hands-on workshop on ADF 11g,

please contact Ruxandra Radulescu ([email protected])

or your local Oracle Partner Manager.

• Oracle Technology Network (otn.oracle.com)

• Oracle Documentation (docs.oracle.com)

• Oracle University & Partner Academy courses

• Books: http://bit.ly/ADF11gBooks

Page 83: Oracle Forms Modernization Strategies

Questions

Dmitry Nefedkin

Oracle ISV Migration Center FMW Consultant

[email protected]

ISV Migration Center blog: http://blogs.oracle.com/imc


Recommended