Friday, June 29, 2007

E-Business Suite R12 - Software Load Balancing

Found an interesting post by Steven (for E-Business Suite 11i version)

http://blogs.oracle.com/schan/newsItems/departments/networkingArchitectures/2006/06/16#a322

How about software load balancing with the Release 12 E-Business Suite !!

Let us start analyzing Apps-TechStack a bit. I remember, before r12 Oracle had Jserv in the middle tier. Now, Jserv has been replaced by OC4J with the Release 12. And therefore software load balancing of E-Business Suite R12 is technically possible, without the need to go for hardware load balancer.

There are 3 instances of OC4J running at the middle tier.

1. Forms => for Forms based interface
2. Oacore => for OAF Interface (HTML based interface)
3. Oafm => (Oracle Application Fusion Middleware) for mapviewer, webservices and ascontrol.

Until 11i , Oracle has only talked about hardware load balancer/router. Tech Stack of R12 supports software load balancing as well.

Now, What is load balancing?

Load balancing involves allocating the request between processes. A couple of important features makes Load balancing possible.

1) Allocating/Routing Algorithm:
Algorithm (popular ones are round robin, random, hash, allocating based on priority) to route the requests to different process(es).

2) Failure detection:
Requests which are broke-down/dead should be recognised and mark the corresponding processes as 'unused'.

Allocate requests - Where can we do that with Apps TechStack?

Software Load Balancing, in other words, 'routing the requests' is possible at three levels.

1. From Oracle AS WebCache 10gversion to Oracle HTTP Server
2. From Oracle HTTP Server to OC4J (using mod_oc4j)
3. From OC4J (Oracle Containers for J2EE) to Database

For the Professional user interface (Forms based screens), load balancing at "From OC4J to DB" level would not be possible, because the DB connection would happen from Forms Services.

Otherwise, Software load balancing should be possible for both Professional user interface and HTML based user interface (OA framework pages).

Please feel free to share your thoughts on the same.

-Subashini

PS: I know the questions running across.... With Load balancing architecture,
1) which will detect the failure nodes ?
2) How does the cluster of oracle application Servers 10g get to know about the failed node?
3) Will the next node be able to continue serving the request, when one node fail ?
4) where does the state replication occur? How come the second node get to know the continuation point, to serve the same request?

please wait until my next blog.

4 comments:

Vishal Gupta said...

Well done Subha!!
It's a good track to get the things happening behind the screen.

Here I wud like to draw the light on the other aspect of Load Balancing stack.

1. As I know Load balancing is part of ant app server whether tis OC4J, iPlanet or any other server.
So how it can be related to any perticular web application like EBS R12.
2. I just want to know since OC4J uses DNS Round Robin mathod for distributing the requests to promote high availability of the system and avoiding DDOS. So, dows it work on session independent or shared-session servers manner.
3. and my last doubt on depandency. Does the methodology of the load balancling of OC4J, have any hardware dependencies, if so , How?

-Vishal G.

Anonymous said...

People should read this.

oracle training said...

great to get this information.

Anonymous said...

thank you