1 / 36

Web Forms: What Works and What Doesn’t?

Web Forms: What Works and What Doesn’t?. Peter Koletzke. Perception. You can always deploy client/server forms on the Web without changes. Agenda. Overview of the architecture Tips and techniques What’s new with R.6/6i? Advice and conclusions . Framework for this Talk.

richelle
Download Presentation

Web Forms: What Works and What Doesn’t?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web Forms: What Works and What Doesn’t? Peter Koletzke

  2. Perception You can always deploy client/server forms on the Web without changes.

  3. Agenda • Overview of the architecture • Tips and techniques • What’s new with R.6/6i? • Advice and conclusions

  4. Framework for this Talk • Attempting Web Forms in production • Developer 1.5, 1.6, 2.1, 6.0 • Your mileage may vary • Observations and comments by other users • Paper reviewed by Oracle

  5. Survey • Who’s tried Web Forms? (a.k.a., Web-deployed forms, Forms Server) • Used it in production • R.2, R.6?, R6i? • Happy with it? • Favorite thing? • Unhappy with it? • Least favorite thing?

  6. Why is this Question Worth Asking? • Oracle is seriously promoting the technology • Mixed reports – from Oracle and from users • What else is new? • Different because this is the Web • Some people are confused about how Web Forms works • Some try it, and become frustrated and discouraged • Some rush in like a pack of lemmings diving into the ocean

  7. Architecture • Multi-tier • Client • Application server (also called “the client”) • Database server • New Developer working environment • Need to copy files to app server • Need to compile on app server • Pre-R.6: run the browser to test • R.6: use the “Run Form Web” button • Best understood by examining the communication flows

  8. WWW browser File System HTML Startup File Forms Server Flow: Form Startup • Client browser requests the startup HTML file using the Uniform Resource Locator (URL) • Web Listener finds file in the file system • Listener sends HTML back to the browser Application Server Client Web Listener

  9. Forms Server: Flow Form Running • HTML file requests loading of Java files • Class libraries and applet window (JInitiator) • Listener sends files to client browser • Browser starts applet window (“Forms Client”) • Listener requests runtime session from Forms Server Listener • Forms Listener connects Forms Runtime to client • Forms app runs on app server but displays on client in applet window

  10. File System Java Files Forms Files GIF Files WWW browser Application Server Web Listener Database Server Client Database Forms Server Listener Applet window Forms RuntimeEngine

  11. Why is This Better? Centralization of runtime Centralization of code Centralization of maintenance Centralization of administration “Thin” client Easily scalable Highly available 450 400 350 300 Developer Web 250 Windows Terminal 200 Developer C/S 150 100 50 0 Data entry Navigation Query Validation Average Number of Packets

  12. Why is This Different? The form is running on the app server not the client Only the presentation layer is on the client The presentation layer uses a Java window Forms objects are rendered in Java classes The environment is Java

  13. Where Does Web Forms Run?

  14. Tip: Read The Manuals • Yes, there are manuals - online • Form Builder menu: HelpManuals, Online Manuals • Guidelines for Building Applications • “Deploying Applications on the Web” chapter • Configuring the Oracle Developer Server • Mandatory reading • “Feature restrictions” • Font mapping • Startup HTML file • Introduction to the Forms Server • Search for Note 68814.1 on MetaLink for setup tips • OOW 2000 Paper on Forms Server

  15. Tip: Read the White Papers • 1. Oracle Developer Server - Technical FAQ • 2. Oracle Developer Server: How to Tune Deployment of Internet Applications • Oracle Technology Network • Link from the opening page to products - Forms, Developer http://technet.oracle.com/products/developer http://technet.oracle.com/products/forms These may change

  16. The docs mention that this is O/S-specific System Variables • Some values are different from client/server • :SYSTEM.MOUSE_BUTTON_SHIFT_STATE • In c/s,“Ctrl+” for control key and mouse button • In Web Forms, it is “Control+” • :SYSTEM.MOUSE_BUTTON_PRESSED • Normally “1” and “3” • For left and right button • Web Forms: “1” and nothing • Test for the environment: get_application_property(USER_INTERFACE) = ’WEB’

  17. Use :SYSTEM.MOUSE_BUTTON_MODIFIERS • O/S independent • No need to test for USER_INTERFACE • Returns values like: "Shift+” "Command+" "Caps Lock+” "Super+" "Control+” "Hyper+” "Alt+" • Documented in the help system • Use the Find tab to locate the topic

  18. Operating System Calls • Forms runs on the app server • The host operating system is on the app server • HOST built-in works on the application server • Registry reads and writes go to the app server • OCX, OLE, DDE, HINT.PLL don’t work • ORA_FFI and TEXT_IO operate on the app server • If the server can see the client machine, you can read and write client files with TEXT_IO • Same idea with printers • FFI calls may break if you port to another O/S

  19. Why Worry About This?

  20. Trigger Considerations • Some mouse triggers don’t work • WHEN-MOUSE-ENTER • WHEN-MOUSE-LEAVE • WHEN-MOUSE-MOVE • Be careful with form-level mouse triggers • Avoid other mouse triggers • WHEN-MOUSE-CLICK, WHEN-MOUSE-UP, and WHEN-MOUSE-DOWN • Extra network traffic • Trigger events are bundled and sent as one packet • Item triggers, for example

  21. In ORACLE_HOME/FORMS60 directory Other Tips and Differences • Use the most current version of JInitiator • No client install - downloads when needed • You can use IE or Netscape - any version after 3 • Not required for IE v.5, but recommended • Key mappings are different • Uses FMRWEB.RES by default • Substitute FMRPCWEB.RES for the same key mapping as client/server • These are editable ASCII files • No magic menu items for Cut, Copy, Paste • Ctrl-X, Ctrl-C, Ctrl-V do work

  22. Tuning • Simplify the user interface (UI) features, in general • Reduce the size of the first form • Faster to start up the application • Use the splash page trick • Syntax later • Reduce Bandwidth • Avoid timers • One-time triggers are OK • Avoid extra graphics • Use rectangles and lines, no circles or curves

  23. More Tuning • Use the prompt property not boilerplate text • Hide objects not initially required • Set the Visible property to “No” • Development tuning: use a form “shell” • A form that starts other forms • Compile your forms and start from a running form (the shell) • Helps speed up development • Especially useful in the Web environment

  24. File Edit View Insert Window Help Windows and Canvases • There is no MDI window in R.1 and R.2 • You can show multiple windows • To show the console (status line), set the form property Console Window • No MDI toolbar - use menu or window toolbar • Developer R.6 has MDI windows • Consider not using a toolbar • Not an HTML standard • Use canvas buttons instead

  25. Visual Aspects • Use visual attributes for buttons • The Windows manager does not color them as it does in client/server • Toolbar icons are .GIF files • Not .ICO files • Should be located with the forms files • Fonts should have Java equivalent • There are only a few fonts in Java (Dialog, Serif, SansSerif, Monospaced, DialogInput) • MS Sans Serif becomes Dialog, use 9 point • Documented in Chapter 2 of the manual

  26. Memory Issues • Memory on the app server • Each client connection takes a chunk • Some memory is shared • Code segments and boilerplate • Memory on the client • OPEN_FORM takes more memory • Form startup will be faster if you return to an open form • NEW_FORM releases client and server memory • If no one else using the form • Requires more startup time Oracle can get100-500 usersper CPU

  27. New R.6 Parameters • Used in the HTML startup file (serverArgs) • Default is an MDI frame • You can turn Multiple Document Interface off • usesdi=yes • Run form in the browser window • Not separate window • separateFrame=false • Splash page that shows while Forms loads • Can “trick” the users • splashScreen=co_logo.gif

  28. More R.6 Parameters - OLAF • “Oracle look and feel” • Rounded buttons, scrollbars, everything • Animated alert icons • lookAndFeel=oracle • Pre-designed color palettes for Oracle look and feel • Blue, Khaki, Olive, Purple, Red, Teal, Titanium • colorScheme=olive • Background density • darkLook=true

  29. More R.6 OLAF Parameters • LOV button • Button appears automatically if item has an LOV • In registry.dat file on the app server: app.ui.lovButton=true • Required items with yellow background (registry.dat) • app.ui.requiredFieldVA=true • app.ui.requiredFieldVABGColor=255,242,203 • Read-only items with light gray background • ServerArgs again • readOnlyBackground=”true”

  30. Other New R.6 Stuff • You can use JavaBeans in Web Forms • Replaces objects such as buttons and items • Can also use a Bean Area • HTTP 1.1 support • Full production with v.6i • Details in white paper 2 (mentioned above) • Run Form Web button • Tests the form in a JVM • Use this frequently • Also test the form on the Web

  31. Advice • Mostly common sense • Do careful tests of this environment • Note the things that work differently • Get on the list serves & forums • IOUG-A - www.ioug.org • ODTUG - www.odtug.com • Learn to use the word “deployment” (not Web Forms) • Forms running on the Web using the Forms Server • Remember that Oracle Apps are a driving force • R 10.7 is web-enabled, 11i is only Web • Apps are the biggest user of Developer

  32. Advice • Set user expectations • It’s not client/server, it’s web-deployed Forms! Read the docs and white papers • Keep in mind that this is a new environment • There will be a new set of workarounds and bugs for the Web • Expect response time and look and feel to be different

  33. Conclusions • You can deploy on the Web • Performance improves daily • Centralization, centralization, centralization • Intranet, Extranet, Internet • Client/server apps may not run the same way on the web • You must design for the Web • Trigger and other differences

  34. Conclusions • Although it is the same tool, it is a totally new environment • R.1 was beta • R.2 is V.1 is useable, but a bit bumpy • R.6/6i holds some promise

  35. Author Contacts Peter Koletzke http://www.quovera.com http://ourworld.compuserve.com/homepages/Peter_Koletzke Oracle Press books: • Oracle Developer Advanced Forms and Reports • Designer Handbook, 2nd Ed. • Watch for JDeveloper book in early 2001 • All co-authored by Dr. Paul Dorsey

More Related