April 30, 2012

Multi-Tier Architecture in Oracle Apps

bishnupc / /
Multi-Tier Architecture

Oracle Apss architecture is a framework for multi-tiered computing in which various servers are distributed in multiple levels or tiers.
A server is a process or group of processes that runs on a single machine and provides a particular functionality often referred as a service.
e.g. HTTPS server is a server which listens and processes HTTP requests and a Forms server is a server which listens and processes requests for activities related to oracle forms.
A Tier is a logical grouping of services, potentially spread across more than one physical machine.

The 3 tier architecture which comprises an oracle ebusiness suite installation is made up of  Desktop tier, Application tier and Database tier.

1. Desktop Tier
The client interface is provided through HTML for the new HTML based applications and via a Java applet for the traditional form based interface in a web browser.
Forms Client Applet:
The Forms client applet is a general-purpose presentation applet that supports all Oracle Apps Forms-based products. The Forms client applet is a JAR file with all Java classes required to run the presentation layer of Oracle Applications forms.
 Oracle Jinitiator:
The Forms client applet must run within a Java Virtual Machine (JVM) on the desktop client. The Oracle JInitiator component allows use of the Oracle JVM on web clients, instead of the browser’s own JVM.

2. Application Tier
The Application Tier hosts various servers that process the business logic, and manages communication between desktop tier and database tier using Oracle9iAS. Six servers comprise the application tier viz:
  • Web Server
  • Form Server
  • Reports Server
  • Discoverable Server (Optional)
  • Concurrent Processing Server
  • Admin Server
Web Server
The oracle HTTP server (Apache) acts as the web server. It processes the requests received over the network from the desktop clients and includes additional components such as: 
  • Web Listeners
  • Java Servlet Engine
  • Java server Pages(JSP)
The Web server may service a request itself by returning the HTML to construct a simple Web page 
or pass the request to the servlet engine, which contacts the database server as needed.
Forms Server:
The Forms server hosts Oracle forms, it is an Oracle Developer 6i component that mediates the communication between the desktop client and the Oracle database server, displaying client screens and initiating changes in the database according to user actions. The Forms server caches data and provides it to the client as needed. Forms server communicates with the Oracle database server using the Oracle Net networking infrastructure. When a user initiates an action in the Forms client applet, such as entering data into a field or clicking a button, data is passed to the Forms server on the application tier. The user interface logic runs in the Forms server, and determines the appropriate user interface effect based on the user’s action.
Reports Server:
The request for an HTML-based report is similar to the flow of any other HTML-based Applications request:
  1. The users clicks on the hyperlink of a function from the browser.
  2. The browser makes a URL request to the web listener.
  3. The web listener contacts the report server through the reports CGI. The reports web CGI allows the user to run reports and see the output through a web browser.
  4. The report server starts the report run time engine
  5. The run time engine locates the necessary reports and connects to the database to query the requested information.
  6. The queried information has been put to the user in the form of a HTML page.
Concurrent Processing Server:
The adhoc reports and scheduled programs which run in the background while users continue to work on other tasks, may require large number of data-intensive computations, and are run using the concurrent processing architecture. Concurrent processing is an Oracle Applications feature that allows these non–interactive and potentially long-running functions to be executed efficiently alongside interactive operations. It uses operating system facilities to facilitate background scheduling of data- or resource-intensive jobs, via a set of programs and forms. Processes that run on the Concurrent Processing server are called concurrent requests. When you submit such a request, either through HTML-based or Forms-based Applications, a row is inserted into a database table specifying the program to be run. A concurrent manager then reads the applicable requests in the table, and starts the associated concurrent program. In Concurrent Processing, programs are run as operating system background processes.
Admin Server:
The Admin server is located on the node where you maintain the data model and data in your Oracle Applications database.
You carry out the following operations from this server:
  • Upgrading oracle Application
  • Applying database patches to oracle Application
In general, Applications patches consist of files and scripts that update the file system and database objects. Most patches consist of a number of patch driver files viz: The copy (c) driver file modifies Applications files, the database (d) driver modifies Applications database objects, and the generate (g) driver generates forms, reports, graphics, or message files.

3. Database Tier
 
The database tier contains the Oracle database server, which stores all the data maintained by Oracle Applications. More specifically, the database tier contains the Oracle data server files and Oracle Applications database executables that physically store the tables, indexes, and other database objects for your system. In general, the database server does not communicate directly with the desktop clients, but rather with the servers on the application tier, which mediate the communications between the database server and the clients.
Copyright © . Oracle Apps (SCM) . All Rights Reserved
Oracle Apps (SCM) is an online knowledge sharing blog which index online free tutorials, blogs and other sources, to get easier and accessible manner. The blog has been created keeping only one intention of sharing knowledge and for learning purpose. All trademarks, trade names, service marks, copyrighted work, logos referenced herein belong to their respective owners/companies. If any of the posting is violating copyright and you want us to remove that content. Please contact Here