New Approaches to Faster Oracle Forms System Performance


Published on

Are your end-users complaining that Forms is slow? Ever wonder what the source of the problem is? Want to learn what are the fastest, most effective strategies to improve overall performance and end user experience?

Join us for a webinar where we will showcase best practices for application support engineers, application owners, QA engineers, Oracle Forms developers and EBS Integrators. Topics include:

Minimizing start up times and resource requirements
Improving speed of Forms rendering
Gaining visibility into the potential source of bottlenecks in Oracle components

Speakers: Mia Urman, CEO of OraPlayer Ltd. and Frank Days, VP of Marketing, Correlsense

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

New Approaches to Faster Oracle Forms System Performance

  1. 1. New Approaches to Faster Oracle FormsSystem Performance August 9, 2012 Frank Days, VP Marketing, Correlsense Mia Urman, CEO, OraPlayer
  2. 2. Agenda• The Complexities of Oracle Forms• Faster Forms System Performance• Monitoring Oracle Forms• Summary/Q&A
  3. 3. Housekeeping• Presentation will last 30 minutes• Submit questions via the chat window• Slides will be made available tomorrow
  4. 4. Guest Speaker:Mia Urman, CEO, Oraplayer• Sr. Support Analyst and Product Manager of Forms and ADF at Oracle for 7 years• 13+ years supporting, training and consulting for Oracle Tools• Founder of Qesem Consulting. Clients include: Mastercard, Bank of Israel, IBM and Motorola• CEO of OraPlayer, a leading provider of Oracle Forms to SOA integration and mobile• Leader of OUG Oracle Developer user group
  5. 5. Correlsense Speaker:Frank DaysVP MarketingCorrelsense
  7. 7. Forms Complex Multi-Tier Architecture• Hard to effectively identify the degrading elementDesktop IAS or WLS Apache Oracle Server DB or OHSInternet IAS or WLS Apache Oracle Server DB or OHS
  8. 8. How Does Forms Work?Scenario #1:Application written Entirely in Java Download Entire Application Logic Application Oracle ServerScenario #2:Application built using Oracle Forms Server Platform Only Download Metadata for Forms Oracle Application Server
  9. 9. String Buffering• If a given string is used more than once in a form: – String is loaded once – Referencing occurs on client Fred Fred FredEvent Bundling Fred• All triggering events sent in single Network Message Post-Change Post-Item When-Validate-Item Pre-Item When-New-Item-Instance
  11. 11. Goals Minimize Startup time Minimize client resource requirements Minimize Oracle Forms Server resource requirements Use the network as little as possible Accomplish as much as possible in one network conversation When rendering, be as efficient as possible
  12. 12. Minimizing Start Time• Pre-start forms applet - startup a number of application runtime engines prior to their usage• Perceived performance - „SPLASH‟ screenHTML Parameter<APPLET>…<PARAM NAME= splashScreen VALUE= > "travel.jpg"…</APPLET>
  13. 13. Reduce Time to Draw Initial Screen• Time to initialize Form is heavily influenced by the amount of meta-data required to describe all objects on the first Form the user sees Property sets are downloaded to describe visible screen• Break up large Modules into smaller ones• Only display required canvases• Set raise on entry = false for canvases and items not needed for initial screen
  14. 14. Navigation Resources: Open/Call_Form • Original Form – Remains open on server – Properties are cached on client • System Resources – Consumes more memory on server and client. – Less Network round trips required to reload Form UI1 1 1 2 2Client
  15. 15. Navigation Resources: New_Form • Original Form – Closed on server – Object Properties on client are destroyed • System Resources – Consumes less memory on server and client. – More Network round trips required to download form UI (important if latency is bad) 1 1 2 2Client
  16. 16. Promote Similarities • Similar items handled by the Forms smart delta messaging – Only differences are sent across the network • Promote similarity in the UI – OLB, Visual attributes – Use Inheritance - Property classes and Object groups – Use subclasses – draw multiple objects with standard settings • Group setting of properties into like-groups...set_item_property(text_item1_id, FONT WEIGHT, “Bold”);set_item_property(text_item2_id, FONT WEIGHT, “Bold”);set_item_property(text_item3_id, FONT WEIGHT, “Bold”);set_item_property(button_item1_id, LABEL, “Exit”);...
  17. 17. Boilerplates and Images on Canvases• Boilerplates are downloaded as VGS objects – Make labels prompts when upgrading from older Forms versions – Prompts automatically participate in message diffing and string caching• Reduce using Arcs, Circles and Polygons as boilerplates – Replace by rectangles and lines text Boilerplate Objects
  18. 18. Reduce Items on the Screen: Tab canvases• All items of all tabs are downloaded to client• Use hidden stacked canvas on each tab to defer download• Code changes –WHEN-TAB-PAGE-CHANGED trigger –RAISE_ON_ENTRY=YES –VISIBLE=NO
  19. 19. Save Images In JAR Files• Iconic buttons on the Web are in gif and jpeg formats• Put your .GIF and PJCs files in the JAR – Faster download – Takes advantage of the cache• Store all images of an application in a single Jar – Jar files are permanently cached on the client
  20. 20. Mouse Triggers & Network Traffic• Dangers of mouse triggers – Increase network traffic• MOUSE-DOWN triggering event always generates a second MOUSE-UP message even if trigger hasn‟t been defined• Mouse triggers often defined at higher level in hierarchy or on Canvas – causes multiple execution of trigger Move trigger code to specific items requiring Mouse triggers
  21. 21. Timer Trigger• Timer Process occurs in client side code (Java client)• Has severe ramifications on number of network round-trips generated• e.g. 1 mSec timer := 60,000 round trips per minute Forms Client ServerWhat you can do:-Choose timer trigger delays carefully-Use PJCs to implement “Clock”, “Progress Bar”, and“Animation” functionalities
  22. 22. Minimize Round Trips• Design applications that do not require a user to navigate through fields if default values are accepted• Be wary of SYNCHRONIZE Built-In – The "universal weapon" for coding problems in client/server introduces performance hits on the Web – Round-trip from server to client – Overuse generates unnecessary network traffic – Problems handled by "synchronize" on client/server may not exist anymore
  23. 23. Summary: Optimize the Design• Use subclasses - drawing multiple objects with standard settings is more efficient – Reduced messages from “message diff-ing”• Use event bundling• Use PLL libraries – Concurrent users can share memory used by a library• Minimize use of graphic items• Use prompts
  24. 24. Summary: Other Performance Tips• A slow server never runs applications fast• You cant think without brains - Configure the server with enough memory• Make sure that your hardware can handle the load• Latency can be introduced by non network components• Locate app server close to database server• Monitor forms performance to see where improvements can be made
  26. 26. Production Optimization• Monitor Forms apps end-to-end• Manage user experience• Understand how components interact
  27. 27. Track All Requests Through All Hops• Track all user requests through all components (not just Java and .Net)• Track and meter single end user across entire stack• Apache, OC4J, Forms Runtime and Oracle Database Applet Apache OC4J Forms Runtime Specific SQLs
  28. 28. Manage User Experience withMeaningful Transaction Names
  29. 29. Understand How Components Interact• Auto-detected• Real-time• Without manual modeling
  30. 30. SharePath for Oracle Forms/EBS• Goes beyond Java/.Net with Forms runtime coverage – Broadest coverage: rich clients, Forms applet, C++, ESBs … – Supports the most complex, heterogeneous architectures• Dashboards for operations, support, and engineering• No application code changes necessary• Auto-detects transaction paths
  31. 31. Summary• Forms environment has many performance challenges• Optimize Oracle Forms in design and production – For users – On Backend – Monitor Forms end-to-end• SharePath is the only APM offering for Forms based/EBS
  32. 32. Questions? Request a live demo: Frank Days Mia Urman @miaurman