Which is Better: Forms Servlet or Socket Mode?

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.

Forms listener servlet diagram showing firewalls desktop client and oc4j container on application tier

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

  1. HTTP and HTTPS traffic is easily recognizable by routers, while socket mode communications is generally considered suspect and treated on an exception basis. 
  2. Existing networking hardware can be used to support basic functions such as load-balancing and packet encryption for network transit.
  3. More resilient to network and firewall reconfigurations.
  4. More robust: servlet connections can be reestablished if network connections drop unexpectedly for Forms, Framework, and JSP-based pages.
  5. 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.
  6. Performance traffic can be monitored via tools like Oracle Real User Experience Insight (RUEI).
  7. Socket mode is not supported on Windows-based server platforms.

Socket Mode Advantages

  1. 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.
  2. 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:

If you're running Apps 12 and would like to switch to socket mode, see:

Related Articles

Comments:

Will it be possible to have below conditions ?
ex.1 External Users on Socket Mode and Internal users on Servelet modes
ex.2. Based on URL (Some WAN users on box 1 with url 1 using socket mode) and other on box 2 with different url (with servelet Mode ?)
If combinations are permitted, what are all combinations allowed?
Regards,
Rohit

Posted by Rohit on June 21, 2009 at 02:02 PM PDT #

Hello, Rohit,

My understanding is that this is a site-level configuration -- everything runs in either socket or servlet mode. I'll ask whether there are plans to extend this to a server-level configuration. If yes, I'll provide an update here.

Regards,
Steven

Posted by Steven Chan on June 23, 2009 at 04:44 AM PDT #

Rohit,

In 11i its possible to run Socket and Servlet side by side. Refer to Note 201340.1 (Step 6: Forms Listener Servlet and Forms Listener). I am not sure about Rel 12.

ex.1 External Users on Socket Mode and Internal users on Servelet modes

A: It should be the other way round. It is recommeded to run external users on servlet (https is preferred) and internal users on socket.

ex.2. Based on URL (Some WAN users on box 1 with url 1 using socket mode) and other on box 2 with different url (with servelet Mode ?)

A: Using the profile option "ICX: Forms Launcher" at different levels (Site, User, etc.), you can control how the Forms are launched.

Posted by Talib on June 23, 2009 at 11:26 PM PDT #

Hi,

I think this is a good approach especially when you have large EBS user base within the organisation (i.e. intranet users) and very small user accessing the system over the net (i.e. external interfaces).

Just by changing the profile option at Reponsibility level one can assign servlet (https) for the outside internet connections. And keep default 11i configuration intact using direct socket connections.

If EBS configuration has multiple application servers (load balanced) then one of the apps server can be configured out of DMZ to accept the https connections only.

Regards

Posted by Narendra Admane on July 06, 2009 at 06:14 PM PDT #

Hi,
From your experience, do you see a lot of R12 implementations still using Forms Listener (direct socket)?

Also, if you upgrade an 11i system to R12.x, will it automatically switch you to Servlet mode?

Thanks,
MA.

Posted by M.A. on August 26, 2009 at 03:55 PM PDT #

Hi, Moshe,

I don't have a lot of statistics about this at my disposal, but my impression is that the majority of R12 customers are running in servlet mode rather than socket mode.

And yes, if you upgrade to R12, your R12 environment will be configured for servlet mode by default.

Regards,
Steven

Posted by Steven Chan on August 27, 2009 at 08:12 AM PDT #

Hi Steven,
Could you please elaborate on usage of autoconfig variable s_frmConnectMode and whether we should change it to required values ( socket or servlet ) in addition to what is suggested in Note 201340.1

Regards,
Ajay

Posted by Ajay Deshpande on October 09, 2009 at 03:41 AM PDT #

Hi, Ajay,

Sorry for the delay in responding. I'm working through a daunting post-OpenWorld backlog of email.

Note 201340.1 is a comprehensive listing of steps required to enable Forms Servlet mode for EBS 11i. There should be no other "hidden" updates to other profile options required.

