forms 9i - dream and reality

Post on 29-Dec-2015

41 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Oracle Forms 9i - Dream and Reality in resolving the issues in it.Version : 9iDatabase : OracleForms Front End design changes

TRANSCRIPT

Oracle Forms 9iDream & Reality

Peter Anzenbergerpeter@peter-partner.com

Anual conference 2003 - Vienna

2

Applications Evolving With Forms

BlockModeBlockMode

CharacterModeCharacterMode

Client ServerClient Server WebWeb ?? ??

3

History of Forms

Oracle Forms 10g

20046i

4

Oracle Forms 10g ???

5

The Problem and the Reality

! Many data entry applications don’t need desktop integration

! But many do….! Can be a significant barrier to Web deployment! There are ways…

6

The Problem and the Reality

! Should I Migrate to the Web Today?

Integration Migrate?

Occasional Upload Yes

Background Calculations Yes

Mail Merge Maybe

Document Storage in the DB Probably Not

Full on Outlook & Word Integration Probably Not

Integration with Testing Equipment Maybe

Integration Migrate?

Occasional Upload Yes

Background Calculations Yes

Mail Merge Maybe

Document Storage in the DB Probably Not

Full on Outlook & Word Integration Probably Not

Integration with Testing Equipment Maybe

7

The Problem and the Reality

Form Runs HereForm Runs Here•• HostHost•• OLEOLE•• Read_Image_FileRead_Image_File•• ORA_FFIORA_FFI

Generic Generic AppletApplet•• PJC PJC •• JavaBeansJavaBeans

DesktopDesktop

Application Application ServerServer

DatabaseDatabase•• Document StorageDocument Storage

DB ServerDB Server

8

The End of Client/Server?

9

A successful Migration

! Customer: voestalpine stahl Linz GmbH

! What to do:!C/S …. Forms 6i or!Web …. Forms 9i

! How much forms: approximately 150

10

History of the Project

! At the beginning was Forms 3.0! Terminals on SCO Unix Servers

! Migration with Designer 2.1 to Forms 5.0! Creation of an OLB for Designer! Creation of Templates! Reverse Engineering and Generation with Designer 2.1! Layout made new with FormBuilder

! We packed almost everything on Code into the Database

11

Conclusion of the Migration Process

! Migration worked only with FormBuilder! We needed only 1 Day to migrate 150 Forms! Tests took 2 weeks! Everything worked fine because we worked

fine in the past

12

Forms 4.5 to 9i Forms

! Conversion! Migration Wizard! Forms Builder

! OTN Web Site! Remember to start OC4J!

The migration from versions earlier than 6i is not supported.But may work!!! ☺

13

IT - Infrastructure

! The Migration Process is not the Main Problem! The real Problem is:

You need the Oracle IAS 9i now!

WHY?

14

Running on O9iAS

! Current client/server apps now need O9iAS ! licensing! administration

! Getting this wrong can kill your project! Complex configuration! Need experienced O9iAS admin

! Q: What killed the Reports Server?! A: Permissions on the /tmpdirectory

15

Infrastructure of C/S

Developer Client • Forms• Reports• GraphicsSQL*Net

Database Server

16

Form Startup

Client Application Server

HTTP Server (mod_oc4j)

WWWBrowser

HTML Startup File

File System

Forms Servlet

JInitiatorApplet Window

Forms Listener Servlet

17Application Server Database Server

Java Files

Forms Files

GIF Files

File System

Database

Client

Form Runtime

HTTP Server

Forms ListenerServlet

WWWBrowser

JInitiatorWindow

Forms Servlet

Forms RuntimeEngine

Forms RuntimeEngine

WWWBrowser

JInitiatorWindow

WWWBrowser

JInitiatorWindow Forms Runtime

Engine

18

Installation of iAS 9.0.2

! Now you are ready to install the Oracle9iAS Infrastructure. TheOracle9iAS Metadata Repository, Oracle Internet Directory and Oracle9iAS Single Sign-On will be installed.

