Oracle Forms Modernization Strategies

10,032 views
9,795 views

Published on

Published in: Technology, News & Politics
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,032
On SlideShare
0
From Embeds
0
Number of Embeds
287
Actions
Shares
0
Downloads
605
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Oracle Forms Modernization Strategies

  1. 1. <Insert Picture Here>Modernization strategies for Oracle Forms-based applicationsDmitry NefedkinOracle ISV Migration Center FMW ConsultantDmitry.Nefedkin@oracle.com
  2. 2. 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 Oracles 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/imcContacts:Ruxandra Radulescu, ISV Migration Center Manager EE&CISruxandra.radulescu@oracle.com
  3. 3. Agenda• Review Oracle Forms strategy <Insert Picture Here>• Modernizing Oracle Forms• Considering Migrating?• How Oracle ADF can help• Comparing Forms and Oracle ADF• Forms -> ADF migration tools• Customer stories
  4. 4. <Insert Picture Here>Oracle Forms strategy review
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. Integration with External Services – Asynchronous Event Calls• Forms registers interest in an asynchronous event (Event name, Type, Scope)• New When-Event-Raised triggerDemo: http://bit.ly/Forms11gExtEventsDemo
  10. 10. 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-EventDemo: http://bit.ly/Forms11gJavaScript Forms Client Forms Procedure Server calls
  11. 11. Lifetime Support Policy for Fusion Middleware• http://bit.ly/OFMLifetime
  12. 12. Should we license Weblogic whenupgrading to Forms 11g?
  13. 13. 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
  14. 14. <Insert Picture Here>What about migration?
  15. 15. Possible Reasons for MigratingOur business has changedconsiderably and Forms no longer meets our requirements Our Forms application is reaching its natural end-of-life Our business requires I LOVE what Fusion us to be adopting could do for our leading edge, modern business! technologies
  16. 16. Possible Reasons for NOT Migrating We are heavily invested in Forms and it is still meeting the If it ain’t broke requirements of our don’t fix it! businessWe are taking a much more measured Our end users are approach to completely happy with embracing new the “heads down” data development and entry approach of Forms technologies
  17. 17. Possible Wrong Reasons forConsidering Migration We upgraded from Oracle are telling us we Forms 6i to 10g and we need to get off of Forms noticed performance and write everything in issues. We’ll rewrite in Java/ADF/ApexJava because that will be faster Forms has been desupported, right? If we rewrite our Forms in Java we’llend up saving $$$$ in development costs!
  18. 18. Some of the differences you have to overcome… Oracle Forms Fusion/Web Applications Impact? • Different style of UI but you are still working with “widgets”• Java applet UI • HTML/JavaScript • HTML works on page POST • X,Y layout versus layout containers• PL/SQL scripting • Java (but still PL/SQL in • Objects v. Procedural is different but basic language the database) statements are similar (if, then else) • Generally you don’t want dedicated• Stateful dedicated • Stateless pooled processes per user connections connections • ADF BC gives you simplicity of stateful but performance of stateless • Big advantage on resuse when separate• No separation of UI • Separate UI and data and data elements elements • Can’t/shouldn’t be writing business logic internals from UI code (and visa versa) • Fixed means you don’t have to understand• Proprietary and fixed • Standard and open the internals framework (override and augment) • Open means you are not limited by the vendor’s implementation
  19. 19. Things Even Look Different! From This…
  20. 20. …To These
  21. 21. You Should Not Ignore These Differences Grant Ronald, Oracle Writing in the ODTUG Journal“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
  22. 22. <Insert Picture Here>How Oracle ADF can help
  23. 23. 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
  24. 24. Oracle ADF 11g Architecture Desktop Browser/ Mobile Devices Swing Office JSP JSF ADF Faces View Struts JSF/ADFc Controller ADFm (JSR 227) Model Java EJB BAM BPEL Web Services ADF BC BI XML Business Services Portlet Toplink JCR JMX Data Services Relational Data XML Data Legacy Data Packaged Apps
  25. 25. Technologies of Choice for 4GLDevelopers Rich Client Web / Wireless ADF Swing JSP ADF Faces RC View Struts JSF Controller ADF Model Model (JSR 227) ADF Java Web Business EJB/ Business Portlets Services Toplink Classes Services Components Data Source Relational Data XML Data Legacy Data Packaged Apps
  26. 26. <Insert Picture Here>Development approachwith JDeveloper and ADF
  27. 27. 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)
  28. 28. Development Approach with JDeveloper and ADF1. Define/Model DB Layer• Design and generate• Import• Reconcile• Browse• Create/Modify on line
  29. 29. Development Approach with JDeveloper and ADF2. Build Data Objects• Reverse Engineered from DB • Wizard • UML Model• New Object Model • Class model • Mapping
  30. 30. Development Approach with JDeveloper and ADF3. 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
  31. 31. Development Approach with JDeveloper and ADF4. Build Application Logic/Flow• UI Logic and Business Logic • Declarative • Java Code• Application Flow • Page Flow Modeler
  32. 32. <Insert Picture Here> DemonstrationDevelopment Approach with JDeveloper andADF
  33. 33. <Insert Picture Here>Comparing Forms and ADF - architecture
  34. 34. Forms as a Framework PL/SQL Java UI Renderer engine Block Record Manager SQL Interface
  35. 35. Forms Mapping to ADF Java UI Renderer Web, Wireless Rich ClientsLogic Clients UI Block UI Definition Controller Navigation Logic ModelLogic Block Data DefinitionData Record Manager SQL Interface Business Services
  36. 36. Forms Mapping to ADF Java UI Renderer Web, Wireless Rich ClientsLogic Clients UI Block UI Definition Controller Navigation Logic ModelLogic Block Data DefinitionData Record Manager SQL Interface Business Services
  37. 37. Forms Mapping to ADF Java UI Renderer Web, Wireless Rich ClientsLogic Clients UI Block UI Definition Controller Navigation Logic ModelLogic Block Data DefinitionData Record Manager SQL Interface Business Services
  38. 38. <Insert Picture Here>Comparing Forms and ADF – features
  39. 39. Comparing Forms and ADFThere are many new capabilities• Data/UI Split (Multiple Views)• Page Flow• Unit testing• One click Deployment• Coding features• Tuning, auditing, debugging• Source Control integration• ….
  40. 40. Comparing Forms and ADFBut 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)
  41. 41. Master/Detail Coordination in ADF• Out-of-the-box• Defaulted to the DB constraints• No coding required
  42. 42. SQL-based ADF Business Components• Full Access to SQL• Similar to • Block Query • LOV Query • Validation Query• Tuning options
  43. 43. “Item” Properties• Prompt• Updateable• Required• Sequence• Non Database • Not associated to a DB column
  44. 44. Setting a Format Mask in Oracle Forms
  45. 45. Setting a Format Mask in ADF
  46. 46. Dynamic Default Values in Oracle Forms
  47. 47. Dynamic Default Values in ADFdeclaratively
  48. 48. Dynamic Default Values in ADFor in java code
  49. 49. Range Validation in Oracle Forms
  50. 50. Range Validation in ADF
  51. 51. Record-Level Validation in Oracle Forms
  52. 52. Record-Level Validation in ADF Create Validation Method In Java Class public boolean validateThatSNamesDontEarnOver4000() { if (getSal().intValue() > 4000 && getEname().toUpperCase().startsWith("S")) { return false; } return true; }• Method returns boolean true if valid, and false if invalid
  53. 53. Record-Level Validation in ADFAssigning validation method
  54. 54. Transactional Triggers in Oracle Forms• PRE-INSERT, ON-INSERT, POST-INSERT• PRE-UPDATE, ON-UPDATE, POST-UPDATE• PRE-DELETE, ON-DELETE, POST-DELETE
  55. 55. doDML() Method In ADF BC // Overrides default doDML() Behavior of Entity Object protected 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}
  56. 56. Global Look and Feel in ADF• Similar to Visual Attributes in Forms• Pre-Defined CSS• Centralized file• Easy to customize• Template and Skin mechanism
  57. 57. Query By Example in ADFSearch Form Table Filtering
  58. 58. Event Model<double click>
  59. 59. <Insert Picture Here>Forms -> ADF migration tools
  60. 60. 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/)
  61. 61. 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
  62. 62. 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
  63. 63. 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
  64. 64. Oracle Forms Screen
  65. 65. JHeadstart Generated ADF/JSF Page
  66. 66. 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
  67. 67. OraFormsFaces in action
  68. 68. <Insert Picture Here>Customer stories
  69. 69. 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
  70. 70. 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…
  71. 71. 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)
  72. 72. 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
  73. 73. 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
  74. 74. MedNeXt - Incident form
  75. 75. Sample DevelopmentTime Estimation
  76. 76. Customer Story – Micros Phased Approach Opera 4.x + (Web2.0 / SOA)User Interface Opera 3.x (WebForms)Business Logic Opera 2.x (Forms)Data Access
  77. 77. Key Design Principles and Patterns • Leveraged Forms to ADF Components:User Interface Faces, Taskflows, Data Visualization • BI Answers/Dashboard Drill down to transactions • Phase 1Business Logic create Façade to expose existing logic as services • Phase 2 refactor logic from PL/SQL to JEE over time • Data Model re-used for Pillar DeploymentData Access • Create “Service Domain” schemas • Allow for separation of concerns in upgrades: Pricing, Reservation, Fulfillment, CRM, etc.
  78. 78. User Experience - Before
  79. 79. User Experience - After
  80. 80. 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
  81. 81. Helping Forms Developers• ISV Migration CenterIf you wish to participate in a free hands-on workshop on ADF 11g, please contact Ruxandra Radulescu (ruxandra.radulescu@oracle.com) 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
  82. 82. QuestionsDmitry NefedkinOracle ISV Migration Center FMW ConsultantDmitry.Nefedkin@oracle.comISV Migration Center blog: http://blogs.oracle.com/imc

×