Now since you know Basic Overview of Oracle Applications / apps 11i and Installation (If not read my previous posts) . When user makes a request how request flow across different component in E-Business Suite or Oracle applications .
By now you might be aware of different Services/Component in Oracle apps I repeat them here these 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 ?) Post your answer in comment section, you can do it as anonymous user without login as well
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 ( More about CM, including CM tuning still to come in future )
G) 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 . ( Let Oracle do this behind the scene ) You should know request flow as this is most crucial during Troubleshooting (I’ll cover in future posts ) to pinpoint in which compnent issue is & where to look for .
If you like this post please tell it to your other Apps DBA friends & Other budding Oracle Apps DBA’s . Please don’t forget to leave comment & for Advanced Apps DBA , WebServer configuration file system & configuration files look my post at http://atul-oracle.blogspot.com
Learn Oracle Apps DBA
Free Apps DBA Training
Related Posts for 11i Overview
Popularity: 12% [?]




Good hands-on exercises (installation, patching, cloning), very experienced trainer worth every penny
38 users commented in " Oracle Applications Request Flow "
Follow-up comment rss or Leave a Trackbacknice post keep up the good work
Good One check similar at
http://oradbablog.blogspot.com/
Check similar at Advanced Apps DBA
Hi Atul,
Would like to Thank You very much for the initiative you have taken and helping the DBA’s like me.
Thank You once Again.
Varaha
Atul,
I followed all your atricles in ” For Apps DBA beginner’s ” they are very good.
I can definetly refer your site as a good steping stone for Starter APPS DBA’s.
Once again my heartfully thanks to you for doing this kind of job for future APPS DBA’s. So, pl. keep posting.
Regard
Sashidhar
Sashidhar,
Thanks a lot for compliment & feedback .
Atul
Atul great wrk - as part of these - can you shed some lite on the different and important FND tables that dba’s need to be aware of
Thanks,
Vidya
Atul great wrk - as part of these - can you shed some light on the different and important FND tables that apps dba’s need to be aware of
Thanks,
Vidya
Vidya,
Thanks a lot for your compilments. I have listed few important Apps tables at my site .
To view HTTP://TEACHMEORACLE.COM/IMPTABLES.HTML> Click Here for Imp Tables in Apps
Sorry I suppose above link is not working here is link
Click Here for Important Tables
one late qustion autl, is there any way on earth that i can know the ip address of the clinet who are currently using my froms.
fadi
Fadi,
You can raise as many questions you have , thats motto of this blog & site http://teachmeoracle.com ( Discovering Oracle Apps )
You can find out user name of person initiating forms but finding IP address of that person might be tricky.
You can get list of all IP address accessing your web server via access_log under Apache/Apache/logs
Hi Atul,
Can you please clarrify my doubt?
(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 )
My DBC file contains
GUEST_USER_PWD=GUEST/ORACLE
But I could not connect to the database using this user
SQL> connect GUEST/ORACLE
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
Even I could not connect using this username and pwd in the appication.
Please let me know is this database user or application user? If it is application user then using which user it is connecting to database to verify the application user and pwd?
Seelan
Seelan,
This user is application user & not database user.
You should find this user in FND_USER (S) & not in DBA_USERS
Atul
Hi Atul,
I think while logging in from the initial page(single sign on),oracle use APPLSYSPUB user,otherwise w/o logging into the database how FND_USERS can be verified for username.
please ,clarify in thorough details,
regards,
Vishal
Hi Vishal,
I think you are saying right let me cross verify & I’ll update accordingly
Atul
Hi Everyone,
This is my understanding about the request flow in oracle apps and i would like to share with you
1. Webserver receives the user request for the particular port number. Web server Binds the request with the port number
2.Based on the cookie webserver serves the request by sending login page
3. The application user name and password is entered by the user(operations/welcome)
4. The application user login session is validated by connecting to Applsyspub/pub. Applsyspub contains application user session ,invalid logins,security related tables. The user & security is validated here
5. The responsibility page is displayed. User selects a particular responsibility
6. The responsibility and application name is validated by connecting to Applsys schema(fnd_Responsibility, fnd_application…….)
Note: Here we should remember the difference between applsys and apps schema. Applsys schema contains ad,fnd objects whereas apps schema is a global schema contains all application objects.
7. Once the application is validated , Connecting to apps schema to get access application tables. This is the reason why we should have apps and applsys passwords should be same
8. Once a particular form is selected the .dbc file is accessed to get the information about the GUEST username/pwd
But i am not sure when the webdbsvr.app file is getting used. My assumption is between step 3 and 4 the webdbsvr.app should get accessed to obtain the apps password.
Atul and everyone, Please correct me if i am wrong in my understanding.
reg
malar
Malar,
Very well explained , Yes you are right & I need to change my bit about GUEST by your APPLSYSPUB (It uses applsyspub first time)
wdbsvr.app is used by mod_pls in Apache (apps password in this file)
mod_pls is module in Oracle-Apache for executing plsql packages from browser.
its somthing like dads.conf in standalone application server
Atul
Hi Atul ,
For beginners like me you are an angel in disguise.
Thanks you very much ,
Aarif
Hi Atul,
Your practical apps notes are excellent inspiration for all oracle apps dba’s around the globe. We really appreciate your effort - Shiva Geereddy
good inspiration for apps dba’s
Thanks a lot shiva
Atul/Malar,
I didnt understand when .dbc file is going to use, either when accessing a particular form or while giving application username/pwd.
Thanks,
Sai
Sai,
I noticed that if dbs file is corrupt or not present forms connection errors out though initial login works so I suppose this is forms which is issue but you can try at your end as well by moving dbc file to other location & try at what point it errors out.
Hi Atul,
I think you should have added that the Forms Server process spawns a forms client process ( f60sebmx) which actually talks to the client. The above statement remains correct when forms listener servlet is not used.
Chandra
Thanks chandra for sharing this info with us all
I had a typo in my previous comment is f60webmx
Hi Atul,
This is Rohit, just want to correct you that initial connection to validate user is made thru applsyspub/pub, no thru guest/oracle
Keep up the good Work
-Rohit
hi Atul…
Thanks for the information….
and please specify the extensions (url’s) as much s possible..
thanks
raghu
HI atul,
while logging i get the following
serveranil@192.168.1.85’s password:
Last login: Sat Jun 2 13:04:05 2007 from 192.168.1.232
-bash: /usrxit/devenv.env: No such file or directory
[serveranil@surya ~]$
also when i run APPSORA.env
[serveranil@surya kingappl]$ . APPSORA.env
-bash: /usrxit/devenv.env: No such file or directory
[serveranil@surya kingappl]$
plz let me know the solution
rgds,
krish
Krish for any issues or problems raise them in forum at http://teachMeOracle.com/forum
That is a wonderful document which explains the flow in brief.
Can you please elaborate on significance of 9iAS here.
Pramod,
9iAS is webserver listening for HTTP requests
hi atul,
you are doing a great job.
nice article
Atul,
I am working as an apps dba for 3 years. I have a doubt, though very basic, still in mind. What is the difference between users APPS and APPLSYS? I tried to find it many places but did not get any good answer.
Can you please discuss on this?
Thanks,
Sayantan
I think all needs to check out the things again that, APPLSYSPUB does the validation or its GUEST user does the work.
Do a simple test:-
==================
1)
Open a Putty/Fsecure session and connect as apps user.
2)
Do not execute this query but just make it ready on the screen so that you just need to press ENTER in order to execute this query.
set linesize 100
set pagesize 100
col HOW_MANY_USER_SESSIONS for a60
select ‘Number of sessions opened by user’ ||’ ‘|| fu.user_name || ‘ is ‘ || count(distinct session_id) How_many_user_sessions
from icx_sessions icx,fnd_user fu where disabled_flag != ‘Y’ and PSEUDO_FLAG = ‘N’
and (last_connect + decode(FND_PROFILE.VALUE(’ICX_SESSION_TIMEOUT’), NULL,limit_time, 0,limit_time,FND_PROFILE.VALUE(’ICX_SESSION_TIMEOUT’)/60)/24) > sysdate
and icx.user_id=fu.user_id group by icx.user_id,fu.user_name;
3)
Open iExplore and put your oracle Application URL
4)
Login as SYSADMIN
Immediately press ENTER on your PUTTY/FSecure session and again press “/” and again press “/” and again press “/” and again press “/” . do this until you see output as SYSADMIN.
Important:-
===========
Before SYSADMIN comes on to your screen, query output will show you GUEST as this is the one logs into in order to authenticate uesr SYSADMIN.
Check this out and do let me know if i have showed something wrong.
neerajblr@rediffmail.com
Thanks
Neeraj Kataria
hi atul
Thanks for such a nice expalination on how request flows.
it will really help us to understand the APPS architecture
Thanks a lot.
Ash
Leave A Reply