<Insert Picture Here> JHeadstart: Real world experiences for migrating Forms to ADF

Similar documents
The Oracle Fusion Development Platform

Developing Rich Web Applications with Oracle ADF and Oracle WebCenter Portal

Oracle Application Development Framework Overview

<Insert Picture Here> Building a Complex Web Application Using ADF and Siebel

<Insert Picture Here> Oracle Mobile Enterprise Application Platform Overview

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

<Insert Picture Here> Betting Big on JavaServer Faces: Components, Tools, and Tricks

Oracle Data Integrator 11g New Features & OBIEE Integration. Presented by: Arun K. Chaturvedi Business Intelligence Consultant/Architect

From Forms to ADF When, Why and How? Senior Group Product Manager - Application Development Tools

Tutorial on Building a web Application with Jdeveloper using EJB, JPA and Java Server Faces By Phaninder Surapaneni

JD Edwards EnterpriseOne Mobile Solutions

Oracle JDeveloper 10g for Forms & PL/SQL

Amplify Service Integration Developer Productivity with Oracle SOA Suite 12c

Applications. Oracle WebCenter 11 g Handbook: Build Rich, Customizable Enterprise 2.0. Oracle Press ORACLE. Philipp Weckerle.

Building an Agile PLM Web Application with JDeveloper and Agile 93 Web Services

Top 10 Oracle SQL Developer Tips and Tricks

Mobilize Your ERP with ADF Mobile

ORACLE WEBCENTER PORTAL

Oracle Platform Security Services & Authorization Policy Manager. Vinay Shukla July 2010

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

How Can Agile Customers Benefit from Oracle Fusion Middleware Today?

secure intelligence collection and assessment system Your business technologists. Powering progress

Oracle Technology Network Virtual Developer Day. Developing RIA Web Applications with Oracle ADF

This presentation is for informational purposes only and may not be incorporated into a contract or agreement.

Oracle Business Intelligence ADF Custom Visualizations and Integration. An Oracle White Paper November 2012

ORACLE BUSINESS INTELLIGENCE WORKSHOP

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

Building and Using Web Services With JDeveloper 11g

Software Development Kit

Application. 1.1 About This Tutorial Tutorial Requirements Provided Files

Oracle Forms Developer 10g: Build Internet Applications

Compiere Technical Architecture Modern, configurable, extendible

G-Cloud Framework. Service Definition. Oracle Fusion Middleware Design and Implementation

SERVICE ORIENTED ARCHITECTURE

Management. Oracle Fusion Middleware. 11 g Architecture and. Oracle Press ORACLE. Stephen Lee Gangadhar Konduri. Mc Grauu Hill.

Enterprise Service Bus

Groot, Groter, Groots(t)

BUSINESS RULES CONCEPTS... 2 BUSINESS RULE ENGINE ARCHITECTURE By using the RETE Algorithm Benefits of RETE Algorithm...

How To Create A Graph On An African Performance Monitor (Dvt)

IBM Rational Web Developer for WebSphere Software Version 6.0

DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES

ORACLE ADF MOBILE DATA SHEET

BPM ORACLE BPM: AN OVERVIEW. By: Chris Ostrowski. Oracle BPM: An Overview i. Copyright 2014 Avout Copyright 2014 Avout

SOA and Web Services. Larry Kramer Principal Applied Technologist June 9, A PeopleTools and Fusion perspective

mframe Software Development Platform KEY FEATURES


Oracle Mobile Solutions. Filip Huysmans Contribute Group

Ellucian BPM Solutions Roadmap

Developing Web and Mobile Dashboards with Oracle ADF

Ken Bond Vice President Investor Relations

ADF. Joe Huang Joe Huang Senior Principal Product Manager, Mobile Development Platform, Oracle Application Development Tools

Managing Third Party Databases and Building Your Data Warehouse

ADF Code Corner How-to pass values from a parent page to a popup dialog. Abstract: twitter.com/adfcodecorner

6.2 Reporting BIPublisher Improvements

