Oracle Application Architecture
Oracle Application Architecture
Oracle Application Architecture
Server
Server is a collection of one or more computer processes that perform specific function
Tier
Tier is a Logical grouping of one or more computer processes.
D2K
Java
HTML.
ARCHITECTURE
ORACLE apps is a 3-tier architecture. It consists of
Desktop Tier
Application Tier
Database Tier.
Desktop Tier
Generally an end user PC doesnot consist of any servers. Rather it consists of web
browser that makes use of HTML and JAVA applet to provide the user interface.
Application Tier
Also called as middle tier. It consists of number of servers. The nodes on which these
servers run is referred as application tier server nodes.
Servers include
Apache (or) web server
Form server
Concurrent Processing server
Administration server
Apache server
It listenes request from the URL and routes appropriate server.
Access-Log:
It records all users accessing oracle applications web server. This file is defined in
httpd.conf
Error-Log:
In erro-log is checked to see information regarding error and its occurance. If this
Information is not sufficient then edit httpd.conf file and change LOGLEVEL
Value=’debug’ and bounce apache server.
Form server:
Whenever a user try to access forms, “f60webmx”picks up the file and based on
this config file creates a forms session to user/client.
Socket mode:
When forms run in socket mode these is dedicated connection between client
machine and form server started by adfrmctl.sh
Servlet mode:
When forms run in servlet mode, the forms requests are fulfilled by Jserv in
apache. There will be additional JVM for forms request in that case and will not
start form via adfrmctl.sh
Concurrent server
It executes tasks parallely. Concurrent manager executes concurrent requests by taking
resources from concurrent server.
Report Server:
Collection of sql statements (rdf files-executable is rdx)
Configuration file: CGIcmd.dat connect string is there with Apps passwordlocated in
(8.0.6 home/report60/server)
Database and database listener should be up and running.
Discoverer Server:
Mainly used for business Intelligence purpose. Used for analysis purpose. We can
customize reports and so on with D2K in an appropiate way.
Addisctl.sh start/stop
To start and stop discoverer server.
(Oracle_home/discwb4/util)
Database Tier:
It consists of database server, which stores all the application data.
Addbctl.sh start/stop database.
Addlnctl.sh start/stop listener.
Located in ORACLE_HOME/appsutil/scripts/context_name
Application Tier
It consists of 3 top directories:
<db_name>appl (or) APPL_TOP=contains the product directories and files for Oracle
Applications.
Database Tier
Two top-level directories store files related to the Oracle Applications database.
/u01/app/orgcct01
gcct01db gcct01data
So,there are 3 Oracle_Home’s in Oracle Apps , two for Application tier and one in
Database tier.
When user makes a request from browser by typing URL, then the request hit to
oracle webserver and these requests are recorded in logs.
Webserver checks with http request there is no cookie attached (Cookie is
message given by webserver to identify client) and hence user is new it passes
login page to User.
User types his Username/Password in login window and click submit button
Webserver checks the username/password that is needs to authenticate against
database FND_USER table, so it needs some user to check client’s username
password in database. It uses GUEST/ORACLE user to authenticate user in
database. This information is located in FND_TOP/secure/<context_name>.dbc
Once user is authenticated it checks against FND_RESPONSIBILITY for
authorization about users responsibilities and assigned responsibilities back to
user.
When webserver tries to connect to database for plsql or any other type of
connection it asks IAS_ORACLE_HOME/Apache/modplsql/cfg to fulfill
request and connection string information is stored in wdbsvr.app file.
User submits his requests for batch processing or something else etc. These
requests are fulfilled by concurrent managers
When user wants to see reports of all these things request is being forwarded to
reports server.