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.