If you're having any trouble with your conversion to Forms Servlet, I'd like to get one of our ATG specialists engaged. Feel free to log a formal Service Request with Oracle Support. If that gets bogged down for some reason, drop me a line with your SR number.

Good luck with your cutover.

Regards,
Steven

Posted by Steven Chan on October 20, 2009 at 06:29 AM PDT #

Hi Steven. Is Riverbed a valid solution for R12 running forms in servlet mode? Or, it only makes sense if running in socket mode?
Thank you - Andrea.

Posted by Andrea Cobis on November 11, 2009 at 08:31 PM PST #

Hi, Andrea,

Riverbed is a third-party technology. We haven't had any experience with it in EBS 12 environments, I'm afraid. You might wish to contact Riverbed Technology directly to see whether they have any guidance about the use of their product in E-Business Suite environments.

Regards,
Steven

Posted by Steven Chan on November 12, 2009 at 12:30 AM PST #

Servlet Mode Advantages:
Performance traffic can be monitored via tools like Oracle Real User Experience Insight (RUEI).

Comment: RUEI support FORMS in servlet AND socket mode as of version 6.x

Posted by Jules Weijters on December 02, 2009 at 05:52 AM PST #

I'm trying to use RUEI 5.1 to monitor Oracle 11i.

However, I'm stuck in trying to modify the login page in order to collect the cookies as per "Accelerator for Oracle E-Business Suite Guide Release 5.1 documentation"

Anyone out there has done such modification on 11i E-Business login page with RUEI 5.1 monitoring?

Thanks.

Posted by Tai on December 03, 2009 at 05:23 AM PST #

Hello, Tai,

My team hasn't had the chance to review how RUEI can be used with the E-Business Suite yet. I'm told (by the RUEI team) that this should be transparent to the E-Business Suite. This implies that no modifications to E-Business Suite are needed.

I haven't had the chance to validate that, though. I think that your best bet would be to log a formal Service Request via My Oracle Support (formerly Metalink) to get one of our RUEI specialists engaged.

Please feel free to forward your Service Request number to me if it gets stuck in the support process for some reason.

Regards,
Steven

Posted by Steven Chan on December 03, 2009 at 06:56 AM PST #

Hi Steven,
Can you elaborate on Note ID 384241.1 which states

"In Oracle Applications Release 12 customers who want load balancing must use the servlet implementation in which forms servers can be balanced across multiple application servers by using a hardware load balancer along with the 10g Application Server."

We're considering using Socket mode for a multi-node R12 environment behind an F5 load balancer. Should we stick with Servlet mode, or are there any other technical details we should consider?
Thanks,
SBP (long time reader, frequent forwarder =)

Posted by Steve Parks on April 09, 2010 at 11:16 AM PDT #

Hi, Steve,

Nice to hear from you again.

The primary advantage of using the Forms Servlet mode is that that traffic is plain-old HTTP, which all hardware-based load-balancing routers understand. You don't need to do anything special to get ensure that your Forms traffic is load-balanced in a configuration where you have multiple application tier servers in a load-balanced pool. You don't need to open up any holes in your firewall, either, which should make your security auditors and administrators very happy.

The only downside of Forms Servlet mode is extra overhead associated with it, but I think that that cost is trivial compared to the substantial benefits of using HTTP. I would personally opt for Forms Servlet mode in nearly all but the most bandwidth-constrained R12 implementations (e.g. those running over tight satellite-based WANs). And even in those situations, I'd consider getting more bandwidth rather than going back to Socket mode.

Regards,
Steven

Posted by Steven Chan on April 12, 2010 at 02:49 AM PDT #

Hello Steven,

We have recently started upgrade of From EBS11i to EBS12i . In the inital testing we have experienced a bit poor performance when we have used FORMS Servelts , when we changed to FROMS Socket mode - performance has improved significantly ( over 200% improvement ). How to know that what we are doing wrong with Servlet mode. are there known performance implications while using Servlets and are there any know solutions to it as well. Kindly guide.

Regards
Ajeet

Posted by ajeet on June 28, 2011 at 01:04 AM PDT #

Hello, Ajeet,

Socket mode is more efficient than Servlet mode. I'm a little surprised that your tests show a 200% improvement, though. That's a dramatically larger difference between the two modes than I would expect.

