Monday, June 8, 2009

ARCHITECHTURE OF EBS

This Topic is quite important and I recommend you to go through this thoroughly.
First I want to discuss terminology which you will encounter in this site & in most of Oracle Documentation.


Server - is a process or group of processes and provides a particular functionality/service For example, Database Server listen and process database requests, similarly Web Server listens for and processes HTTP requests.


Tier - is a logical grouping of services, may be on single machine or spread across more than one physical machine. For Example, Middle Tier in Oracle apps consist Form,Web,Report...Services. Forms & Report can be one machine 1 & Web Server can be on machine 2, still they will be part of same tier called as Application Tier or Middle Tier.


Node - is referred as Machine, Each tier may consist of one or more node and each node can potentially have more than one tier.


Oracle Applications/E-Business Suite is built on three tier Architecture with first Desktop Tier ic client machines accessing applications via browser(HTML based Self service applications) or Java Applet(Jinitiator) for Form based interface.


Second is Application Tier also called as middle tier consists of WebServer Forms, Reports, Concurrent processing, Discoverer and Admin Server. I suppose its known as Middle tier because it lies between our desktop & third tier called database tier.


Third is Database Tier contain Orale database server which store all your application data. Do you want to know how Request Flow in apps.

If you want to be good apps trouble shooter, you should know how request flow in apps across various components and which service or part of service fulfill that request so that you can focus in particular component.


User makes a request from browser by typing URL like http://hostname:port , here port is WebServer Listen Port. Request hit to WebServer (these requests are recorded in access_logs under Apache Web Server.)


Webserver checks that with http header request there is no cookie attached (Cookie is message given by WebServer to Web Browser to identify client) Webserver identifies that user is logging first time & it passes login page to User . If Apps is configured to use 10G AS with SSO (Single Sign-On Server) SSO authentication page is sent back to client browser.

User types his Username Password in login window & clicks submit button.
Webserver checks that username and passwords need to authenticate against database FND_USER (or OID/AD incase of SSO configuration) table, so it needs some user to connect to database. You know now why GUEST/ORACLE is used in applications.
Once user is authenticated its check against FND_XXXX (FND tables) for Authorization about users responsibilities & assigned responsibilities are presented back to user.
Now these responsibilities are of two type Self Services(served by Jserv/Servlets) or Core Applications served by Forms Server .


If this is Core responsibility , Apache transfers request to Forms Listener and dedicated connection establish between client browser & form server If User selected Self Service Responsibility like iProcurement, iRecruitement.., Apache forwards request to mod_jserv and request is fullfilled by jserv_component.

Have you ever noticed why webserver donot ask client to login again until session timeout ??( I know you will say its because of cookies as User have valid cookies , try deleting cookies from browser & see Oracle Apache asks you to relogin .
When your webserver tries to connect to database for plsql or any other type of connection it asks mod_pls to fulfill request.
Users submits his requests for batch processing or somthing else ( Gather Stats done by Sysadmins or Apps DBA's) these kind of requests are fullfilled by Concurrent Manager.
When user want to see reports of all these things request is being forwarded to Reports Server . You as Sysadmin or Oracle Apps DBA need not to worry how this request transmission happens from one service to another , this is transparent to you me or User but its quite important to understand it as a process.

No comments:

Post a Comment