JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practice ADF application
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 2,495 views

 

Statistics

Views

Total Views
2,495
Views on SlideShare
2,482
Embed Views
13

Actions

Likes
5
Downloads
258
Comments
1

5 Embeds 13

http://www.linkedin.com 8
http://paper.li 2
http://a0.twimg.com 1
http://twitter.com 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Download Here : http:gg.gg/20lv h
    NOTE: copy paste link in your brouser & plz remove space before 'h' in this link.

    100% working and tested
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Competitors like JAutomator do migrate All PL/SQL Logic At expense of sound J2EE architecture Forms triggers / built-ins rebuilt in Java ... No JSP/UIX, No Struts, No ADF Model Layer

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

  • <Insert Picture Here>JHeadstart Forms2ADF Generator – Migrating fromOracle Forms to a Best-Practice ADF applicationSteven DavelaarOracle Consulting
  • Agenda• What is JHeadstart?• Demo: JHeadstart Forms2ADF Generator• Demo: Modifying migration result• Demo: OraFormsFaces• Case Studies
  • 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
  • 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
  • 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
  • Application Application Generation Definition Definition ProcessJHeadstart JSF JSP JSF JSP ADF Faces ViewApplication ADF Faces Definition Wizard JSF+ADFc JSF+ADFc Controller ADF BC ADF BC ADF Model ADF Model metadata metadata Data Bindings Data Bindings Model Data Controls Data Controls ADF ADF ADF Business ADF Business Business Business Business Services Components Components Components Components JDeveloper ADF BC Wizard
  • Application Application Definition DefinitionJHeadstart JSF JSP JSF JSP ADF Faces ViewApplication ADF Faces Definition Wizard JSF JSF Controller ADF BC ADF BC ADF Model ADF Model metadata metadata Data Bindings Data Bindings Model Data Controls Data Controls ADF ADF ADF Business ADF Business Business Business Business Services Components Components Components Components JDeveloper ADF BC Wizard
  • Application Application Generator Generator Generation Definition Definition Templates Templates ProcessJHeadstart JSF JSP JSF JSP JSF JSP JSF JSP ADF Faces ViewApplication ADF Faces ADF Faces ADF Faces Definition Wizard JSF JSF Controller JSF+ADFc JSF+ADFc ADF BC ADF BC ADF Model ADF Model ADF Model ADF Model metadata metadata JHeadstart Data Bindings Data Bindings Model Application Data Bindings Data Bindings Generator Data Controls Data Controls Data Controls Data Controls ADF ADF ADF Business ADF Business Business Business Business Services Components Components Components Components JDeveloper ADF BC Wizard
  • Forms2ADF Application Application Definition Definition Generation Process Form Form (.fmb) JSF JSP JSF JSP Form (.fmb) ADF Faces View Form ADF Faces (.fmb) (.fmb) JSF + ADFc JSF + ADFc Controller ADF Model ADF Model Data Bindings Data Bindings Model Data Controls Data Controls JHeadstartForms2ADF ADF ADF ADF Business ADF Business Business Business Services Generator Business Components Components Components Components
  • Application Application Generation Definition Definition Process Form Form (.fmb) JSF JSP JSF JSP Form (.fmb) ADF Faces View Form ADF Faces (.fmb) (.fmb) JSF JSF Controller ADF Model ADF Model Data Bindings Data Bindings Model Data Controls Data Controls JHeadstart ADF ADFForms2ADF ADF ADF Business Business Business Business Services Generator Business Components Components Components Components
  • Forms2ADF Application Application Generator Generator Definition Definition Templates Templates Generation Process Form Form (.fmb) JSF JSP JSF JSP JSF JSP Form (.fmb) JSF JSP View Form (.fmb) ADF Faces ADF Faces ADF Faces ADF Faces (.fmb) JSF JSF Controller JSF+ADFc JSF+ADFc ADF Model ADF Model ADF Model ADF Model JHeadstart Data Bindings Data Bindings Model Application Data Bindings Data Bindings Generator Data Controls Data Controls Data Controls Data Controls JHeadstart ADF ADFForms2ADF ADF ADF Business Business Business Business Services Generator Business Components Components Components Components
  • D E M O N S T R A T I O N Forms2ADF Generator
  • Architecture OCM Demo Web Browser JSP JSF JSF Oracle Oracle10g Forms Server Application ADF Data Binding Server ADF Bus. Comp. CDM RuleFrame Oracle10g Data Database
  • 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
  • Generated ADF Business Components
  • Generated Application Definition
  • Oracle Forms Screen
  • JHeadstart Generated ADF/JSF Page
  • Oracle Forms Screen
  • JHeadstart Generated ADF/JSF Page
  • Oracle Forms Screen
  • JHeadstart Generated ADF/JSF Page
  • Oracle Forms Screen
  • JHeadstart Generated ADF/JSF Page
  • 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
  • PL/SQL Code in Appl. Definition Editor
  • 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)
  • D E M O N S T R A T I O NModifying Migration Results
  • JHeadstart Uses Best Practice ADFDesign 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 Uses Best Practice ADFDesign 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
  • Configurable TaskFlows Generated• Taskflow Template Parameters• Taskflow Parameters
  • Configurable Task Flows Generated
  • 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!
  • <Insert Picture Here>OraFormsFaces
  • 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
  • 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
  • D E M O N S T R A T I O N OraFormsFaces
  • Integration JHeadstart - OraFormsFaces
  • Setting up Deeplinking between ADFPage and Oracle Form
  • Setting up Deeplinking between ADFPage and Oracle Form
  • Setting up Deeplinking between ADFPage and Oracle Form
  • Integration JHeadstart – OraFormsFacesDeeplinking JSF Page and Oracle Form
  • Integration JHeadstart – OraFormsFacesDeeplinking JSF Page and Oracle Form
  • <Insert Picture Here>Forms2ADF CaseStudies
  • 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 or record groups • Complex data manipulation through DB procs • Complex mexhanism to call reports through DBMS_PIPE with polling mechanism• Added Value JHeadstart Forms2ADF Generator • None
  • 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!
  • 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
  • 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
  • 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
  • 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
  • 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 idevcoe_nl@oracle.com