Configuring and Managing a Private Cloud with Enterprise Manager 12c

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

Migrating a Discoverer System to Oracle Business Intelligence Enterprise Edition

Chapter 15: Forms. User Guide. 1 P a g e

IBM BPM V8.5 Standard Consistent Document Managment

Leveraging BPM Workflows for Accounts Payable Processing BRAD BUKACEK - TEAM LEAD FISHBOWL SOLUTIONS, INC.

Implementing Web Services in Oracle Database Applications

Web Application Development for the SOA Age Thinking in XML

An introduction to creating JSF applications in Rational Application Developer Version 8.0

Sugar Professional. Approvals Competitor tracking Territory management Third-party sales methodologies

Real-Time Insight with Oracle Transactional Business Intelligence

OpenText Information Hub (ihub) 3.1 and 3.1.1

Category: Business Process and Integration Solution for Small Business and the Enterprise

A Technical Roadmap for Oracle Fusion Middleware, E-Business Suite Release 12 and Oracle Fusion Applications

Sugar Professional. Approvals Competitor tracking Territory management Third-party sales methodologies

Oracle Business Activity Monitoring 11g New Features

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA

SAP BO 4.1 COURSE CONTENT

How To Develop A Mobile Application On An Android Device

Automate Your BI Administration to Save Millions with Command Manager and System Manager

DB2 Application Development and Migration Tools


Data Integration and ETL with Oracle Warehouse Builder: Part 1

Software as a Service Business Model (Introducing SOA and Web Service)

Agenda. Fusion Middleware Release 12 Fusion Applications

Editions Comparison Chart

<Insert Picture Here>

A Beginners Guide to Fusion Middleware

SAP Data Services 4.X. An Enterprise Information management Solution

Oracle Intro Slide. Why Upgrade from Agile Advantage/8.5 to Agile 9.3 PLM?

<Insert Picture Here> Oracle BI Standard Edition One The Right BI Foundation for the Emerging Enterprise

Oracle Fusion Middleware

DataPA OpenAnalytics End User Training

Oracle SOA Suite Then and Now:

An Oracle White Paper February Schneider National Implements Next - Generation IT Infrastructure

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario

Track and Keynote/Session Title 9:00:00 AM Keynote 11g Database Development Java Track Database Apex Track.Net Track. 09:30:00 AM with Oracle and

Tutorial: Building a Web Application with Struts

How To Build A Web App


Oracle Service Bus Examples and Tutorials

Clouds on the Horizon: What s the Best Oracle Fusion Strategy for Those Still on Oracle 11i or R12.0?

Transcription:

<Insert Picture Here> JHeadstart: Real world experiences for migrating Forms to ADF Steven Davelaar twitter:@stevendavelaar Consulting Solutions Architect blog: blogs.oracle.com/jheadstart Oracle Fusion Middleware Architects Team (the A-team )

Agenda Part I: JHeadstart Migrating Forms using JHeadstart Part II: Case Study Lessons learned, other pitfalls (Defining a modernization strategy)

Oracle JHeadstart <Insert Picture Here>

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 Provides host of best practices out of the box 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

JHeadstart Main Components JHeadstart Application Generator (JAG) Generates best-practice web application 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 Utilities Automate other ADF development tasks Perform quality checks JHeadstart Developer s Guide

JHeadstart Application Generator (JAG) Generates ADF Faces JSPX Pages, Page Fragments and Regions Generates (un)bounded task flows 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

Application Definition Generation Process JHeadstart Application Definition Wizard JSF JSP ADF Faces JSF+ADFc View Controller ADF BC metadata ADF Model Data Bindings Data Controls Model JDeveloper ADF BC Wizard ADF ADF Business Business Components Components Business Services

Application Definition JHeadstart Application Definition Wizard JSF JSP ADF Faces JSF View Controller ADF BC metadata ADF Model Data Bindings Data Controls Model JDeveloper ADF BC Wizard ADF ADF Business Business Components Components Business Services

