Web Forms: What Works and What Doesn - PowerPoint PPT Presentation

About This Presentation
Title:

Web Forms: What Works and What Doesn

Description:

deploy client/server forms on the Web without changes. ... Red, Teal, Titanium. colorScheme=olive. Background density. darkLook=true. More R.6 OLAF Parameters ... – PowerPoint PPT presentation

Number of Views:111
Avg rating:3.0/5.0
Slides: 37
Provided by: mvc8
Learn more at: http://www.nocoug.org
Category:
Tags: doesn | forms | teal | web | works

less

Transcript and Presenter's Notes

Title: Web Forms: What Works and What Doesn


1
Web Forms What Works and What Doesnt?
  • 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
  • Whats 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
  • Whos 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
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
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

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
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 dont 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 dont 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
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
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
  • usesdiyes
  • Run form in the browser window
  • Not separate window
  • separateFramefalse
  • Splash page that shows while Forms loads
  • Can trick the users
  • splashScreenco_logo.gif

28
More R.6 Parameters - OLAF
  • Oracle look and feel
  • Rounded buttons, scrollbars, everything
  • Animated alert icons
  • lookAndFeeloracle
  • Pre-designed color palettes for Oracle look and
    feel
  • Blue, Khaki, Olive, Purple, Red, Teal, Titanium
  • colorSchemeolive
  • Background density
  • darkLooktrue

29
(No Transcript)
30
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.lovButtontrue
  • Required items with yellow background
    (registry.dat)
  • app.ui.requiredFieldVAtrue
  • app.ui.requiredFieldVABGColor255,242,203
  • Read-only items with light gray background
  • ServerArgs again
  • readOnlyBackgroundtrue

31
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

32
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

33
Advice
  • Set user expectations
  • Its not client/server, its 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

34
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

35
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

36
Author Contacts
  • Peter Koletzke
  • http//www.quovera.com
  • http//ourworld.compuserve.com/homepages/Peter_Ko
    letzke
  • 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
Write a Comment
User Comments (0)
About PowerShow.com