! Note: If you will be installing Oracle9i Application Server Business Intelligence and Forms and the Oracle9i Database Release 2 on thesame machine, it is recommended that you clean off your machine.

! When you install Oracle9iAS Infrastructure, a database is also installed. This database stored the metadata repository for all theOracle9iAS products and components associated with a repository. The unique instance name will be used to identify this installation of Oracle9iAS infrastructure.

19

We are on the way

! Now that you have the Oracle9iAS Infrastructureinstalled, you will need to install the applicationsthat will use the infrastructure. In this case, youwant to utilize J2EE and Web Cache as well as Wireless, Portal and Discoverer so you will installthe Business Intelligence and Forms installoption.

! The Oracle Universal Installer should detect thatyou already have an Oracle9iAS Infrastructureinstalled and Single Sign-On is enabled.

20

Installation: Conclusion

! It takes much time to install the iAS 9i Rel 2! It also takes much nerves

! Sometime it works.

! The recomended Infrastructure for! iAS 9.0.2 with!Oracle 9.2 Database looks like this:

21

IT Infrastructure form iAS and Forms 9i

! 1st machine with Infrastructure DB (9.0.x)

! 2nd machine with iAS (Foms Server, ….)

! 3rd machine or somewhere else: 9.2 Database

! Will be better in newer Releases

22

Configuring Forms Services

! The Oracle Installer does the hard work! It configures iAS

! You only need to configure Forms itself…! formsweb.cfg! default.env! Registry.dat

! … And then run your application!

23

Configuring Forms Services

formsweb.cfg! Specifies runtime parameters for Forms apps! Client-server equivalent of command line options! All parameters listed in Oracle9iAS Forms

Services Deployment Guide on OTN.

24

Configuring Forms Services

formsweb.cfg! Runtime parameters! All settings can be set

in the default section! Application sections over-

ride default

formsweb.cfg File…userid=form=test.fmxbackground=width=640height=480

[order]userid=order/order@orclform=ordersbackground=order.jpg

25

formsweb.cfg File…userid=form=text.fmxbackground=width=640height=480

[order]userid=order/order@orclform=ordersbackground=order.jpg

Configuring Forms Services

formsweb.cfg! Runtime parameters! All settings can be set

in the default section! Application sections over-

ride default! You can have many

environments on one installation

26

Configuring Forms Services

default.env! Specifies runtime environment variables! Client-server equivalent of environment variables

or Windows Registry entries

27

Configuring Forms Services

default.env! Environment variables

formsweb.cfg File…userid=form=text.fmxbackground=width=640height=480envFile=default.env

[order]userid=order/order@orclform=ordersbackground=order.jpg

default.env File…ORACLE_HOME=C:\Oracle\Forms9iFORMS90_PATH=D:\Work…

28

Configuring Forms Services

default.env! Environment variables! Each app section can have

an env file

formsweb.cfg File…userid=form=text.fmxbackground=width=640height=480envFile=default.env

[order]userid=order/order@orclform=ordersbackground=order.jpgenvFile=orders.env

orders.env File…ORACLE_HOME=C:\Oracle\Forms9iFORMS90_PATH=D:\Orders…

29

Some Scenarios

But how will our System run withinsome Scenarios of failures?

Let‘s see ……

30

Agenda

! 1 machine – HTTP and Forms together! 2 machines – HTTP and Forms separate! Load Balancing Configurations

31

Application Tier Database TierClient Tier

One Machine (a)Simplest configuration

FFOORRMMSS

OOCC44JJ

HHTTTTPP

32

Application Tier Database TierClient Tier

One Machine (b)Not dedicating memory and CPU to Forms Services

FFOORRMMSS

OOCC44JJ

HHTTTTPP

33

One Machine (c)Single point of failure

Application Tier Database TierClient Tier

FFOORRMMSS

OOCC44JJ

HHTTTTPP

34

Agenda

! 1 machine – HTTP and Forms together! 2 machines – HTTP and Forms separate! Load Balancing Configurations

35

Application Tier Database TierClient Tier

Two Machines (a)Not load balancing

FFOORRMMSS

OOCC44JJ

