Apps DBA Tutorial04 - Oracle Applications Architecture

Oracle Applications has three tier architecture. The three tiers are as follows ->
A. Database Tier

B. Application Tier
C. Client Tier


A. Database Tier

The database tier stores all the data used in oracle applications. It never directly talks with client tier directly. Instead database is connected with different application tier servers. In high availability env, more than one instance of oracle run. The datafiles are stored at a central location accessible from all the instances.

B. Application Tier

The application tier is where application software resides. It also supports load balancing between multiple Forms server and Concurrent processing servers. There are six servers ->
  1. Oracle HTTP server (Apache)
  2. Forms Server
  3. Reports Server (11i)
  4. Admin server
  5. Concurrent processing server
  6. Discoverer server


Oracle HTTP Server [Apache]

The http server or web server mainly consists of three components. 1. Web listener = the browser connects with this web listener. If possible, web listener itself process the request and send a html page to client. 2. Jserv or Java Servlet Engine[OC4J for R12] 3. Java Server pages. If the browser request requires complex processing, web listener forward it to the jserv engine.

OA framework
It consists of BC4J components and serve as a core component of Jserv.
See the diagram below for complete web server processing details.



Forms Server

The client browser connects the forms server using a thin 100% java based applet. The forms server runs the server runtime engine and passes the user interface to the applet client.

Read the following to understand complete workflow of forms server processing ->

1. Browser sends request to http listener using url.

2. A http page is generated and send back to the to the client browser

3. the browser gets the html page and decodes the <applet> tag. This tag contains the following information
a. The name of the form to run
b. the name of forms server
c. login information etc..

4. The browser again asks the web listener to send the java applet to client. Java applet is sent via jar file format.

5. After getting the java applet in jar file format, the browser checks its version. If the version is same as in cache, the Jinitiator [JVM] will start and run the form from cache. Else, Jinitiator will start only and new version of form will be downloaded by browser. Finally the jinitiator based thin client will connect with forms listener using tcp/ip socket or an http port.

6. forms listener allocates a new forms runtime engine
while forms listener receives a request it allocates a new forms runtime engine or allocates a new one.

7. forms listener passes the connection to forms runtime engine. Now, forms runtime engine loads the modules in thin client. Thin client passes the form names needed to run usng parameter. Forms run time engine send that form with all the libraries.

8. Forms runtime engine interacts with the database whenever needed using dedicated connection pool.








Reports Server

The reports server is not exist in R12.






Admin Server

Admin Server is the APPL_TOP where from all the maintanence activities like patching, upgradation, multi lingual support, multiple reporting currencies take place.




Concurrent Server

See this article for details about concurrent server.



Discoverer Server

Discoverer is a intuitive ad hoc query as well as repoting, analysis and web publishing tools. It also allows users to use projection based on possible changes to environment or other strategic factors.





New Components in R12

R12 has two homes ->

A. 10.1.2 home
This is forms and reports server home. The forms services are deployed in IAS_HOME using a ear file named as formsapp.ear. This file is in 10.1.2 home. The "forms run time process" runs from 10.1.2 home using the "forms servlet" which run on 10.1.3 oc4j home and http server.

B. 10.1.3 or ias_home
this is web application server home. The following are the components of the ias_server.

a. oracle container for java [oc4j]
R12 creates three oc4j instances.
i. oacore = runs oa framework based components
ii. forms = runs form based application
iii. OAFM = runs web services, map viewer, application server control.

b. Oracle Process Manager and Notification Server [OPMN]
This centralized process monitoring mechanism is used to manage Oracle application server processes. OPMN manages Application Server components and consists of i. ONS [Oracle notification Server] and ii. Delivery notification between components [OHS <-> OPMN <-> OC4J].

c. Oracle HTTP Server or Apache







Jinitiator cache directry path is as follows ->
c:\document and settings\<user name>\Application Data\Sun\Java\deployment\cache





Oracle Application Technology layer

A common technology layer for managing full oracle application. Consists of

A. Oracle Applications DBA [AD]
It provides a number of tools for maintaining the application. Like patching, upgrading etc..


B. Oracle Application Object Library [FND]
A major component which provide common functionality across all modules.

C. Oracle Common Modules [AK]
A data dictionary which define application objects for the web in the runtime.

D. Oracle Application Utilities [AU]
AU top contains the files [like PL/SQL, java] from other top. Other oracle products use these files instead of the particular oracle product files.

E. Oracle Alert [ALR]
Used for sending email notification during exception.

F. Oracle workflow [WF]

G. Oracle Application Framework [OAF]

H. Oracle XML publisher [XML]




No comments :