Thursday, May 12, 2016

oracle EBS Request flow.

 When user makes a request how request flow across different component in E-Business Suite or Oracle applications .

 different Services/Component in Oracle apps  are ,

1. Oracle Web Server ( Apache, Jserv, plssql ) IAS_ORACLE_HOME 9iAS, Ver. 10222
2. Forms Server ( 8.0.6 ) ORACLE_HOME
3. Report Server ( in side 8.0.6 ORACLE_HOME)
4. Concurrent Manager for Batch or Individual Job Processing
5. Admin Server ( These are used for application dba job like patching , cloning & lot more )
6. Database Server

A) So when User makes a request from browser by typing URL like http:// hostname : port so port number they mention is WebServer Port, request hit to Oracle WebServer ( these requests are recorded in logs where wait for next post )

B) Webserver checks that with http request there is no cookie attached (Cookie is message given by WebServer to Web Browser to identify client) so user is new & it passes login page to User .

C) User types his Username Password in login window & clicks submit button

D) Webserver checks that username and passwords need to authenticate against database FND_USER table , so it needs first some user to check client's username password in database . Guess which username password it uses ?? ( GUEST/ORACLE have you ever noticed why this user is there , Hope you know it now it Uses Guest User to autenticate your user in database )

E) Once user is authenticated its check against FND_RESPONSBILITY..(Confirm again , not sure table name) for Authorization about users responsibilities & assigned responsibilities are presented back to user.

F) Now these responsibilities are of two type Self Services(served by Jserv/Servlets) or Core Applications Server by Forms Server .

G) If this is Core responsibility , Apache transfers request to Forms Listener (Listening on Forms port, I will cover how to check Forms Port in my coming posts ), From here request is on Sockets (May be on forms servelets depending on forms config. ) which is persistense connection. From here onwards Client talks directly with Forms Server in forms session and if Client requested some data, forms server makes database connection ( How ?? using tnsnames.ora in 806 HOME or using dbc Database Connector file in FND_SECURE_TOP or wdbsvr.apps in Apache/modplsql/cfg ?) 

H) 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 know answer now its because of cookies as User have valid cookies , try deleting cookies from browser & see Oracle Apache asks you to relogin .

I) When your webserver tries to connect to database for plsql or any other type of connection it asks mod_pls to fulfill request but where is this connection information stored ? ( dbc file or wdbsvr.app file or somthing else ? )

J) 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.

G) When user want to see reports of all these things request is being forwarded to Reports Server .