HHTTTTPP

36

Application Tier Database TierClient Tier

Two Machines (b)HTTP server can be used for other purposes without taking resources from Forms Services

FFOORRMMSS

OOCC44JJ

HHTTTTPP

37

Application Tier Database TierClient Tier

Two Machines (c)Useful if one machine is not powerful enough for all components

FFOORRMMSS

OOCC44JJ

HHTTTTPP

38

Application Tier Database TierClient Tier

Two Machines (c)Configure MOD_OC4J in HTTP server to point to servlet engine on other machine

FFOORRMMSS

OOCC44JJ

HHTTTTPP

39

Application Tier Database TierClient Tier

Two Machines (d)Single point of failure

FFOORRMMSS

OOCC44JJ

HHTTTTPP

40

Two Machines (e)

Application Tier Database TierClient Tier

Single point of failure

FFOORRMMSS

OOCC44JJ

HHTTTTPP

41

Agenda

! 1 machine – HTTP and Forms together! 2 machines – HTTP and Forms separate! Load Balancing Configurations

42

1. MOD_OC4J Load Balancing

43

Application Tier Database TierClient Tier

Load Balancing (1a)OC4J load balancing (built into Oracle9iAS)

FFOORRMMSS

OOCC44JJHH

TTTTPP

FFOORRMMSS

OOCC44JJ

44

Application Tier Database TierClient Tier

Load Balancing (1b)Load balancing only occurs for the first request

FFOORRMMSS

OOCC44JJHH

TTTTPP

FFOORRMMSS

OOCC44JJ

45

Application Tier Database TierClient Tier

Load Balancing (1c)Forms Services not a single point of failure

FFOORRMMSS

OOCC44JJHH

TTTTPP

FFOORRMMSS

OOCC44JJ

46

Application Tier Database TierClient Tier

Load Balancing (1d)May overload remaining machine

FFOORRMMSS

OOCC44JJHH

TTTTPP

FFOORRMMSS

OOCC44JJ

47

Application Tier Database TierClient Tier

Load Balancing (1e)iAS Release 2 can restart OC4J servlet engines

FFOORRMMSS

OOCC44JJHH

TTTTPP

FFOORRMMSS

OOCC44JJ

48

Load Balancing (1f)HTTP server still single point of failure

Application Tier Database TierClient Tier

FFOORRMMSS

OOCC44JJHH

TTTTPP

FFOORRMMSS

OOCC44JJ

49

Application Tier Database TierClient Tier

Load Balancing (1g)Add more Forms Services as needed

FFOORRMMSS

OOCC44JJHH

TTTTPP

FFOORRMMSS

OOCC44JJ

50

Application Tier Database TierClient Tier

Load Balancing (1h)Add more Forms Services as needed

FFOORRMMSS

OOCC44JJ

FFOORRMMSS

OOCC44JJ

FFOORRMMSS

OOCC44JJ

HHTTTTPP

51

2. MOD_OC4J Load Balancing, but combining components

52

Load Balancing (2a)

Application Tier Database TierClient Tier

If one machine becomes fully utilized, add another machine for Forms Services

FFOORRMMSS

OOCC44JJ

HHTTTTPP

53

Load Balancing (2b)

Application Tier Database TierClient Tier

If one machine becomes fully utilized, add another machine for Forms Services

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

54

Load Balancing (2c)

Application Tier Database TierClient Tier

Better availability

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

55

Load Balancing (2c)

Application Tier Database TierClient Tier

Better availability

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

56

3. External load balancer

57

Application Tier Database TierClient Tier

Load Balancing (3a)Use hardware/software Load Balancer to route requests between HTTP servers

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

HHTTTTPP

LLBB

58

Application Tier Database TierClient Tier

Load Balancing (3b)Load Balancer may be hardware or software

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

HHTTTTPP

LLBB

59

Application Tier Database TierClient Tier

Load Balancing (3c)Load Balancer must support session binding

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

HHTTTTPP

LLBB

60

Application Tier Database TierClient Tier

Load Balancing (3d)If you don’t have enough hardware, combine components

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

