Monday, July 31, 2006

Applications WebServer in Nutshell



This post is useful for Apps DBA's who are clear with Oracle Components. If you are new to Apps or Beginner then first watch my Post at http://becomeappsdba.blogspot.com . Here I am covering first & very important component of E-Business Suite or Oracle Applications 11i i.e. Web Server also called at Oracle-Apache Server . When Client makes a request in browser for Oracle Application using URL like http // servername : port number , where servername is your webserver name & port number is port on which your webserver is listening . If no port is given & using http that means webserver is listening on port 80 ( 443 for https ) . I am currently not taking proxy server or loadbalancer into account for this post .

Oracle-Apache is nothing but Oracle has added some component (mod_plsql, mod_jserv, mod_osso) in to Apache Webserver & realeased it as Oracle-Apache Server.
File System & important file
Where it exists on File System : As you know there are three ORACLE_HOME in Apps so WebServer is under IAS_ORACLE_HOME ( iAS stands for internet Application server ) under INSTALL_BASE/ora9/iAS directory.
Importanf files/dir in iAS Directory : As Apps DBA following files/dir are important to us SID_Hostname.env, Apache, network . Env file is to set environment variable to iAS_ORACLE_HOME (During iAS patching )
Apache is main directory where your most webserver configuration Sit also called as APACHE_TOP . Imp. files/dir under this directory is Apache, Jserv and plsql .
As you know Apache is build on modules Apache directory contains config & executable files for main Apache Module, mod_jserv related stuff goes in Jserv directory, mod_plsql related under plsql .
mod_jserv caters Jserv requestes like Self Service, Servlets, jsp pages
mod_plsql caters plssql requests like anything after /pls ( executing packages & procedures in DB)

Though there are lot of important file but I am naming those which come across in Apps DBA life quite often
Under iAS/Apache/Apache important directory/files is bin (executable, apachectl,httpd) , conf ( httpd.conf, httpd_pls.conf, oracle_apache.conf ), logs ( access_log, access_log_pls, error_log, error_log_pls, httpd.pid )
Under iAS/Apache/Jserv files you want to know are etc (config files), logs( jvm, mod_jserv.log)
Under iAS/Apache/modplsql its cache (cookie , plsql) , cfg (wdbsvr.app , *.conf)
Its not feasible to explain features/importance of all files here so I will explain these in details sometime later. Later check how WebServer Starts in Oracle Apps or Oracle Application Server .

Startup Sequence
In Oracle apps as DBA you start your services from OAD_TOP or COMMON_TOP / admin /scripts /CONTEXT_NAME ( SID_HOSTNAME ) (This location might differ depending on you apps version this is for 11.5.8 or Higher) , you use adstrtall.sh script which in turn calls ServiceControl ( In current Version ) earlier used to call adapcctl.sh in same directory( where ad application's DBA apc Apache ctl control ) . So adapcctl.sh is used to start stop oarcle application WebServer . This script calls shell script apachectl ( in IAS_ORACLE_HOME/Apache/Apache/bin , This is text file & you can open and read it ) which in turn calls httpd (executable for http daemon ) .

Configuration files it uses when oarcle apps webserver starts
when httpd starts it starts with httpd.conf ( in Apache/Apache/conf ) This is main Apache configuration file which has configuration related to Main Apache Server like ServerName , port and Listen( I will discuss about these parameters in my next post tomorrow )
This httpd.conf file calls jserv.conf ( in Apache/Jserv/etc ) for mod_jserv configuration ( All your Self Service servlets requests are via mod_jserv like discoverer view, xml services or OAM login (So you know now where to look if issue happens in these services , if not I will discuss this in my next post ) .
httpd.conf also include oracle_apache.conf ( in Apache/conf) for Oracle developed modules like mod_ossl, mod_pls .
httpd.conf also include oprocmgr.conf ( in Apache/conf) for Oprocmgr configuration. This module is used to identify remote apache instance that are sending requests to processes (Jserv ...), managed by local Apache Instance.
oracle_apache.conf ( which contain configuration file for modules developed by oracle like mod_pls..) . These files are plsql.conf (Apache/modplsql/cfg ) for mod_pls configuration.

I will discuss about httpd.conf parameters like port , access_log error_log where to look for Issues how to find errors & lot more in my next post here day after tomorrow .

Do you know you can tell who all accessed your applications at what time , how much time it took to get a page ?
How to tune Apache Web Server ?
How to check Jserv errors, your JVM issues & how to start multiple JVM instance to increses your webserver capabilities ?

If you are beginners with Oracle Applications & want Sysadmin/Apps DBA basics visit my Post for Basics at http://becomeappsdba.blogspot.com

Please leave feedback , for any doubts send mail to atul_iiit@yahoo.com

8 Comments:

Blogger Neil jarvis said...

Good One check similar at

http://oradbablog.blogspot.com/

9:02 AM  
Anonymous Anonymous said...

Can you please explain in detail about the different TOP's like appl_top, db_top etc......

6:41 PM  
Anonymous Anonymous said...

Can you please explain diffent tops in detail like Appl_top, db_top etc...

6:43 PM  
Blogger Atul said...

Thanks, I will explain about these tops in my other blog Become Apps DBA

11:49 PM  
Anonymous Anonymous said...

Thanx atul for the Tops explaination.

Also wanted to know about the step by step process for installation. Also it would be great if u post how all errors u faced (may be silly) and how u fixed them;

7:21 PM  
Blogger Atul Kumar said...

Hi , I can put broad level step by step procedure to Install Oracle Apps but it will be quite difficult to put errors one encounter during Installation because most of error's are becuase of wrong Operating System System. Once you have a successfull Installation & if you are reinstalling & or installing another Apps Instance on same machine you will hardly encounter any Issue . Still I 'll try to put some common error message you might encounter or how to fix them .

11:26 PM  
Anonymous Anonymous said...

Is it possible to post Installtion on Heterogeneous OS ?
Basically why does people go for different OS, for different tiers. What are the pros and cons.
--------------------
MARK

2:16 AM  
Blogger Atul Kumar said...

Yes Mark, Its possible to install on Hetrogenous O.S.

For Databases I usually go for Unix( Solaris or HP Unix ) - Servers are costly but better processing

& for Middle Tier - Linux (As Middle Tier services usually donot need very powerful machine), Cheaper in Cost and Middle Tier services are scalable to add lot of small Linux Server .

This Topic is quite subjective & debatable.

3:59 AM  

Post a Comment

<< Home