Application Definition Generator Templates Generation Process JHeadstart Application Definition Wizard JSF JSP ADF Faces JSF+ADFc JSF View Controller ADF BC metadata JHeadstart Application Generator ADF ADF Model Model Data Data Bindings Bindings Data Data Controls Controls Model JDeveloper ADF BC Wizard ADF ADF Business Business Components Components Business Services

D E M O N S T R A T I O N JHeadstart Application Generator

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

JHeadstart-Generated Taskflow in Handbuilt Dashboard Page

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 autoimplemented

Recommended Approach to Customizing Generated Output Use the visual design time tools in JDeveloper to make any modifications you like Drag and drop from control palette Structure pane Property inspector.. Run the modified page and verify it works as expected Move the custom page code to a custom template to preserve the modifications upon regeneration (or switch off page generation flag and skip last step)

JHeadstart Key Messages JHeadstart incorporates a host of best practices in developing ADF Fusion web applications Rapid prototyping to speed up analysis phase, and to figure out most suitable user interface patterns Repetitive development tasks are automated. JHeadstart auto-implements common user interface design patterns Forms application definitions might be reused to ease transition to ADF and SOA Learn ADF 11 by example.

Oracle JHeadstart Forms2ADF Generator <Insert Picture Here>

Form (.fmb) Form (.fmb) Form (.fmb) Form (.fmb) Application Definition Forms2ADF Generation Process JSF JSP ADF Faces JSF + ADFc View Controller JHeadstart Forms2ADF Generator ADF Model Data Bindings Data Controls ADF ADF Business Business Components Components Model Business Services

Application Definition Generation Process Form (.fmb) Form (.fmb) Form (.fmb) Form (.fmb) JSF JSP ADF Faces JSF View Controller JHeadstart Forms2ADF Generator ADF Model Data Bindings Data Controls ADF ADF Business Business Components Components Model Business Services

Application Definition Generator Templates Forms2ADF Generation Process Form (.fmb) Form (.fmb) Form (.fmb) Form (.fmb) JSF JSP ADF Faces View JSF+ADFc JSF Controller JHeadstart Forms2ADF Generator JHeadstart Application Generator ADF ADF Model Model Data Data Bindings Bindings Data Data Controls Controls ADF ADF Business Business Components Components Model Business Services

D E M O N S T R A T I O N Forms to be migrated

OCM0010 Tracks Admin

OCM0050 People Admin

OCM0110 Submit Presentations

OCM0120 Presentation Scheduler (p1)

OCM0120 page 2

OCM0120 page 3

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

Running the Forms2ADF Generator

Generated ADF Business Components

Generated Application Definition

OCM0110 Migrated to ADF

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

Understanding the Challenge Web Browser ADF Faces Forms Module? ADF Task Flows ADF Data Binding ADF Appl. Modules Module ADF View Objects ADF Entity Objects Database

JHeadstart Forms2ADF Generator Key Messages Auto-created ADF Business Components, including modelbased 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. Generates best-practice ADF application 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

Agenda Part I: JHeadstart Migrating Forms using JHeadstart Part II: Case Study Lessons learned, other pitfalls (Defining a modernization strategy)

Case Study Dutch government organisation Replacement of 20 year old character-mode Forms system. Business drivers: Ensure business continuity Reduce yearly maintenance cost Increase flexibility and adaptibility to have shorter time-tomarket for new legislation Follow government policy to use open standards and government reference architecture (NORA)

Case Study Old System in Numbers 110 tables, composite meaningful PK s 220 forms (Oracle Forms 4.5) 70 report launch forms 20 read-only forms almost identical to maintenance form 8 interfaces 70 reports (Oracle Reports) 10.000 letter templates in RTF (custom mail-merge) 2000 end users 19 locations, 19 databases

Migration requirements AS IS Migration, no functional enhancements Consolidate in 1 database Data entry as fast as old system -> keyboard-only data entry as much as possible Architectural: split up in 8 (reusable) components At data and business logic level Components identified by enterprise architect

