Professional Documents
Culture Documents
Oracle Forms 9i
Dream & Reality
Peter Anzenberger
peter@peter-partner.com
Web Web
? ?
? ?
History of Forms
2004 6i
! ! !
Many data entry applications dont need desktop integration But many do. Can be a significant barrier to Web deployment There are ways
Integration Occasional Upload Background Calculations Mail Merge Document Storage in the DB Full on Outlook & Word Integration Integration with Testing Equipment
Desktop
A successful Migration
!
! ! ! !
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
11
! !
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!!! "
12
IT - Infrastructure
! !
The Migration Process is not the Main Problem The real Problem is:
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 /tmp directory
!
14
Infrastructure of C/S
Database Server
15
Form Startup
WWW Browser
Client
Application Server
16
Form Runtime
Forms Servlet
WWW Browser
HTTP Server
File System
Java Files Forms Files Forms Listener Servlet GIF Files Database
JInitiator Window
Client
Application Server
Database 17 Server
Now you are ready to install the Oracle9iAS Infrastructure. The Oracle9iAS 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 the same 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 the Oracle9iAS products and components associated with a repository. The unique instance name will be used to identify this installation of Oracle9iAS infrastructure.
18
Now that you have the Oracle9iAS Infrastructure installed, you will need to install the applications that will use the infrastructure. In this case, you want to utilize J2EE and Web Cache as well as Wireless, Portal and Discoverer so you will install the Business Intelligence and Forms install option. The Oracle Universal Installer should detect that you already have an Oracle9iAS Infrastructure installed and Single Sign-On is enabled.
19
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:
20
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
21
23
24
25
26
27
Some Scenarios
But how will our System run within some Scenarios of failures? Lets see
29
Agenda
! ! !
1 machine HTTP and Forms together 2 machines HTTP and Forms separate Load Balancing Configurations
30
H T T P
O C 4 J
F O R M S
31
H T T P
O C 4 J
F O R M S
32
H T T P
O C 4 J
F O R M S
33
Agenda
! ! !
1 machine HTTP and Forms together 2 machines HTTP and Forms separate Load Balancing Configurations
34
H T T P
O C 4 J
F O R M S
35
H T T P
O C 4 J
F O R M S
36
H T T P
O C 4 J
F O R M S
37
H T T P
O C 4 J
F O R M S
38
H T T P
O C 4 J
F O R M S
39
H T T P
O C 4 J
F O R M S
40
Agenda
! ! !
1 machine HTTP and Forms together 2 machines HTTP and Forms separate Load Balancing Configurations
41
42
H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
43
H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
44
H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
45
H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
46
H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
47
H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
48
H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
49
O C 4 J
F O R M S
H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
50
51
H T T P
O C 4 J
F O R M S
52
O C 4 J
F O R M S
H T T P
O C 4 J
F O R M S
53
O C 4 J
F O R M S
H T T P
O C 4 J
F O R M S
54
O C 4 J
F O R M S
H T T P
O C 4 J
F O R M S
55
56
H T T P L B H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
57
H T T P L B H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
58
H T T P L B H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
59
H T T P L B H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
60
H T T P L B H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
61
H T T P L B H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
62
H T T P L B H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
63
64
H T T P L B H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
65
H T T P L B H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
66
H T T P L B H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
67
4b
H T T P L B H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
68
H T T P L B H T T P
O C 4 J
F O R M S
O C 4 J
F O R M S
69
70
L B
R O U T E R
H T T P
O C 4 J
F O R M S
H T T P
O C 4 J
F O R M S
H T T P
71
L B
R O U T E R
H T T P
O C 4 J
F O R M S
H T T P
O C 4 J
F O R M S
H T T P
72
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)
OR
73
GRID*
* BUT: how are the costs for the servers (hardware and administration)?
74
Migration
!
But also the Migration is not so easy like it looks Lets see some points of Interest:
75
76
77
78
79
Where is my Menu?
80
81
82
83
84
85
86
BUT .....
87
Client/Server architecture
Host OLE2 Database
ORA_FFI
OLE Containers
Desktop drives
88
Web-deployed architecture
Host Database
ORA_FFI
OLE2
unix
89
90
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
91
Introducing WebUtil
! !
New features
92
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
! CLIENT_TEXT_IO ! CLIENT_OLE2
93
94
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
!
95
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
!
96
97
OLAF
Oracle Look And F eel
! Rounded everything: buttons, scrollbars ! Animated alert icons
! lookAndFeel=oracle
!
! colorScheme=olive
!
100
101
LOV button ! Button appears automatically if item has an LOV ! In registry.dat file on the app server:
app.ui.lovButtons=true
! 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 JavaBeans
!
?
105
System Variables
!
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
Use :SYSTEM.MOUSE_BUTTON_MODIFIERS
! O/S non-specific; Info in help system Find tab
107
! ! !
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 OTN white paper describes a HINT.PLL solution using Java COM Bridge (JACOB). Be careful when changing environments (moving from Windows to UNIX) ! Will not display on the client
108
Startup Parameters
Placed in the HTML startup file (serverArgs) Default is an MDI frame
! You can turn Multiple Document Interface off ! usesdi=yes
!
! !
! !
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
In ORACLE_HOME/ FORMS60 directory
111
Other Tips
!
Application tuning
! Good coding practice ! Efficient code, etc ! Lots of advice out there
Client hardware
! The more memory and CPU, the better
113
114
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
115
Tabbed canvases
All items are downloaded to client Results in a possible large initial download time
116
Tabbed canvases
Use hidden stacked canvas on each tab to defer download Trade off: possible delay when user navigates to tab for the first time
117
Promote Similarities
!
Similar items are likely to be handled by the Forms smart delta messaging
! Only the differences are sent across the network
! !
120