HHTTTTPP

LLBB

61

Application Tier Database TierClient Tier

Load Balancing (3e)Load Balancer is a single point of failure, but less so than other components

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

HHTTTTPP

LLBB

62

Application Tier Database TierClient Tier

Load Balancing (3f)Single point of failure cannot be eliminated; you need to weigh risk versus cost and hassle

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

HHTTTTPP

LLBB

63

Application Tier Database TierClient Tier

Load Balancing (3g)If HTTP server goes down, not utilizing Forms Services behind it

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

HHTTTTPP

LLBB

64

4. MOD_OC4J Load Balancing with external load balancer

65

Application Tier Database TierClient Tier

Load Balancing (4a)Use a combination of a Load Balancer, plus OC4J load balancing on each HTTP server

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

HHTTTTPP

LLBB

66

Application Tier Database TierClient Tier

Load Balancing (4b)Only single point of failure is Load Balancer

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

HHTTTTPP

LLBB

67

Application Tier Database TierClient Tier

Load Balancing (4c)If HTTP server or Forms Services goes down, requests routed to others

4b

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

HHTTTTPP

LLBB

68

Application Tier Database TierClient Tier

Load Balancing (4d)If HTTP server or Forms Services goes down, requests routed to others

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

HHTTTTPP

LLBB

69

Application Tier Database TierClient Tier

Load Balancing (4e)Any number of machines

FFOORRMMSS

OOCC44JJ

HHTTTTPP

FFOORRMMSS

OOCC44JJ

HHTTTTPP

LLBB

70

5. MOD_OC4J Load Balancing with external load balancer, plus a router

71

Load Balancing (5a)

Application Tier Database TierClient Tier

Allows for separate HTTP server for Forms, and for other requests

HHTTTTPP

FFOORRMMSS

OOCC44JJ

OOCC44JJ

FFOORRMMSS

HHTTTTPP

RROOUUTTEERR

HHTTTTPP

LLBB

72

Load Balancing (5b)

Application Tier Database TierClient Tier

This means you can size for Forms

HHTTTTPP

FFOORRMMSS

OOCC44JJ

OOCC44JJ

FFOORRMMSS

HHTTTTPP

RROOUUTTEERR

HHTTTTPP

LLBB

73

What to do?

! You see, you are depending on the count of Servers! To make sure the System is running you need at least:

! 1 (or 2) iAS machine! 1 DB machine (like until now)

! Small Projects will die! How will I explain my customer, that he needs for 5 or 10 clients 2 or 3 or

even more Servers?

! My customer decided as follows:! Critical Users will work with 6i Client/Server! Non Critcal Users will be changed to Intranet with 9i

OR

74

Kostenlose Werbungask: Weichselberger, Stmmer, Hofmann

Let‘s wait for the

GRID*

* BUT: how are the costs for the servers (hardware and administration)?

75

Migration

! But also the Migration is not so easy like it looks

! Let‘s see some points of Interest:

76

Components to be removed in Forms 9i

77

Oracle Graphics is dead, long live BI beans

38 page White Paper how to integrate Graphics and Forms 9i

78

Forms 9i New Features

79

Obsolete Features in Forms 9i

80

Where is my Menu?

81

Where are the Data for my LOV‘s?

82

Where are the Data for my LOV‘s?

83

How much Data may be entered?

84

Stricter Enforcement of Triggers and Built-Ins

85

Stricter Enforcement of Triggers and Built-Ins

86

Stricter Enforcement of Triggers and Built-Ins

87

Where are all my Icons* gone?

BUT .....

* In the Forms Builder still „ico“14 page White Paper how to deploy Icons in the Web

88

DatabaseDatabase

Client/Server architectureOLE2Host

Desktop drives

OLE Containers

ORA_FFI

89

DatabaseDatabase

Web-deployed architecture

OLE2

Host

ORA_FFI

unix

90

Going back to the application…

! The following features will not work with web deployment…! Third party workflow! Address validation! D2KWUTIL! Calls to .DLL and .EXE files! Integration with MS Word! Production of Excel spreadsheets! Upload files! Reading registry

