Many products within the Oracle E-Business Suite have screens that
are built with Oracle Forms. Oracle Forms can be run in either servlet
mode or socket mode. Apps 11i is based on Forms 6i and is configured to
run in socket mode by
default. Apps 12 is based on Forms 10g and is configured to run in
servlet mode by default. What are these modes, and which is better?
What is Forms Servlet Mode?
The Forms Listener Servlet is a Java servlet that delivers the
ability to run Oracle Forms applications over HTTP and HTTPS
connections. It manages the creation of a Forms Server Runtime process
for each client, as well as network communications between the
client and its associated Forms Server Runtime process.
The desktop client sends HTTP requests and receives HTTP responses
from the web server. The HTTP Listener on the web server acts as the
network endpoint for the client, keeping other servers and ports from
being exposed at the firewall.
What is Forms Socket Mode?
Initial releases of the Oracle Forms Server product used a simple
method for connecting the client to the server. The connection from the
desktop client to the Forms Listener process was accomplished using a
direct socket connection. The direct socket
connection mode was suitable for companies providing thin client access
to Forms applications within their corporate local area networks. For
the direct socket connection mode, the client had to be able to see the
server and had to have permission to establish
a direct network connection.
Although the direct socket connection mode is perfectly suited for
deployments within a company’s internal network, it's not the best
choice for application deployment via unsecured network paths via the
Internet. A company connected to the Internet
typically employs a strict policy defining the types of network
connections that can be made by Internet clients to secure corporate
networks. Permitting a direct socket connection from an external client
exposes the company to potential risk because the true
identity of the client can be hard to determine.
Servlet Mode Advantages
- HTTP and HTTPS traffic is easily recognizable by routers, while socket mode communications is generally considered suspect and treated on an exception basis.
- Existing networking hardware can be used to support basic functions such as load-balancing and packet encryption for network transit.
- More resilient to network and firewall reconfigurations.
- More robust: servlet connections can be reestablished if network connections drop unexpectedly for Forms, Framework, and JSP-based pages.
- Is the only supported method for generic Oracle Forms customers, and therefore is more thoroughly tested by the Forms and E-Business Suite product groups.
- Performance traffic can be monitored via tools like Oracle Real User Experience Insight (RUEI).
- Socket mode is not supported on Windows-based server platforms.
Socket Mode Advantages
- Uses up to 40% less bandwidth than Forms servlet mode. This may be perceived by Wide Area Network (WAN) users as causing slower responsiveness, depending upon network latency.
- Uses fewer application-tier JVM resources than servlet mode, due to fewer TCP turns and lack of overhead associated with HTTP POST handling.
Switching Apps Deployments Between Modes
Due to its numerous advantages, Forms servlet mode is the preferred and recommended deployment model for Forms on the web.
There may be circumstances where you need to switch between the
default Forms modes. You might wish to switch your Oracle E-Business
Suite Release 12 environment to socket mode to improve performance or
reduce network load. You might wish to
switch your Apps 11i environment to servlet mode as part of your rollout
to external web-based end-users outside of your organization.
If you're running Apps 11i and would like to switch to servlet mode, see:
- Using Forms Listener Servlet with Oracle Applications 11i (Note 201340.1)
If you're running Apps 12 and would like to switch to socket mode, see:
- Using Forms Socket Mode in Oracle Applications Release 12 (Note 384241.1)
Source: https://blogs.oracle.com/stevenChan/entry/which_is_better_forms_servlet_or_socket_mode