There may be an underlying performance issue with your EBS application tier server that is somehow being highlighted by the Servlet mode configuration.

We can provide general conceptual guidance here, but I'm afraid that this blog isn't the best place to get technical support for isolating and resolving specific performance issues.

If you'd like to pursue this, your best bet would be to log a formal Service Request via My Oracle Support (formerly Metalink) to get one of our specialists engaged.

Regards,
Steven

Posted by Steven Chan on June 28, 2011 at 06:05 AM PDT #

Hello Steven,

Thank you for your response above. can you please give me some pointers to documentation which talks about the recommended configurations for Servlet mode Forms. I will log a SR as well on this issue.

Regards
Ajeet

Posted by ajeet on June 28, 2011 at 07:39 PM PDT #

Ajeet,

Please see the article above; it has links to our configuration documentation for Servlet mode.

Regards,
Steven

Posted by Steven Chan on June 29, 2011 at 02:55 AM PDT #

Hi Steve,

I may be wrong as I don't have a lot of exposure to R12 or Forms Servlet but I believe with forms socket implementation, when we bounce Apache it will not terminate existing forms sessions but if we are using forms servlet and we need to bounce Apache, it will disconnect all existing forms sessions which is a very bad thing for us. Please confirm or did we do somthing wrong in our procedure (stop/start services)?

Thanks,

-Ted.

Posted by guest on August 15, 2012 at 09:37 PM PDT #

Ted,

Your statements are accurate. If you are using forms servlets, bouncing Apache will disconnect existing forms sessions. If you are using forms socket mode, bouncing Apache will not disconnect forms sessions.

A disadvantage of forms socket mode is that there is a single point of failure with the forms server. With forms servlets and a load-balanced, multi-node deployment additional availability can be provided to your users.

It is true that an Apache bounce will disconnect existing forms sessions, but bouncing Apache has great implications. During the bounce of Apache, Oracle HTML Applications (self-service) users will also be disconnected and new users will not be able to login to the instance.

As of E-Business Suite Release 12, Oracle Development recommends deploying forms servlets for load-balancing forms in a multi-node environment. Please refer to the above article for additional advantages when deploying forms servlets.

Thanks.
Elke

Posted by Elke Phelps (Oracle Development) on August 16, 2012 at 01:38 PM PDT #

Hi Elke,

See my replies and further questions below. Thanks again.

Your statements are accurate. If you are using forms servlets, bouncing Apache will disconnect existing forms sessions. If you are using forms socket mode, bouncing Apache will not disconnect forms sessions.

--> Thanks.

A disadvantage of forms socket mode is that there is a single point of failure with the forms server. With forms servlets and a load-balanced, multi-node deployment additional availability can be provided to your users.

--> Currently, I have four apps nodes in 11.5.10.2 with the load balancer. All apps nodes are equal with apache, forms, concurrent manager, etc. Therefore, I don't have a single point of failure. I don't understand how servlet is better in this regard. Please explain further or point out to detail docid. We plan to go live with R12.1.3 in Nov. Currently; we use the default of Servlet in our R12 test instances. I am debating whether or not to change it to Socket (50%-50%), especially after read docid# 362851.1

It is true that an Apache bounce will disconnect existing forms sessions, but bouncing Apache has great implications. During the bounce of Apache, Oracle HTML Applications (self-service) users will also be disconnected and new users will not be able to login to the instance.

--> agree and fortunately, we have 90%+ forms users and few % self-service users. BTW, is there a way to find out how many self service users currently using the system (apache)?

As of E-Business Suite Release 12, Oracle Development recommends deploying forms servlets for load-balancing forms in a multi-node environment. Please refer to the above article for additional advantages when deploying forms servlets.

--> I see some inconsistency in Oracle recommendation. I total understand why Oracle recommends Forms Servlet but docid# 362851.1 suggests we stay with Socket for better efficient. Note: in our instance, we do not run Forms in DMZ.

Posted by Ted Do on August 16, 2012 at 02:28 PM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
4
5
6
7
8
9
10
11
12
13
14
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today