…without making changes! This is not an upgrade, it is a migration

91

Porting to Unix

! Watch out for :! case sensitivity! embedded file names! directory separators

! O9iDS is less usable on Unix! Not supported on terminal

emulators

unix

92

Introducing WebUtil

! Oracle Beta Pre-Production software! Client side versions of old favourites

! CLIENT_HOST! CLIENT_TEXT_IO! CLIENT_OLE2! CLIENT_GET_FILE_DIR! CLIENT_TOOL_ENV! CLIENT_WIN_API_ENVIRONMENT

! New features! WEBUTIL_FILE_TRANSFER! WEBUTIL_HOST! WEBUTIL_C_API! WEBUTIL_CLIENTINFO! WEBUTIL_BROWSER

! All straight PL/SQL calls

93

Limitations of WebUtil

!Uses Pluggable Java Components!Require PJC instantiations

!Not useable in many triggers# Use timers!Can only use in Forms, not Reports or Menus# Create one-off Forms

!Cannot get a Windows handle!Not always the best approach

! CLIENT_TEXT_IO! CLIENT_OLE2

94

So, do I have to become a Java head?

! Must know how Java CLASSPATH works

! ORA_JAVA requires some familiarity with:! classes! inheritance

! May need to write your own Java class

95

Migrated functionality

! Through ORA_JAVA! Third party workflow! Address validation

! Through WEBUTIL_C_API! Complex technical calculations! Terrain mapping

! Through CLIENT_OLE2! Integration with MS Word! Production of Excel spreadsheets

! Through WEBUTIL miscellaneous! Upload files! Read registry

96

Lost functionality

! Help files! Using Notepad to edit items! Performance

! Using Forms to launch apps! Using timers instead of W-N-F-I! CLIENT_OLE2 time lag

! IDENTIFIED EXTERNALLY! DLL transactions

97

So What Alternatives To This?

98

JACOB & Others

! JAva COm Bridge! Open Source! http://danadler.com/jacob/! Similar APIs to ms.com classes (simple method) but

not dependant on Microsoft JVM! Intrinsyc (Linar) J/Integra

! Not free but trial available! Have an Add-in for Oracle9i JDeveloper

! jacoZoom – www.infozoom.de! Again not free but can evaluate

99

Some Design Considerations

! Move SQL code to the database!Good idea with any environment

! Do some of the standard Forms features make sense on the Web?!Toolbar buttons !Enter Query mode!MDI windows!Next Record, Next Block, Clear Form

! Set user expectations (use OLAF?)

100

OLAF

! “Oracle Look And Feel” ! Rounded everything: buttons, scrollbars! 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

101

102

Neat OLAF Parameters

! LOV button!Button appears automatically

if item has an LOV! In registry.dat file on the app server:

app.ui.lovButtons=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”

103

Fonts and Colors

! Fonts are different! Use fonts with a Java equivalent ! There are only a few fonts in Java

• Dialog, Serif, SansSerif, Monospaced, DialogInput• MS Sans Serif becomes Dialog

! Font substitutions in Deploying Forms Applications to the Web with Forms Server – design chapter 7

! Use 9 point – translates better than 8 point! Use Display Items if nothing else works! registry.dat contains font mappings

! Use visual attributes for buttons! The Windows manager does not color

them as it does in client/server

104

The Fastest-Loading Design

! Reduce the number of items! E.g., logon form

! After validating the user, issue a NEW_FORM to a menu form

! Small initial forms break up the startup time! Forms Server process startup! Loading form into memory! Loading library code

! Achieve startup times of 5 seconds!! From the URL click to the

form appearing

105

Use JavaBeans

! Unlimited design elements! Anything you want to use as an extension! File browser; spell checker; animated dogs

! Roll your own Pluggable Java Components (PJCs)! Replace objects such as buttons and items! Or use a Bean Area - layout object

• Use custom trigger and get and set properties• JDeveloper can help create these

! Lots of samples on OTN! Look for white paper: Oracle9i Forms in a Java World

