|
|
|
Oracle Application Server Forms 10g
August 2004 |
Topics
1. OracleAS Forms Services
2. Integration
3. Platform Support Issues
4. Single Sign-on
5. Upgrading to OracleAS Forms
10g (9.0.4)
6. Integration with Oracle9AS Portal
7. Builder Environment
|
|
|
1.1 Can I run
Forms using a Separate Forms Listener Process?
No. In subsequent patches to Forms 6i,
we introduced a new way of running Forms on the web, without the need for a
separate Forms Listener process. This is a Java Servlet called the
Forms Listener Servlet. From Oracle9i Forms and higher, the Forms Listener Servlet is the only supported
method of deploying Forms.
1.2 Can I call
a Forms application using the Forms CGI?
No. In subsequent patches to Forms 6i,
we introduced a new way of building the start page for a Forms application,
the Forms Servlet. This Java Servlet does the same job as the Forms CGI,
namely the construction of an HTML page based on configuration information
supplied on the URL in combination with the formsweb.cfg file. From Oracle9i
Forms and higher, this Servlet should be used instead of the CGI.
1.3 Do I still need to download JInitiator on the client to run a Forms
application?
JInitiator is a Java Virtual Machine (JVM) that plugs into either
Netscape Communicator or Microsoft Internet Explorer to provide an
alternative JVM to that which those browsers provide.
Depending on the client platform the browser is running, we are
supporting the following JVMs:
-
Windows32
-
Oracle JInitiator (with Netscape and Internet Explorer)
-
Internet Explorer 5.x native JVM
-
Macintosh
-
Apple MRJ (with Internet Explorer 5.0) or Safari (pending more
information from Apple)
-
Solaris
For the definitive level of certification and possible restrictions,
please refer to the "Client Platform Support" statement of direction
available on OTN (otn.oracle.com/products/forms).
1.4 What is the difference between the Forms Servlet and the Forms Listener
Servlet?
The Forms Servlet is in charge of dynamically generating the HTML page
containing the necessary Forms Client information.
The Forms Listener Servlet is the architecture for Internet deployment.
The Forms Listener Servlet manages the communication between the Forms Java
Client and OracleAS Forms Services.
1.5 Can I deploy my Forms application over the Internet through firewalls
and proxies?
Yes. Forms works with a wide range of firewalls and proxy servers.
1.6 When will the Forms Listener Servlet use HTTP 1.1 requests to the Web
server, and when will it use HTTP 1.0 requests?
The Forms Listener Servlet will always make HTTP 1.1 requests if the Web
server and any intervening proxies, support this protocol level. The Servlet
will drop down to using HTTP 1.0 if Web server or one of the proxies can
only support that level of the protocol.
1.7 How can I manage and monitor OracleAS
Forms Services activity remotely?
OracleAS Forms Services is
integrated with Oracle Enterprise Manager (EM) to allow the administration
and the monitoring of OracleAS
Forms Services. From the browser based EM console, you can monitor the
client sessions running within a Forms Service, viewing how much memory and
CPU each is using. Individual sessions can even be killed from the EM
console.
1.8 How do I run my
Forms applications in several different languages on the same
machine?
Multiple entries for a particular application can be defined in the
formsweb.cfg file, with each application name suffixed with the country
code, for instance HR, HR.DE, HR.FR and so on. When a URL is submitted with
the value CONFIG=HR, the Forms Servlet will detect for the submitting
browsers language code and look for a suitable version of HR with that code
appended. Thus a user running a browser in French would pick up the HR.FR
version of the configuration. If a particular configuration and language
code combination is not found in the formsweb,cfg, then the base
configuration (in this case HR) will be used. Each of the country specific
versions of the HR application can define settings such as the environment
file accordingly.
1.9 How can I best measure the memory requirements if my application is on
the middle tier?
It is tempting to use operating system tools such as Task manager on
Windows or ps on UNIX to provide a figure for memory consumption, based on
the amount of memory shown to be consumed by a single session, and
multiplying by the projected population. However, these utilities give a
misleadingly high figure for memory consumption, as they fail to take into
account the extensive sharing of memory that takes place between concurrent
Forms sessions.
The only way to test the scalability of an application is to define a
realistic usage scenario and simulate the activity of concurrent users by
playing back this scenario. When the performance degrades significantly, you
have reached the maximum number of users on the machine configuration. You
can then calculate the memory consumption per user accordingly. Tools, such
as Mercury LoadRunner, are available to help simulate such user loads. |
|
|
2.1 Is it possible to call Java classes from a Forms application on the
application server side?
Yes. Oracle Forms
Developer gives you the ability to generate the PL/SQL code necessary to
call any Java class from a Forms application, using the Java Importer
facility.
With the code generated by this feature, you are able to call
compiled Java classes, directly from PL/SQL, in the OracleAS
Forms Services on the middle tier.
2.2 Can I base a Forms block on an EJB or BC4J component?
The Java importer facility gives you the ability to use an Enterprise
Java Bean (EJB) or Business Components for Java (BC4J) component as the
basis of a Forms Block. However, we recommend that you do not do this for
the following reasons:
-
Calling out to Java from Forms has a small but significant performance
implication. The Java Native Interface (JNI) that is used to call out
from the Forms C code to Java does impose a bottleneck on the operation as
values and method calls are transferred. Although this overhead is not
noticeable in a simple function call, it will become evident if a Form
Block is based on Java in this way. The normal functionality of the block
requires many calls back and forth to the datasource and in this case the
delay imposed by the JNI bridge, on each call, will result in noticeably
slower performance than that for a block based directly on a table, view
or PL/SQL stored procedure.
-
Whenever a Forms process calls out to Java, it must have a Java Virtual
Machine loaded into memory. This will increase the memory footprint of
your application.
-
Using a foreign data source in this way is a complex task in terms of
hooking the Java Code up to the Forms transactional triggers. The
maintenance burden is also high if changes have to be made, as both the
PL/SQL interfaces and the Java code itself may need to be changed.
-
An EJB or BC4J component will create it's own JDBC connection to the
database and not re-use the existing Forms connection, doubling the user
load on the database.
2.3 When running a form on the Web, can I use OLE to talk to programs such
as MS Word or Excel?
Yes. For OLE integration on the client, Oracle have provided a
utility called WebUtil for client-side integration. For more
information on WebUtil, including a WebUtil FAQ, visit the
WebUtil area on OTN.
OLE integration also works for external OLE servers invoked using
OLE2.CREATE_OBJ. The OLE server you are invoking must be available on
the middle tier machine where OracleAS
Forms Services resides. Consequently the middle tier machine must be a
Windows NT or Windows 2000 machine. Embedded OLE containers and ActiveX
(OCX) controls are not supported when running on the Web.
2.4 I currently have a client-server application that uses an embedded
ActiveX control to communicate with an external device. How can I
maintain this functionality when I deploy the application on the Web in
Oracle
Forms ?
Assuming that the device in question (for example, a Scanner) is attached
to each client machine, rather than the server, you will use a Pluggable
Java Component (PJC) to extend the capabilities of the Forms Java Client and
allow it to talk to the hardware in question. Oracle
JDeveloper provides a Wizard to help you build such Pluggable Java
Components.
WebUtil, a utility for Oracle Forms provided by Oracle, offers other
options for client-side integration, such as calling out to DLLs on the
client. For more information on WebUtil, including a
WebUtil FAQ, visit the
WebUtil area on OTN.
2.5 How can I upload a file from a browser client to my middle tier?
You can either use a conventional Web upload to do this, or you can use
WebUtil, a utility for Oracle Forms provided by Oracle. With WebUtil,
you can upload to the application (middle) tier, or to the database.
For more information on WebUtil, including a WebUtil FAQ, visit the
WebUtil area on OTN.
2.6 I want to write a JavaBean for use as a pluggable component for the
Forms Java Client. What version of the Java Development Kit (JDK) should I
use?
Pluggable Java components for Oracle
Forms can be build with 1.3.x or 1.4.x of the JDK.
2.7 Do I have to write a wrapper to interface the Forms Java Client with a
pre-existing Java Bean?
This is an option in Forms and still works. However, we have added
enhanced support for JavaBeans in Forms, which allows
Forms to introspect the JavaBean at runtime and removes the need to write
any Java code to handle the integration. Enhanced JavaBean support is
covered in the on-line help.
2.8 When running a Form on the Web where do commands such as HOST and
TEXT_IO execute?
In Web-deployed Forms these commands, built-ins, User Exits, and ORA_FFI
code execute on the middle tier. To execute the commands on the client
browser machine, write your own Pluggable Java Components or use WebUtil, a utility for Oracle Forms provided by Oracle.
For more information on WebUtil, including a WebUtil FAQ, visit the
WebUtil area on OTN.
2.9 Can I use the functions in the D2KWUTIL library when
Forms is running on NT?
No. We don't support the use of D2KWUTIL in the middle tier. Many of the
functions in the library require access to Window Handles, which will not
work in the Web deployment scenario. While some functions, such as
WIN_API_ENVIRONMENT.GET_COMPUTER_NAME(), do work, they return information
about the application server machine, not the client. Some functions, such
as the bitwise operations, continue to function without a problem.
However, Oracle have a provided a utility called WebUtil which will give you
parity with the functionality of D2KWUTIL, and more! For more
information on WebUtil, including a WebUtil FAQ, visit the
WebUtil area on OTN. |
|
|
3.1 Can I run OracleAS Forms
Services on Linux?
Yes, OracleAS Forms Services are available as part of the OracleAS
Enterprise Edition on Linux.
3.2 Will Forms or JInitiator be supported on Windows 95 once Microsoft has
ceased support of the platform?
No. Once a platform is no longer supported by the operating system
vendor we also cease support of products on that platform.
3.3 What Win32 Platforms can
Forms Services be deployed on?
Only Windows NT 4.0 and Windows 2000 are supported as platforms for
hosting the OracleAS Forms
Services. Windows XP is currently undergoing certification for hosting
OracleAS Forms Services.
Browser clients that access Forms applications using JInitiator or native
Internet Explorer can be based on any supported Win32 variant:
- Windows 95 (while supported by Microsoft)
- Windows 98 (while supported by Microsoft)
- Windows ME (with patch 6, while supported by Microsoft)
- Windows NT 4.0
- Windows 2000
- Windows XP
Please refer to metalink.oracle.com for definitive certification matrix.
|
|
|
4.1 Can I use Single Sign-On with
Forms Services?
Yes. OracleAS Forms Services
applications can be configured as an external application to the Oracle
Login Server. The Login Server is the Oracle unified Single Sign-On (SSO)
solution, mapping the
Forms application user to a Single Sign-On user account. In addition,
your Forms applications can take advantage without any modification of your
Forms modules!
4.2 Can I use LDAP to authenticate
Forms Services?
Not directly. However, Oracle Login Server is able to authenticate
against a LDAP directory and thus a Forms application can take advantage of
this in a SSO environment. But you cannot use access control information
stored in a LDAP directory with Forms. |
|
|
5.1 What versions of Forms can I upgrade to OracleAS
Forms 10g (9.0.4)?
Only Forms 6.0, Forms 6i, and
Oracle9i Forms are supported for direct upgrade to Oracle
Forms 10g (9.0.4). Older versions of Forms should be upgraded to Forms 6i
or 9i
first.
5.2 Can I run Client Server or Character Mode applications in OracleAS
Forms 10g?
No. Oracle Forms 10g only
supports Web deployment. Applications that need to be run in Client Server
or Character Mode should remain in Forms 6i.
Forms 6i will be supported until
December 31st, 2004, or December 31st, 2007 with Extended Support for
customers who wish to maintain such applications.
5.3 What changes will I have to make to my application before upgrading?
Many Client Server and Character Mode features have been removed from the
Forms product for 9i and 10g. The
removed features mainly relate to features that where only maintained in
Forms 6i for the purpose of
backwards compatibility. A detailed list of all of the obsolete features
can be found on OTN (/products/forms/pdf/featuresobsolescence.pdf)
5.4 Is there an easy way to find out if my modules use obsolete features?
Yes. Oracle supply a separate utility with the Oracle
Forms distribution called the Forms Migration Assistant. This is a
utility which will scan your files for obsolete usages and correct them
where applicable. It will also alert you to any changes you may have
to make manually. |
|
|
6.1 Can I integrate my
Forms application as a portlet in OracleAS
Portal?
Yes. You have to edit the relevant static or base .html file (if using
the CGI or servlet). In both cases you have to remove the <HTML>,<BODY>,
</HTML>, and </BODY> tags. Using the Portal Developer's Kit (PDK)
downloaded from OTN (), you can set up the URL portlet.
This URL portlet takes an application, referenced by a URL, and brings it
as a portlet into a portal page.
6.2 How can I create a link in OracleAS Portal pointing to a
Forms application?
There are two ways to do this. First, you can use the OracleAS
Portal MyFavorites portlet, which is a kind of bookmark portlet, allowing
you to publish custom links.
Second, you can define particular links as folders in a Content area and
publish them to the portal. The second option may be more suitable as it
prevents users from customizing the links. |
|
|
7.1 When I try to use the Java Importer feature I get a PDE error why is
this?
In order to use the Java Importer, The path used by the Form Builder must
include the Java \bin\classic directory and the classpath should include
both the classes that you want to import as well as the supplied
importer.jar file.
7.2 When I press the run button how can I define which browser is used?
Use the Edit->Preferences dialog and set the location of your preferred
web browser in the "Web Browser Location" field on the Runtime tab..
7.3 How can I use a particular profile from my formsweb.cfg when running
from the builder?
In the Edit->Preferences dialog Runtime tab, you can enter an application
server URL. This URL is the one that the builder will append to when
constructing the URL to run. Thus, if you specify a particular
configuration on the end of this URL (e.g. http://myserver/forms90/f90servlet?config=development
), that base configuration will be used, and additional runtime
information appended to it.
7.4 How can I attach to a remote form in debug mode?
First of all, the Form that you wish to debug needs to make a call to
Debug.Attach in PL/SQL (You might associate this with a menu option in the
module.) Calling Debug.Attach; will pop up a dialog on the remote system
containing the name of the server and a port number.
In the Forms Builder, use the Debug->Attach Debug menu option to display
the "Attach Debug to" dialog. Enter the supplied machine and port number
into this dialog. You will then be able to debug the remote session.
7.5 Can I debug a remote form through a firewall?
No. The remote debugging within Forms uses a sockets connection to
handle the debug traffic. Generally firewalls do not allow traffic through
unregulated sockets so the debug connection will not be made.
7.6 I find the color scheme of the
Forms Builder hard to work with, is there a way of changing this?
Set the environment variable FORMS90_CLAF=true, before starting the
builder, to enable the "classic" Forms look and feel. |
Top of Page
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
+1.650.506.7000
Fax +1.650.506.7200
http://www.oracle.com/
Copyright © Oracle Corporation
2003
All Rights Reserved
This document is provided for
informational purposes only,
and the information herein is
subject to change
without notice. Please
report any errors herein to
Oracle Corporation. Oracle
Corporation does not provide
any warranties covering and specifically
disclaims any
liability in connection with
this document.
Oracle is a registered trademark
of Oracle Corporation.
All other company and product
names mentioned are used
for identification purposes only
and may be trademarks of
their respective owners.
|