We have moved to http://onlineAppsDBA.com kindly check http://onlineAppsDBA.comin future
Oracle Applications Request Flow |
Tuesday, August 01, 2006 |
|
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 TrainingLabels: apps |
We have moved to kindly check onLineAppsDBA.com in future
|
|
del.icio.us
¦
Digg This
¦
My Yahoo
¦
Reddit
¦
BlinkList
¦
Furl It
¦
Email This
¦
Leave Your Comments
|
posted by Atul Kumar @ 8:32 PM
  |
|
45 Comments: |
-
nice post keep up the good work
-
Good One check similar at
http://oradbablog.blogspot.com/
-
-
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
-
-
-
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
-
-
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 this is sasank, I have a doubt here, how is the request flow going from web server to DBC file for checking the username:APPLSYSPUB which is said to be used for connecting to the DB.
Even though if it is connecting to the DB using this Gateway user: APPLSYSPUB, I can't find any synonyms in APPLSYSPUB specifying about the FND_USER table where the application username & password are validated.
Please clear my doubt as soon as possible "Atul".
-
Hi Atul, I just want to know how the reports server flow is happened like you explained for form server.
Thanks
-
Hey Atul, Nice work. I thought of adding to some of leftover Qns :-). 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 ? )
The answer to this is, these Database connections are stored and maintained in JDBC Connection Pools. Remember the Below Parameters?
FND_JDBC_MAX_CONNECTIONS FND_JDBC_BUFFER_MIN FND_JDBC_BUFFER_MAX FND_JDBC_BUFFER_DECAY_INTERVAL FND_JDBC_BUFFER_DECAY_SIZE
Another thought is, during initial client login, the application username/password verification can't be done even using applsyspub account. Even this user doesn't have access to any of FND tables. Now only left accounts are APPS/APPLSYS. Out of them, APPS password is easily available in text files, so this looks like most probable user for validating apps user using FND_USER table.
Hope this help in better understanding. Rajesh
-
you have good data on this site.
but a little unmanaged.
Hope it wont hurt you.. but to improve more in future..
-Jack
-
Hey Atul ,
Your work is awesome , I started learning Apps from your blog without knowing anything about it Thank you vm. Now I have successfully installed APPS (vis demo db) , Now I want to make a health checkup of all the major apps component and give the user sign off that everything is working fine , how should i do it .
Cheers SivaG
-
Atul, It is very much useful for Beginers. Keep up the Good Work. Govardhan
-
Atul, It it very much useful for beginers.Keep up Good Work. Govardhan
-
Hi,
This blog is excellent. Please keep up the good work.
But I have an issue, your sexy smile is distracting my attention when reading. Can you please keep your photo on the home page only ?
;)
Take care and thank u ;)
-
i have a question - can i download ORACLE R12 suite from ORACLE Edelivery site for free? my friends say its a an expensive s/w so its not possible i can get it for free..i m tryin to learn apps...so i thought i can follow ur blog and install R12 or any other version on to my laptop, but my friends have crashed my hopes sayin I will have to pay millions to get that suit is it true? please reply to my email - akhil_joey@yahoo.com, thnx
-
Very usefull info..Thanks a lot atul..
-
hi Atul, Autoconfig is failing at bisdblrp.sh cause apps user name is more than 12 characters. either I have to apply the patch or I need to change the username of apps so that it will be less than 12 character. If I want to change the name of apps user what steps I should follow..I want to change because I want to avoid patching.
kindly inform..thanks..subodh
-
Hi,
I went through all comments in this blog. This is a very good try to explain the connectivities. But still the questions reamins. 1. Even if you lock the db user applsyspub, you can login to the application. Only while accessing forms you will receive error. Which implies that login does not depend on applsyspub. It is used to render the forms rather. 2. Guest user and password is used to get the foundation password which is used to decrypt the user password and compare with the one entered by the user. So guest user/password is used while logging in, but not for db connection. If you comment out the guest user/password line in dbc file and try logging into the system, it will be clear.
3. I think it uses apps or applsys user for initial login to the db, but where it get these information is not clear to me.
Please investigate to proceed further and find out the procedure.
|
|
<< Home |
|
|
|
nice post keep up the good work