! Import Java methods! Program | Import Java Classes

?

106

Why Use Java?

! Allows you to interact with the client machine! Do FFI or DDE! Use the ORA_JAVA built-in package in Forms 9i

! Include any Java component! Java components have many possibilities! Easily extended and customized

! Leverage existing Java code! For computation or business rules! OO handling of data

! Get experience with Java! Extending forms applications is a small step towards learning

about Java

107

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

! Use :SYSTEM.MOUSE_BUTTON_MODIFIERS! O/S non-specific; Info in help system Find tab

! Test for the environment:

The docs mention that this is

platform-specific

get_application_property(USER_INTERFACE) = ’WEB’

108

Operating System Calls

! Forms runs on the app server ! The host operating system is on the app server

! HOST built-in runs on the application server! Registry reads and writes go to the app server! Other operating system facilities:

! OCX and VBX! OLE and DDE ! User exits! HINT.PLL! Be careful when changing environments

(moving from Windows to UNIX)! Will not display on the client

OTN white paper describes a solution using Java COM Bridge

(JACOB).

109

Operating System Calls

! ORA_FFI operates on the app server ! FFI calls may break if you port to another O/S

! The same for TEXT_IO and printing! If the server can see the client machine, you can read and

write client files with TEXT_IO! For printing and TEXT_IO, use ORARRP

• Oracle utility• Works for Reports; OTN has details

! Use WEB.SHOW_DOCUMENT!Opens the browser and a URL

Preview on OTN: WebUtil.PLL for 9i that includes some functions of D2KWUTIL.PLL

110

Startup Parameters

! Placed 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

111

Other Tips and Differences

! Locate app server close to database server! 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! Use CUT_REGION, COPY_REGION,

PASTE_REGION instead! Turn off menu buffering

SET_APPLICATION_PROPERTY(MENU_BUFFERING,'FALSE');

! Fewer network messages (menu is not resent)

In ORACLE_HOME/FORMS60 directory

112

Other Tips

! This doesn’t work:SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW,

WINDOW_STATE, MINIMIZE)

! Disappearing canvas tips! Increase space between stacked canvases if one

disappears• They might be slightly overlapped on the Web

!Use SHOW_VIEW() to display a shy canvas

! Update to the latest mouse drivers! Otherwise, the mouse buttons may not work if you switch the mouse

buttons for left-handed mousers! Logitech or Intellimouse

113

Tuning Options prior to Web Forms

! Database access! Optimize SQL access! Array fetches, etc

! Application tuning! Good coding practice! Efficient code, etc! Lots of advice out there

! Client hardware! The more memory and

CPU, the better

114

Additional Tuning Options for Web Forms

(Tips on the previous slide still apply)

! Network Tuning! Oracle Application Server Tuning

115

! Objects that display on a screen need to be initialized

! Less items on an initial screen speeds up performance!Have a lean first screen!Hide items that are not needed

Reduce Items on the Screen

116

! Tabbed canvases

All items aredownloaded to client

Results in a possiblelarge initial downloadtime

Reduce Items on the Screen:Tab canvases

117

Reduce Items on the Screen:Tab canvases

! Tabbed canvases

Use hidden stackedcanvas on each tabto defer download

Trade off: possibledelay when usernavigates to tab for thefirst time

118

Promote Similarities

! Similar items are likely to be handled by the Forms smart delta messaging! Only the differences are sent

across the network

! Promote similarity in the UI! Use Property classes and Object

groups! Use Inheritance where possible

119

Resources on the Web

! OracleWorld: www.oracle.com/oracleworld

! Oracle Technology Network: otn.oracle.com! Mostly 9i now, but links exist to 6i material

! otn.oracle.com/products/forms/techlisting9i.html

! otn.oracle.com/docs/products/forms

! Migrate to the Web• otn.oracle.com/products/forms/htdocs/upgrade

! Migration Assistant - from Forms 6i to 9i• otn.oracle.com/software/products/forms

! IOUG Technical Repository: www.ioug.org

! ODTUG web site: www.odtug.com

120

top related