Software Layers New System ADF Faces Web Browser ADF Task flows ADF Data Binding Script Engine ADF Business Components Messaging Interface Web Br. Browser BI Publ. Reports Weblog gic Serve VPD DB Objects Oracle Text Database Server

Usage of JHeadstart During 10-day Proof of Concept, JHeadstart Forms2ADF Generator was extensively used During actual redevelopment Forms2ADF Generator was not used at all, primarily because Changes to data model Split in components However, new ADF application is 100% generated using JHeadstart Application Generator. Same pattern at other Forms2ADF customers

Old User Interface

New User Interface

New User Interface Context-sensitive function key support Autosuggest LOV As You Type Search on code, name, phone..

New User Interface Multi-tasking through dynamic tabs High levels of reuse 1 dynamic, table-driven, report launch form, replacing 70 old report launch forms Same ADF task flow used for maintenance screens, read-only screens and lookup screens ADF regions even allowed for component separation at the user interface level Added complexity...

New User Interface New modern user interface very well received by end users so far But still room for lot of improvement... Screens still window-on-data instead of task- oriented No integrated human taskflow capabilities No integrated business intelligence No integrated content management

Redevelopment - Timeline PoC with ADF/JHeadstart in December 2009 Project started march 2011 Until July little progress Slow and error-prone process to get new datamodel Small dev team (2 ADF developers) August - December Team scaled up to 16 people: 1 PM, 5 ADF, 2 interfaces, 2 reports, 1 data migration, 2 designers, 2 testers Acceptance testing in december First location live planned for 02-01-2012 Initial budget exceeded significantly

Forms Redevelopment Process Excellent team of ADF developers JHeadstart improved productivity and flexibility significantly Yet, it took much longer than initial estimates: No reliable documentation Lack of functional knowledge ADF developers had to examine Forms source to find out exact functionality This examination sometimes revealed omissions/flaws in new datamodel... Separation into components introduced more complexities than anticipated

Lessons learned Splitting up in components is usually a good thing, but has huge impact -> do thorough analysis! Organize/ensure/invest in 100% correct understanding of current functionality Rebuilding as is is good to prevent scope creep, but might contrive business benefits Even with rebuilding as is you need a new design, ADF stack is much more powerful than Forms Migration project involves MUCH more than just migration of forms

Some Other Common Pitfalls Migration tool seems more important than new development platform Modernization effort underestimated There is no magic bullet ADF learning curve underestimated ADF is by far the most feature-rich and productive framework in the market, but. Best-practice use of ADF has steep learning curve, is different from Forms development, and requires advanced ADF skills People are forgotten, they are more important than tools!

Defining a Modernization Strategy <Insert Picture Here>

Defining a Forms Modernization Strategy More comprehensive discussion of this topic in my talk at UKOUG 2010: Guidelines for moving from Oracle Forms to Oracle ADF and SOA Google for above title to view or download slides. Next slides in this presentation are high-level summary

Defining 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

Where Are We Now - Analyze current System and Situation Technical architecture Functionality Data model User interface Documentation End user community Supporting IT staff

Where Do We Want to Go - Common Business Drivers User Interface RIA, self-service, task-oriented, web 2.0, mobile, PDA/Smartphone Customization and Personalization Organisation unit, user group or marketing label Software-as-a-Service (SAAS) Model Time-to-market New products not held back by IT constraints Business process improvement Internal, B2B, B2C Human workflow

How do we want to go - Common Modernization Options Move logic from Forms to database Upgrade and integrate Add (self service) extensions Migrate functionality Redesign and rebuild functionality

Final Recommendations Think strategic and big - Start small Do thorough analysis of current system and environment Define key business drivers for this transition Do trial migrations / assessment workshop Assess added value migration tools Get better insight in migration effort Make Lasagna and Ravioli rather than Spaghetti Understand capabilities ADF, JHeadstart and SOA Suite Invest heavily in training and coaching on the job