Since you have no access to Metalink, here is the article cut and
pasted from it. it doesnt cut and paste very well though :-(
Deploying Developer Forms on the Web (Windows NT)
PURPOSE
This bulletin describes how to port Forms applications onto the web
using
Oracle Application Server and Forms Server as the middle tier and
JInitiator on the client machines.
This bulletin is specific to Windows NT platform as the middle tier.
JInitiator replaces the Java Virtual Machine (JVM) of the browser with
its own
JVM. It is the link between the browser and the Forms applet that will
be
loaded on the browser.
Porting forms onto the web can be implemented using two methods:
Static Implementation and Cartridge Implementation.
For static implementation, every form executable requires a html file
at the
middle tier. The sample static html file can be obtained from the
examples
folder in the JInitiator folder and is called static_jinit.html
For cartridge implementation, a generic html file will be used to
invoke any
module on the web. The sample html file comes with JInitiator and can
be found
in the Examples folder of JInitiator folder and is called
base_jinit.html
JInitiator can be downloaded from
http://www.oracle.com/tools/dev_server/dn.html
SUPPORTED CONFIGURATIONS
STATIC IMPLEMENTATION:
OAS3.0.1 OAS3.0.2 OAS4.0.7
DEV2K1.5 YES YES YES
DEV2K1.6 YES YES YES
DEV2K1.6.1 YES YES YES
DEV2K2.0 YES YES YES
DEV2K2.1 YES YES YES
DEV2K6.0 YES YES YES
CARTRIDGE IMPLEMENTATION:
OAS3.0.1 OAS3.0.2 OAS4.0.7
DEV2K1.5 NO NO NO
DEV2K1.6 NO NO NO
DEV2K1.6.1 YES NO NO
DEV2K2.0 NO NO NO
DEV2K2.1 YES NO NO
DEV2K6.0 NO NO YES
SUPPORTED PLATFORMS
Currently, the platforms that can be used as the middle tier include
Windows NT, Sun Solaris, HPUX, Digital UNIX, IBM AIX, SGI IRIX,
Siemens Reliant UNIX, Intel UNIX (e.g., Intel Solaris, UnixWare).
Any CD that is the Server Edition of the Developer can be used
for these platforms.
However, current support for the Client side is limited to Windows
clients (e.g., Windows 95, Windows NT). Moves are afoot to make it
supported with UNIX clients using the AppletViewer, for which there
is no tentative Release date.
MIDDLE TIER IMPLEMENTATION FOR WINDOWS NT
STATIC IMPLEMENTATION:
Access the admin URL by typing in:
http://mymachinename-pc.domain.com:adminportnumber
In this bulletin, we use the following admin URL:
http://forms.oracle.com:8888
1) After successful installation of Oracle Application Server and
Oracle Developer, type in at the DOS prompt:
For OAS 3.X:
owsctl start wrb
owsctl start admin
owsctl start www
www is the default listener
For OAS 4.0.6.4 and 4.0.7:
owsctl start
This starts all the processes for the Oracle Application Server,
or you can click on the START option in the web site to start
the processes.
2) To start the Forms Server processes, click on Start --> Run
then type in the following:
For Forms 4.5:
f45ctl start port=9000 log=C:\temp\forms45log.log
For Forms 5.0:
f50srv32 start port=9000 log=C:\temp\forms50log.log
For Forms 6.0:
ifsrv60 -listen port=9000 log=C:\temp\forms60log.log
To check if the Forms Server is running, open the Task Manager
and check for the fxxsrv32 process. Fxxsrv32 is the
Forms Server process, and fxxweb32 is the child process
waiting to service the client request for connection to
the Forms Server, where xx is the Forms version.
3) Oracle Web Application Server 3.X
Type in a browser:
http://forms.oracle.com:8888
where 8888 is the port number for the admin which was chosen
at the time of OAS installation.
The password can be found in the following file:
%ORAWEB_HOME%\WEBSITE30\HTTPD_FORMS.ORACLE.COM\admin\config\svadmin.cfg
In the browser, click on Oracle Application Server Manager
then on Oracle Web Listener.
Click on the CONFIGURE option for www listener then on
'Directory' in the left side frame.
Add the path for the file system directory and virtual directory in
order to point to the Forms Server and directory where the fmx files
and static html files are saved.
STOP and START your listener for the changes to take effect.
Oracle Application Server 4.0.X
Click on OAS MANAGER.
In the left frame, click on the 'website40 Site' then
click on HTTP Listeners (not on + sign to the left of it).
The password is encrypted for OAS 4X in the svadmin.cfg file.
You will find all the listeners and their status in the right side
frame.
Click on the + sign at the top if you want to create a new listener
for
your work. Otherwise, click on the + sign to the left of www listener
then click on the Directory. A frame with the subheading 'Directory'
will appear to the right with file system directory and virtual
directory.
Let us take the example of D2K21, and the process is same for all
other
versions of Developer.
Let us assume that the html files that will be used to invoke the
forms
on web are saved to C:\webforms
One more assumption that is made here is that the fmx files are in the
same directory as the html files.
Even if they are in different directories, they have to be in the
FORMSxx_path on the server.
In the directory mappings, type in the path to /forms50/java
C:\Orant\Forms50\java\ NR /form50code/
C:\webforms\ NR /web_forms/
Go down the page, and click on APPLY to allow the changes.
Stop and start the whole site for the changes to take effect.
If any changes are made later and you would like the changes to appear
on
the web-enabled form, you must always stop and start your Forms
Listener.
4) Configure the html page, so that Oracle Forms comes up on the web.
Please note that the html files needed for running Forms
are different for AppletViewer and JInitiator.
For AppletViewer, it is the static.html, and
for JInitiator, it is static_jinit.html
A sample html file for JInitiator would look something like this:
<HTML>
<!-- FILE: static_jinit.html -->
<!-- Oracle Static (Non-Cartridge) HTML File Template (Windows NT) -->
<!-- Tags and parameters have been modified for Oracle JInitiator -->
<HEAD><TITLE>Developer Server and Oracle JInitiator</TITLE></HEAD>
<BODY>
<P>
<OBJECT classid="clsid:9F77a997-F0F3-11d1-9195-00C04FC990DC"
WIDTH=180
HEIGHT=20
codebase="
http://mymachine/jinit115211.exe#Version=1,1,5,21,1">
<PARAM NAME="CODE" VALUE="oracle.forms.uiClient.v1_4.engine.Main" >
<PARAM NAME="CODEBASE" VALUE="/form50code/" >
<PARAM NAME="ARCHIVE" VALUE="/form50code/f50all.jar" >
<PARAM NAME="type" VALUE="application/x-jinit-applet;version=1.1.5.21.1">
<PARAM NAME="serverPort" VALUE="9000">
<PARAM NAME="serverArgs" VALUE="module=fmx_name userid=
user/password_at_datasource">
<PARAM NAME="serverApp" VALUE="default">
<COMMENT>
<EMBED type="application/x-jinit-applet;version=1.1.5.21.1"
java_CODE="oracle.forms.uiClient.v1_4.engine.Main"
java_CODEBASE="/form50code/"
java_ARCHIVE="/form50code/f50all.jar"
WIDTH=180
HEIGHT=20
serverPort="9000"
serverArgs="module=fmx_name userid=user/password_at_datasource"
serverApp="default"
pluginspage="
http://mymachine/jinit_download.htm">
<NOEMBED>
</COMMENT>
</NOEMBED></EMBED>
</OBJECT>
</BODY>
</HTML>
where the OBJECT tag is used by MS Internet Explorer and the
EMBED tag is used by Netscape browser in order to use the JInitiator.
The example above is configured for the Netscape browser.
The portion of the html file that is used for invoking forms on
Netscape browser starts with the 'EMBED type' tag.
The parameter 'java_CODE' should always point to the Main.class file
which can be located in
C:|\Orant\Forms50\java\Oracle\forms\uiClient\v1_4\engine
For Developer 6.0, it is C:\orant\forms50\java\oracle\forms\engine.
The parameter 'java_CODEBASE' should always point to the virtual
directory
that is pointing to the C:\orant\forms50\java folder in the directory
mappings of the web listener that will be used to run the form on the
web.
For us, according to the mapping described in point 3, it is
/form50code/
The parameter 'java_ARCHIVE' is used to download and store the jar
files on the
client machines from the middle tier for the first time the form is
used on the
web. From then on, whenever the form is invoked, all the Java class
files that
are required to run the form on the web will be used from the client
machine
rather than downloading them from the server again. This helps in
improving
the performance of the form on the web.
The parameter 'serverport' is the port number which is used by the
Forms
Server Listener. Whenever a client requests to use the Forms Server,
it contacts the listener which gets all the information regarding the
Forms Server, passes it to the client machine, connects the client
to the Forms Server, and then frees itself to be used by another
client request.
The parameter 'serverargs' is used to specify the name and path of the
Forms executable on the middle tier.
The serverapp is always 'Default' as it is this parameter from html
that checks the Registry.Dat file in the path
C:\orant\FormsXX\java\oracle\forms\uiClient\V1_4\util
Registry.Dat file is used for all the class IDs and for setting the
icon path
for the forms along with font styles. You can use a name other than
'default'
in the html file. However, all the entries in the Registry.Dat file
have to be
updated with the new name for 'serverapp' that is given in the html
file.
'plugsinpage' is used to prompt the client machines that do not have
JInitiator to download it from the server. They will then have to
install
it on their machines. Make sure that the jinit_download.htm and
jinitxxx.exe
are in the C:\webforms directory structure on the server.
After making changes to the html file in order to run it on the web,
it should look like this:
<HTML>
<!-- FILE: static_jinit.html -->
<!-- Oracle Static (Non-Cartridge) HTML File Template (Windows NT) -->
<!-- Tags and parameters have been modified for Oracle JInitiator -->
<HEAD><TITLE>Developer Server and Oracle JInitiator</TITLE></HEAD>
<BODY>
<P>
<OBJECT classid="clsid:9F77a997-F0F3-11d1-9195-00C04FC990DC"
WIDTH=180
HEIGHT=20
codebase="
http://mymachine/jinit115211.exe#Version=1,1,5,21,1">
<PARAM NAME="CODE" VALUE="oracle.forms.uiClient.v1_4.engine.Main" >
<PARAM NAME="CODEBASE" VALUE="/form50code/" >
<PARAM NAME="ARCHIVE" VALUE="/form50code/f50all.jar" >
<PARAM NAME="type" VALUE="application/x-jinit-applet;version=1.1.5.21.1">
<PARAM NAME="serverPort" VALUE="9000">
<PARAM NAME="serverArgs" VALUE="module=/usr/webforms/testform.fmx">
<PARAM NAME="serverApp" VALUE="default">
<COMMENT>
<EMBED type="application/x-jinit-applet;version=1.1.5.21.1"
java_CODE="oracle.forms.uiClient.v1_4.engine.Main"
java_CODEBASE="/form50code/"
java_ARCHIVE="f50all.jar"
WIDTH=180
HEIGHT=20
serverPort="9000"
serverArgs="module=C:\webforms\testform.fmx "
serverApp="default"
pluginspage="
http://forms.oracle.com:80/jinit_download.htm">
<NOEMBED>
</COMMENT>
</NOEMBED></EMBED>
</OBJECT>
</BODY>
</HTML>
Please note that for Developer 6.0, the java_CODE should be changed in
the html
file to 'oracle.forms.engine.Main', as the directory structure has
been changed.
5) Stop and start the 'www' listener, admin, and wrb.
6) You can now access the form on the web by opening the browser
window and
typing in the URL:
http://forms.oracle.com:80/web_forms/static_test.html
This brings up the Java Console window for Oracle JInitiator and
then prompts for userid/password.
Next, the form pops up as an Applet window, separate from the browser
if you are using a non-Forms60 version of Forms Server.
Beginning Forms 6.0, the Forms Applet will be part of browser window.
CARTRIDGE IMPLEMENTATION:
The Forms cartridge is used to make the html page generic and
avoid creating a html page specific to each Forms module to be used
on the web. Unlike the static implementation, this makes use of the
WRB(Web Request Broker) which works with an Object Request Broker
that is CORBA compliant. When the client makes a request for
cartridge,
it is like making a request for an object service in CORBA.
Steps for Cartridge Implementation on Oracle Web Application Server
3.x
- Start your wrb, admin, and www listeners.
- Go to the admin URL by typing in 'http://forms.oracle.com:8888',
click on Web Server Manager, click on Oracle Web Application Server,
and click on Cartridge Administration.
- Click on Add New Cartridge. Click on Add New Cartridge with Manual
Configuration. Enter a Cartridge name: form50cart
For Object Path, it is looking for the library file in order to run
the cartridge, so enter: C:\Orant\bin\f50webc.dll
- For entry point, enter: form_entry
Scroll down a bit, and in the Virtual Path, enter: /form50cart
and in the Physical Path, enter: C:\orant\bin.
- Click on Register New Cartridge.
- If the Cartridge Registration is successful, it will navigate to
the Cartridge Administration Page. Scroll down to see the
cartridge form50cart.
- Click on form50cart then click on
form50cart Cartridge Specific Parameters.
- These are the values that should be present in your page for the
cartridge parameters:
HTMLdelimiter %
baseHTML C:\webforms\base_jinit.html
Code oracle.forms.uiClient.v1_4.engine.Main
Archive f50all.jar
Codebase /form50code/
Width 640
Height 480
ServerPort 9000
ServerHost %ORAWEBHOST_NAME%
Module %Module%
serverApp default
The first time, it will allow you to enter only 5 entries.
After creating the first five parameters, go again to
form50cart Cartridge Specific Parameters and enter the
remaining parameters.
HTML delimiter is the single character delimiter that is used
to denote the parameter values.
BaseHTML is the physical path and the file name to the html file
accessed by the cartridge at runtime.
Code is the Main.class file.
Archive is the virtual path and the file name for the .JAR files
that will be used in the cartridge.
Codebase is the virtual path to the java folder in C:\orant\forms50\
Steps for Cartridge Implementation on Oracle Application Server 4.0.x
Note:
Oracle Application Server 4.0.x does not support Cartridge
Implementation for Developer Release 2.1, and therefore, the
following steps are only valid if you are using Developer 6.0.
Please remember to change the directory mappings for your listener,
or create a new listener and add the directory mappings for
Developer 6.0 in there.
Assume you have created a new listener for this exercise as follows:
Listener Name = d2k60
Port Number = 88
In the Directory Mappings section, you should have the following
settings:
$Your_Oracle_Home\forms60\java\ NR /forms60/
c:\webforms\ NR /web_forms/
To create and configure a cartridge for Oracle Application Server
4.0.x:
- Go to the Oracle Application Server 4.0.x Admin page.
- Click on OAS Manager.
- In the left frame, click on the '+' sign for website40
- Select 'Application', and in the right frame on the top,
click on the '+' sign to ADD a new application. Application
is a sort of Folder under which a user can create multiple
cartridges.
- Selecting the '+' sign brings up the 'Add Application'
screen. Select the default configuration.
Example:
Application Type = 'C Web'
Configure Mode = 'Manual'
- Hit the Apply button.
- A second screen displays. Enter the Application and Display names.
Application Version is optional and corresponds to your
application version.
Example:
Application Name = New_Project
Display Name = New_Project
- Hit the Apply button.
- The next screen displays, "Application Added Successfully."
Click on the 'Add Cartridge to this Application' button.
- On the 'Add C-Web Cartridge' Screen, enter the following
information:
Example:
Cartridge Name = forms_cartridge
Display Name = forms_cartridge
Cartridge Shared Object = $Oracle_Home\bin\ifwebc60.dll
Cartridge Entry Point = form_entry
Virtual Path = /forms_cartridge
Physical Path = $Your_Oracle_Home\bin
- Hit the Apply Button.
- This creates the cartridge.
- Acknowledge the message.
- In the left frame under Applications, you can see your
New_Project Application. If you expand it down to Cartridges,
you can see your 'forms_cartridge' there.
- Expand 'forms_cartridge' further, expand on 'Configuration',
and select 'Cartridge Parameters'. Insert the cartridge specific
parameters.
Example:
HTMLdelimiter = %
baseHTML = $Oracle_Home\forms60\java\base_jinit.html
Code = oracle.forms.engine.Main
Codebase = /forms60/
Archive = /forms60/f60all.jar
ServerPort = 9000
ServerHost = forms.oracle.com
Width = 500
Height = 500
Note
You will not be able to insert all the parameters at one time,
as it will run out of the slots. This is a logged bug.
To get more slots:
- Hit the 'Apply' button.
- Select something else in the left frame.
- Select 'Cartridge Parameters' in the left frame again.
- You may have to repeat Steps 1-3 a few times
to insert all your cartridge parameters.
Once inserted, hit the 'Apply' button again.
You are now ready to use your cartridge.
- Restart your HTTP Listeners and Oracle Application Server;
however, you must first stop all the Applications.
The following steps describe how to do this:
- In the left frame, select 'Applications', and in the right frame,
if any Flag is Green, check the box for that application and
hit the red 'Stop' button at the top. Acknowledge the message.
- In the left frame, select 'HTTP Listeners', and
in the right frame, select the 'ALL' checkbox/radio button and
hit the red 'Stop' button at the top. Acknowledge the message
once all the listeners are down.
- In the left frame, select 'Oracle Application Server', and
in the right frame, select the 'ALL' checkbox and
hit the red 'Stop' button. Acknowledge the message.
- In the left frame, select 'Oracle Application Server' again, and
in the right frame, select the 'ALL' checkbox and
hit the green button to 'Start' the Web Server processes.
Acknowledge the message.
- In the left frame, select 'HTTP Listeners' again, and
in the right frame, select the 'ALL' checkbox and
hit the green button to 'Start' all the listeners.
Acknowledge the message.
CLIENT SIDE IMPLEMENTATION
Please note that as of now, only Windows 95 and Windows NT
can be used for client implementation.
- Click on Start --> Programs --> JInitiator Control Panel
Check the Console option, and close the Control Panel of JInitiator.
- For static implementation, open a Netscape browser whose version is
4.06 or 4.07 or 4.08. Type in the URL:
http://forms.oracle.com:80/webforms/static_jinit.html.
This invokes the form on the web in the form of an Applet which will
be
in a different window from the browser.
- If you are using the Cartridge implementation, type in the URL:
http://forms.oracle.com/form50cart?Module=testform.fmx
This invokes the form on the web in an applet.
For further information about JInitiator, please read the 'Readme
file'
in the JInitiator folder after installation.
FEW POINTS TO REMEMBER
- If you want to use icons in your forms on the web,
the extension of the icon files should be .gif/.jpg
The .ico extension will not work on the web.
- You have to go to the Registry.dat file and set the icon path
to see the icons in the forms on the web. For example,
it could be 'http://forms.oracle.com:80/web_icons'
where /web_icons/ is the virtual path pointing to a valid directory
like 'C:\orant\webicons\' and all the icons are stored in this
directory.
- If you want to use forms containing image items, set the
environment variables FORMSxx_OUTPUT and FORMSxx_MAPPING
in the registry.
- You can do that by adding String values in the registry
forms50output C:\webforms\
forms50mapping http://forms.oracle.com:80/webicons/
- Always stop and start the listeners if you want to make a change
to the html file.
- Whenever you get 'engine.Main not inited' error while trying to
invoke a form on the web, try closing all your browsers on the
client machine and then opening the URL in another browser window.
If that does not work, check if your codebase parameter has been
entered correctly in the listener virtual mappings for the OAS.
- For D2K21, if you are unable to reload your web form from the
browser, it is due to Bug 735456
<ml2_documents.showDocument?p_id=735456&p_database_id=BUG> which has
been fixed with patch
that upgrades your forms to 5.0.6.14.
To download the patch, go to Oracle's ftp site at
ftp://oracle-ftp.oracle.com/dev_tools/dev2k/Win95NT/2.1/19990225/
- Presently, you cannot print to the printer on the client side
due to Java limitations.
FEATURES NOT SUPPORTED FOR WEB-ENABLED FORMS
o ActiveX, OCX, OLE, VBX.
o Combo boxes.
o Firewall is supported, but you have to poke a hole through it
for the Forms Server port.
o SSL supported from Developer 6.0, as it is HTTP/1.1 compliant.
o HOST command, as it hosts out to the server and not to the
client environment.
o ORA_FFI involving IO again, as it goes to the middle tier to
implement.
o WHEN-MOUSE-ENTER and WHEN-MOUSE-LEAVE triggers
which downgrade performance.
"Dereck L. Dietz" <dietzdl_at_ameritech.net> wrote in message news:<3yR5a.925$se1.554900_at_newssvr28.news.prodigy.com>...
> I am experiencing a problem trying to run an Oracle Form I'm trying to work
> on. In the Runtime Preferences for the web browser location I pointed it
> towards my Internet Explorer executable but I still cannot access the web
> browser.
>
> I also noticed that even using the Help options which seem to need to use a
> web browser I get the same type of error. My web browser does work but I
> just can't seem to get Oracle Forms to execute it.
>
> Could there be some security issue with my web browser not letting Oracle
> execute it? If so, does anybody know what I would need to do to let Oracle
> call it?
>
> Thank you very much.
>
> Dereck Dietz
> dietzdl_at_ameritech.net
Received on Wed Feb 26 2003 - 04:35:12 CST