Sie sind auf Seite 1von 21

The Hitchhikers Guide to Applications Technology

Jeannie Dobney & Alicia Hoekstra


EduSource & Solution Beacon, LLC
Introduction / Don’t Panic!
The objective of this paper is to demystify Oracle Applications technology for functional or business
users. The technology used by the Applications is very sophisticated but it need not be intimidating at
the conceptual level!
In addition to this information being of some background interest to functional users, the authors hope
this paper will:
• Provide an appreciation of the very sophisticated technology with which we work each day
• Highlight the business significance behind the technology buzzwords
• Help to facilitate communication for business users with IT staff and foster appreciation of the
challenges faced by IT support staff
This paper’s organisation first traces the development of the Applications architecture1 and then
reviews the building blocks of the current Internet architecture and “translates” as much of the jargon
as possible along the way.
This paper’s approach to these topics is purely conceptual; many weeks of training followed by
months of on-the-job learning are required to fully understand and (more importantly be able to apply)
this sort of technical knowledge. Please consult the Notes section at the end of this paper for further
details about specific topics.

Where it All Began


Some of us still remember the Applications in so-called character based format (10.7 and earlier). At
this time all the Oracle software ran on a server (usually a mid-size computer running the UNIX
operating system) and end-users accessed it via keyboard commands at a ‘dumb terminal’ on their
desk, or via terminal emulation software running on a PC. The beauty of this kind of model / system
architecture was that the technology was relatively simple and response time was quite fast for
experienced users. The drawbacks were that learning the keyboard driven interface2 was not easy
and the appearance of the software (the interface) started to look very old-fashioned as GUI PC
3
applications became popular (GUI = mouse driven Graphical User Interface ).

Two-Tier Architecture
(as used by 10.7 Character Based Applications)

Desktop Tier Database Tier

Oracle
Database

PC
Database Server
PC with Terminal emulation software Probably a mid-sized computer
OR running the UNIX Operating System
dumb terminal and containing not just all the data but
also all the forms and reports software

The Oracle software included the relational database itself, the Forms, which present the data on
screen, and the Reports, which provided formatted output for printing.
Each of these products has an associated version or release level. At the time of 10.7, that would
have been about Version 7 of the database, Forms 2.4 and Reports 2.N. Understanding which

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 1
version of the software products will work together is the subject of the certification matrix found on
MetaLink.
Later in this paper, we’ll have a quick look at the file structure used to store this software.

Client Server
4
The Smart Client / client server architecture effectively moved the Forms and Reports software on to
the users PC (creating a ‘fat-client’ issuing requests for data across a network to the data server). It
was made available in 10.6 and retired after 10.7.5

Client Server Applications


Two-Tier Architecture

Desktop Tier Database Tier

Oracle
Database

PC

Forms & Reports software Database Server


resides on the PC Probably a mid-sized computer
running the UNIX Operating System

Client Server architecture facilitated the use of the GUI interface provided by Windows for the PC (or
Apple for the Mac). It made Oracle Applications much easier to learn and much easier for occasional
users, however, regular users found it slower than the earlier architecture and IT administrators
discovered that applying patches to each and every PC was almost a full-time job in itself as many
organisations didn't have software management tools to update the software on user's desktops
automatically.

Internet Architecture
Oracle’s NCA architecture (NCA = Network Computing Architecture, released with 10.7) moved the
Forms and Reports software to a middle tier so that individual user PCs required only “thin client”
software. This made maintaining an implementation much easier and is effectively still the model
being used today in Release 11.5.9 – although the technology utilised has changed significantly, and
is now called Internet Architecture or Internet Computing Architecture (ICA).
So let’s have a look in detail at how it all works. Initially, we will look at the technology behind the core
Applications (like GL, AP, Projects) and subsequently we’ll look at the self-service or web-
Applications.

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 2
11i Applications Architecture

Desktop Tier Applications / Middle Tier Database Tier

Oracle
Database

PC

Java enabled Web Web Server Database Server


Browser with Forms Server
Jinitiator Concurrent Processing Server
Reports Server
Admin Server
Discoverer Server

Here is how the Oracle Financials Handbook by D James and G H Seibert describes Oracle’s Internet
architecture:
“The Web implementation of the Applications also uses Forms. It runs on the Web Server, a
middle tier in the architecture, generating Java windows to be viewed through a browser on the
client machine.
The Forms Client applet that runs on the browser supports screen and local data management
functions for all Oracle Applications. The browser downloads the applet and caches it locally.
Thereafter, the traffic exchanged -between the browser/applet and the Web Server is quite
succinct: Java presentation displays data from the server to the browser, and captures data going
back. …
Just as with Smart Client, forms presented by the browser can access the database as required
on a field-by-field basis to fetch lists of values and to validate field entries. Whereas the
browser/applet will have the program intelligence to validate a Yes/No entry, it will need to
perform a query to determine whether a customer number is valid.”
A “tier” according to Oracle’s Concepts manual6 is “a grouping of services, potentially across physical
machines. The tiers that compose Oracle Applications are the database tier, which manages the
Oracle database; the application tier, which manages Oracle Applications and other tools; and the
desktop tier, which provides the user interface display”. For many implementations, the tiers are
implemented physically on separate hardware, for example your database might run on a big Sun
server, your Applications server might run on a smaller Dell server possibly using Linux as an
Operating System, and your desktop tier would be the users’ desktop PCs. It is, however, equally
valid to have all 3 logical tiers on one piece of hardware (for example a consultant’s laptop), or to
have both the Applications layer and the database on the one server.
The actual design of your system will be dependent on your specific needs, however, logically all 3
tiers will always exist. The actual physical design of the system is a specialisation in its own right and
has immense business significance: We will touch on some of these issues later in this paper.

The Database Tier


One of the great strengths of Oracle Applications has always been the foundation provided by the
robust Oracle database. Oracle databases use a relational data model, which was first proposed by
Dr Edgar Codd in 1970 but not commercialised until Oracle did so in 19777.

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 3
The database tier has not changed conceptually in recent releases (although the database itself has
been significantly enhanced) so this paper will not include a great deal of additional detail about it. If
you are new to Oracle, it may be helpful to understand that maintaining the database is the work of a
Database Administrator (DBA). Typically a DBA will have done 3 – 4 weeks of Oracle specific training
in addition to probably having an undergraduate degree in computing (and hopefully some years of
experience). Your database is the heart of your Applications system, thus your DBA has a very great
responsibility and their skills, which may seem esoteric to many functional users, are absolutely key to
your system’s “wellbeing”.
SQL, or Structured Query Language, is the language used to read and write to / from the database,
so for example, when you save a new record in Oracle Applications, the system is issuing a SQL
command on your behalf. Users interested in this topic further, are referred to the author’s SQL for
End-Users paper, available in the OAUG conference archive. SQL is not a “procedural” language, i.e.
it does not allow the programmer to issue a specific series of instructions. SQL is “declarative”: you
tell the database what output you want and the system figures out how to get the data for you. To
complement SQL, Oracle therefore released PL/SQL, which is a procedural language and can be
used for things like creating the logic that checks your data entry on screen in Oracle Applications. IT
specialists in this area are typically called Developers. Although reading both SQL and PL/SQL is not
all that difficult for functional users, writing efficient code in either language is a real skill and should
not be underestimated.
The latest version of the Oracle database is 10g (soon to be available with the Oracle Applications)
and as most of us know the g stands for grid. There are probably 2 key points of interest for business
users in the grid concept. (Grid simply means that a database can reside on more than one piece of
hardware and use the hardware resources efficiently and dynamically.) The first point is that by having
more than one piece of hardware involved, you are eliminating a single point of failure i.e. if server A
goes down, server B will continue running. Given that system failure can cost your business a great
deal in lost productivity, this is a significant business benefit. The second point is that if your system
requires a lot of database processing power, in the past the solution was to buy “a bigger server” i.e.
one with more CPUs and memory and could therefore do more things at once quickly. Such hardware
is proportionally much more expensive, i.e. costs do not rise in direct proportion to the number of
CPU’s. Oracle’s Grid technology now allows you to buy smaller servers and harness them together to
achieve the same (or better) outcomes than having one very large and expensive server. The
hardware savings can be significant and in addition it allows your business to grow incrementally
rather than have to make a large hardware investment ahead of the actual need.

An Excursion to Java
Understanding the other two system tiers, first requires some understanding of Java. Sun developed
the Java language / programming system during the 1980’s but it really gained popularity in the
1990’s. Here are some reasons for its popularity:
• Java is platform independent: it will run on any Operating System.
It does this by means of something called a Java Virtual Machine (JVM), which is a piece of
software that “translates” the generic Java code into something a specific Operating System
can execute. This is valuable when the programmer cannot know what sort of system their
code will be run on, for example, when used over the internet (and this is why the use of the
internet stimulated the use of Java in the 1990s). Platform independence (or portability)
reduces the cost of developing software because only the JVM has to be OS specific (rather
than the entire software) and those savings hopefully flow on to users.
• Java will run inside a web-browser.
(More on this when we examine the desktop tier).
• Java is “free”
Strictly speaking Java is not Open Source8 software (because users are not licensed to
change the source code), but the business effect is similar to Open Source. There are
probably 2 major implications of the Open Source software movement: a general downward
pressure on software prices and the reduction in dependence on certain vendors. (The other
well-known and increasingly popular OpenSource product is the Linux operating system).
• Java is actually a whole programming system, not just a language
(More of this when we look at the middle tier).

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 4
• Java is an Object Oriented (OO) language
By its structure, it encourages good programming practices and reusability of software
components. Object Oriented analysis also emphasises “abstraction” and perhaps this may
explain the development of a more business savvy approach by some IT staff.
In addition to the Java language, Sun provide a number of programming frameworks applicable to
different needs. For example if you are writing a Java application for a cell-phone or PDA, you would
use the resources in the J2ME framework. The standard that applies for multi-tiered Internet
deployable applications (like Oracle Apps) is J2EE i.e. the Enterprise Edition of Java 2 (ironically Java
2 is actually version 1.4 but let’s not dwell on that…)
Oracle has made a significant commitment to using and supporting the use of the Java framework.
This is consistent with their on-going commitment to open systems (i.e. via the Open Interfaces and
published API’s9) and Oracle’s long commitment to industry standards. By comparison, other vendors
are only now moving away from proprietary building blocks towards Java. Oracle’s vision in this
respect is one of the things that should inspire confidence in those who have made an investment in
Oracle technology.
Most of Oracle’s products now support Java. This includes the JDeveloper product, which is a
sophisticated Integrated Development Environment (IDE) for J2EE developers.10
We will have to master some Java terminology before proceeding11, so that as these terms are used
in context later in the paper they will mean a bit more:
A Java Class is a program unit or file containing Java code. (Object Oriented purists will probably
want you to know that it is a lot more than that too, but this is a start…)
JAR Files are groups of Java Classes packages together into an archive format (like a self-
extracting zip file).
An Applet is a Java program that is downloaded to a desktop client from an HTTP server, and run
within a Java-enabled web browser on a PC.
A JavaBean is reusable Java class which can be used to perform well–defined tasks, such as
connecting to a database, maintaining client information, or rendering a screen page. Typically they
focus on intra-process communication and are assembled to create Java applications.
Java Servlets are programs that run within a Web-Server on the middle tier in a similar way to that
in which an Applet runs within a browser on the desktop. Thus they provide a “pluggable” extension
to a server that will enhance the server’s functionality. Java servlets are a key component of
server–side Java development.
Java Server Pages (JSPs) are an extension to the servlet functionality that enables a simple
programmatic interface to Web pages. They were developed by Sun as an alternative to Microsoft's
ASPs (Active Server Pages) . JSPs have dynamic scripting capability that works in tandem with
HTML code, separating the page logic from the static elements. JSPs are HTML pages with
special tags and allow for the embedding of Java servlet code within HTML pages. The Java code
that is executed on the Web server or application server providing dynamic functionality to HTML
pages. JSPs are actually compiled into servlets when first requested and run in the server's JVM.

The major business significance of Java is probably its contribution to the


development of an almost de facto acceptance that software should be built in
reusable components. Later in the paper we will come back to this theme. But before
we leave our-side trip to Java, let’s look briefly at some related technologies as well.
HTML and the Web
For computers to be able to exchange information, a “protocol” is required. The original development
of the Internet represented attempts by researchers to exchange information between their
computers. These attempts originally used keyboard driven methods including FTP and programs
called gophers.
The World Wide Web was developed at CERN in Switzerland as a new form of communicating text
and graphics across the Internet making use of the hypertext markup language (HTML) as a way to
describe the attributes of the text and the placement of graphics, sounds, or even movie clips. A Web

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 5
browser is a program running on a desktop client that views documents formatted in HTML. The
simplicity and power of this has been one of the genuine revolutions in computing.
HTML works by using so-called “markups” which tell the browser how to display a Web page's words
and images for the user. Each individual markup code is referred to as an element or tag. Some
elements come in pairs that indicate when some display effect is to begin and when it is to end. Here
are two views of the one simple web page: what you see on the web as well as the HTML behind it:

Of themselves, HTML pages are “static” i.e. they can only display pre-defined text and images. To
make web pages “dynamic” (i.e. allow them to respond to the user) and to add logic, web-developers
use JavaScript (a scripting language created by Netscape for this purpose and no relation to Java) or
similar technologies. There are a number of such technologies and they are definitely out of the scope
of this paper, however, the Web itself is a great source of information on these topics.12
XML (eXtensible markup language) uses a similar tag type of approach to extend the concepts behind
HTML to allow transmission of the syntax and structure of a document or data set between computer
systems13. The tags are a kind of meta-data i.e. they describe the data itself in a similar way to which
a table of contents describes a book – or more exactly, for those with some background knowledge,
the way that the Oracle Data Dictionary describes the Oracle database.
XML is "extensible" because no tags are predefined. Elements and tags may be defined as needed to
share data across various platforms, for example to and from Oracle databases across the web.
Oracle now provide significant support for XML e.g. SQL functions for dealing with XML data and the
JDeveloper product now uses XML generation to allow Java developers to build database
applications almost as easily as Forms Developers do.

Desktop Tier
When you start Oracle Applications on your desktop, you do so from a browser, typically by clicking
on a hyperlink to open the Applications log on page. The Personal Home page provides unified
navigation to access Forms-based, HTML-based Applications, or Business Intelligence products. It
also supports single-sign on. Each of these is described briefly in this section.
The E-Business Suite includes both core Applications (e.g. General Ledger or Order Management)
and self-service Applications (like iProcurement). What are the differences?
From a business perspective, the core Applications probably form your back-office functions. Users of
these products are probably finance, or other specialized staff (e.g., order management, purchasing)
and will have had some training in using them, reflecting the complexity of the functionality they
provide. By contrast, the self-service Applications are likely to be more widely deployed in your
organisation and require minimal training.14
From a technical perspective, the core Applications use a Java Applet i.e. a Java client program
created using the Oracle Forms product. This client program can be called in a browser using HTML
and is optimised for use across a LAN (i.e. within your enterprise).
The self-service Applications use an HTML (and JavaScript) interface that is also presented in a
browser, but may be used more easily over a wider network. The self-service Apps are created using
Oracle’s JDeveloper product and they appear on your desktop directly from a Web-server (rather than
from the Forms Server – both of which will be described below.)
When you log into the core Applications from your desktop, your successful login calls the Forms
client applet which presents the Applications user interface. The Forms client applet is packaged as
Java archive (JAR) files. The JAR files contain all Java classes (programs units) required to run the

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 6
presentation layer of Oracle Applications forms. If the applet is available locally, your browser uses
that. If the applet is not available locally, it downloads it. One more thing is necessary however before
the Applet can run…
The Microsoft Operating Systems most of us have on our desktops, e.g. Windows XP, support a fairly
15
old version of Java. Oracle provide an alternative JVM called JInitiator (oajinit.exe ), as a plug-in, this
enables Oracle Applications to use Java’s newest features So when you log into Oracle Applications,
the first thing which happens is that Oracle tries to run JInitiator. If it has not been installed, you will be
prompted to download it. Once installed, Oracle JInitiator runs the Forms client applet and starts an
Oracle Applications session. This explains why Oracle Applications is slow to start the first time we
use it on a new PC.
The Desktop Tier

Desktop Tier Applications / Middle Tier

Forms client applet


packaged as Java archive (JAR) files

PC
Web Server
Forms Server
Java enabled Web Browser
Concurrent Processing Server
with Jinitiator (Oracle's JVM)
Reports Server
Admin Server
Discoverer Server

Enterprise-Wide Single Sign-On


Before we leave the Desktop Tier, a few words about Single Sign On. Oracle have introduced
functionality allows users to access Oracle Applications and other applications and services from an
Oracle Portal page through a single user ID, without having to log in to each application separately.
(For those of us who don’t enjoy keeping track of all those passwords!)
The technology behind this is Oracle Portal, Oracle Login Server, and Oracle Internet Directory:
Oracle Portal is Oracle’s web-development environment, i.e. it provides only limited support for
building database Applications but it does allow sophisticated presentation of dynamic data from
multiple sources. In business terms Oracle Portal allows centralised access to disparate data whilst
still allowing decentralised maintenance of that content16.
Oracle Internet Directory is Oracle’s implementation of Lightweight Directory Access Protocol (LDAP),
which is a standard for centralised hosting of user account information. Rather than each of your
software applications managing user access from separate directories, LDAP allows applications to
manage user access information from a single central directory. This considerably simplifies the effort
and cost of managing multiple applications. Virtually every software and hardware manufacturer
supports LDAP, including Oracle.

Sidebar: URL’s and Connection Protocols


For those interested in the syntax which you enter into your browser address field in order to connect
to the Applications, this section includes some information on this and especially on the acronyms
TCP/IP and HTTP. For those not interested in reading this section, it is enough to know that TCP/IP is
a widely used industry-standard networking protocol used for communication among computers.
HTTP is a protocol based on this TCP/IP which is used to transmit data and requests between a Web
server and a Web browser i.e. from the Applications middle tier to your desktop.
Here is more detail for those interested; it relates to a on-going, key problem in computing: how to
connect computer systems so that disparate information can be shared and combined. This has been

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 7
an on-going challenge – to find ways of getting computers which may store data in different formats
(e.g. ASCII or EBCDIC) using different Operating Systems (e.g. Unix or Windows) which access and
store data differently. The general solution has been to agree standard methods or protocols for
doing this.
Thus the string you type into your browser address field in order to connect to Oracle Applications is
called a Uniform Resource Locator (URL). This is a standard way of specifying the location of an
object, typically a web page, on the Internet. This is the format of such a string:
http://<host name>.<domain name>:<HTTP port>/oa_servlets/AppsLogin
Before we can understand this string, a few definitions:
The Internet Protocol (IP) is the method by which data is sent from one computer to another on the
Internet. The Internet is really the interconnection of many individual networks. To be part of the
Internet, an organization needs an Internet network number, which it can request from a registration
body. This unique network number is included in any packet sent out of the network onto the Internet.
Each computer (known as a host) on the Internet has at least one IP address that uniquely identifies it
from all other computers on the Internet.
In addition to the network address or number, information is needed about which specific machine or
host in a (local) network is sending or receiving a message. So the IP address needs both the unique
network number and a host number (which is unique within the network). The host number is
sometimes called a local or machine address.
The IP address is usually expressed as four decimal numbers, each representing eight bits,
separated by periods, for example 199.0.0.2 The number version of the IP address can (and usually
is) represented by a name or series of names called the domain name. This string is likely to be in a
format like the following: network.network.network.local. We probably already recognise parts of that
string, for example the com or org piece as telling us something about the type of organisation which
owns the IP address and the au piece will tell us something about its location.
Thus an IP address has two parts: the identifier of a particular network on the Internet and an
identifier of the particular device (which can be a server or a workstation) within that network. On the
Internet itself - that is, between the router that move packets from one point to another along the route
- only the network part of the address is looked at.
TCP (Transmission Control Protocol) is a set of rules (protocol) used along with the Internet Protocol
(IP) to send data in the form of message units between computers over the Internet. While IP takes
care of handling the actual delivery of the data, TCP takes care of keeping track of the individual units
of data (called packets) that a message is divided into for efficient routing through the Internet.
For example, when an HTML file is sent to you from a Web server, the Transmission Control Protocol
(TCP) program layer in that server divides the file into one or more packets, numbers the packets, and
then forwards them individually to the IP program layer. Although each packet has the same
destination IP address, it may get routed differently through the network. At the other end (the client
program in your computer), TCP reassembles the individual packets and waits until they have arrived
to forward them to you as a single file.
So let’s have another look at that connection string you pass to the middle tier to connect with Oracle.
For example:
https://ebsapp.au.mycompany.com:9943/OA_HTML/US/INDEX.htm
URL strings contain three parts or sub-strings:
1. Network protocol.
The part before the first colon specifies the access scheme or protocol. Commonly implemented
schemes include: ftp, gopher, WAIS, news, telnet or mailto (e-mail).
The specific protocol used to request web pages from a web-server is called Hypertext Transfer
Protocol, or HTTP.17
The HTTPS protocol includes the use of Secure Sockets Layer (SSL) as a sub-layer under the
regular HTTP application layer.
2. Host / IP Address
The part after the colon is interpreted according to the access scheme. In general, two slashes
after the colon introduce a hostname.

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 8
It consists of the dotted quad notation include the domain and local host. This is followed by
another colon indicating the port over which the connection is made. A port is a logical channel
used by the TCP transport layer to distinguish between different logical inputs on the same
network interface of the same host machine. The port number maybe omitted and defaults to the
standard port for the scheme, e.g. port 80 for HTTP.
3. File location
For an HTTP or FTP URL the next part is a pathname which is usually related to the pathname of
a file on the server. The file can contain any type of data but only certain types are interpreted
directly by most browsers. These include HTML and images in gif or jpeg format. The file's type is
given by a MIME type in the HTTP headers returned by the server, e.g. "text/html", "image/gif",
and is usually also indicated by its filename extension. A file whose type is not recognised directly
by the browser may be passed to an external "viewer" application, e.g. a sound player. (MIME
means Multipurpose Internet Mail Extensions).
In the case of this example, we are accessing the OA_HTML directory which contains the Oracle
Applications html sign-on screen and html files used by the Oracle Self-Service Applications.
Some URL’s contain one more (optional) part, which may be a query string preceded by "?" or a
"fragment identifier" preceded by "#". The later indicates a particular position within the specified
document.
When you connect to Oracle Applications, your URL is processed by an Apache/Jserv module. To
complete the connection, the Web server on the middle tier connects you to an Applications 11i
database on the enterprise tier. After the connection is made, your URL is likely to also contain an
Oracle SID following another colon after the port number. A SID identifies a specific database.
Before leaving this topic, let’s take a quick look at Firewalls.
Firewalls protect a company's IT infrastructure by providing the ability to restrict network traffic by
examining each network packet and determining the appropriate course of action. Firewall
configuration typically involves restricting the ports that are available to one side of the firewall, for
example the Internet. It can also be set up to restrict the type of traffic that can pass through a
particular port such as HTTP. If a client attempts to connect to a restricted port (a port not covered by
a security `rule') or uses a protocol that is incorrect, then the client will be disconnected immediately
by the firewall. Firewalls can also be used within a company Intranet to restrict user access to specific
servers.
Some firewalls masks the true IP address of a client by translating it to a different IP address. Packets
sent from a remote client to a server through the firewall will be known to the server by this translated
address. As the client and server communicate, the NAT software handles the mapping of the true IP
address to its translated address.

Internet

PC PC

Laptop
Intranet

Applications
Gateway
Data

Laptop

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 9
This diagram shows an application gateway controlling traffic between internal and external networks
and providing a single checkpoint for access control and auditing. As a result, unauthorized Internet
hosts cannot directly access the database inside a corporation, but authorized users can still use
Internet services outside the corporate network. This capability is critical in Internet environments to
restrict remote access to sensitive data.

The Application / Middle Tier


Oracle Application Server (9iAS or AS10g) provides the technology used on the application tier. Six
servers comprise the application tier for Oracle Applications:
• Web server
• Forms server
• Concurrent Processing server
• Reports server
• Discoverer server (optional)
• Admin server
A Service (or server) is a process or group of processes running on a single machine that provides a
particular functionality. The HTTP server, for example, is a process that listens for and processes
HTTP requests, and the Forms service is a process that listens for and processes requests for Oracle
Forms. We will have a brief look at each of these services in turn.

The Web Server / Oracle HTTP Server


The Oracle Web Server is based on the open source Apache HTTP server. This provides the
communication services of Oracle Internet Application Server (iAS). The Apache Server is modular
(i.e. it supports components). In addition to the standard Apache modules (often referred to as mods)
the Oracle HTTP Server adds a number of Oracle specific modules, along with an extension to the
functionality of several of the standard mods. These include mod_plsql, mod_cgi, mod_ssl, mod_jserv
and mod_perl.18
The Oracle Web Server processes the requests received over the network from the desktop clients. It
includes additional components such as:
• Web Listener
• Java Servlet Engine
• Portal
• Java Server Pages (JSP)
The Web listener component of the Oracle HTTP server accepts incoming HTTP requests (URLs)
from desktop clients (browsers). If possible, the Web server services the requests itself, for example,
by returning an HTML web page. If the page referenced by the URL needs advanced processing, the
listener passes the request on to the servlet engine, which contacts the database server as needed.
Here is an example of the process flow for a Self-Service Applications using the WebServer to access
a Java Server Page (JSP):

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 10
Web Server Processing
Applications / Middle Tier
Desktop Tier

HTTP HTTP
HTTPS Listener
Database Tier

Servlet
PC Engine Metadata
Dictionary

JSP Oracle
Java enabled Database
Web Browser Data

1. The user clicks the hyperlink of a function from a browser.


2. The browser makes a URL request to the Web listener.
3. The Web listener contacts the Servlet engine (JServ) where it runs a JSP.
4. AOL/J validates user access to the page.
5. The page definition is loaded from the Metadata Repository on the database tier into the
applications tier (Metadata UI Definition).
6. The BC4J objects that contain the applications business logic and access the database
are instantiated (started).
7. The Java Controller programmatically manipulates the page definition as necessary
based on dynamic UI rules (incorporating the users preferences etc).
8. UIX (HTML UI Generator) interprets the page definition and creates the corresponding
HTML in accordance with UI standards.
9. The resulting HTML page is passed back to the browser, by way of the Web server.

The Forms Server


The Forms server hosts the Oracle Applications forms and the forms runtime engine that support the
core Applications. The Forms server is an Oracle Developer 6i component that enables display of
client screens in the Desktop Tier and initiates changes in the database records based on user
actions.
The Forms server caches data and provides it to the client as needed, such as when scrolling through
multiple order lines that exceed the limitations of a single screen. The Forms server communicates
with the desktop client using HTTPS, HTTP and TCP/IP. HTTP and HTTPS support enables
operation over a firewall (i.e. outside your office). The Forms server communicates with the Oracle
data server using Net8.
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. For
example, a window may open or another field value may be populated. If necessary, the database tier
is contacted for any data not already cached on the application tier, or for data-intensive processing.

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 11
Forms Server
Desktop Tier Applications / Middle Tier

Java enabled Web Database Tier


browser Listener

Forms Oracle
Forms Database
Client within
Server
that browser

Concurrent Processing Server


Concurrent requests are reports and programs, which operate in the background while users continue
to work on other tasks. Log and output files are generated on the Concurrent Processing server.

Output of Concurrent Processes


Desktop Tier Applications / Middle Tier

HTTP
Report Page Forms Server

Database Tier
Report

PC Report
Review
Agent Oracle
Database
Concurrent Required
Processing Data
Server

The Concurrent Processing server communicates with the data server using Net8. The resultant log
or output file from a concurrent request is passed back to the Report Review Agent, also known as
the Web Review Agent. The Report Review Agent passes a file containing the entire report to the
Forms server. The Forms server passes the report back to the user’s browser one page at a time.
You can use profile options to control the size of the files and pages passed through the system.

Reports Server
The Reports Server is automatically installed on the same node as the Concurrent Processing server
and its reports are contained in the same directory with the concurrent processing reports. However,
reports generated by the Reports server are monitored and administered separately from concurrent
processing reports (and used primarily to produce reports for Business Intelligence System (BIS)
products.

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 12
Reports Server
Desktop Tier Applications / Middle Tier

Web Listener

Database Tier
Reports CGI

PC

Oracle
Reports Server Database

Reports Runtme
Engine

1. The user clicks the hyperlink of a function from their browser.


2. The browser makes a URL request to the Web listener.
3. The Web listener contacts the Reports server through the reports Web CGI (a component of
the middle tier).
4. The Reports server starts the Reports runtime engine.
5. The Reports runtime engine locates the necessary reports and connects to the database to
query the requested information.
6. The queried information is presented to the user in the form of an HTML page.

Discoverer Server
The Discoverer server complements the Reports server as a tool to perform ad hoc queries and
analysis of the resultant query output. It also allows users to perform projections as various business
and strategic factors are changed.

Admin Server
The Admin server is usually located on the same machine as your Oracle Applications database. You
carry out the following operations from this server:
• Upgrading Oracle Applications
Using the AutoUpgrade utility (adaimgr).
• Applying database patches to Oracle Applications
Using the AutoPatch utility (adpatch) to perform these updates
• Maintaining Oracle Applications data
Some features such as Multiple Reporting Currencies require regular maintenance to ensure
updates are propagated to the additional tables and schemas used by this feature. The AD
Administration utility (adadmin) allows you to do this.
Most of these tasks are performed by the DBA, who will probably also administer your Applications
Server (9iAS).

Web Applications Dictionary


This is an Oracle Forms–based data dictionary used to define flow content and formatting for web
inquiry pages. Using the Web Applications Dictionary, you specify the content of, and links between
the pages that make up a flow. You can specify:
• HTML page format (headers, text, tables)
• Object content by associating with Applications Business Views or PL/SQL
• Business Flows among Objects (hypertext links)
• Page Content (fields, selection criteria)

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 13
Web Applications Dictionary also serves as a real time execution engine to retrieve information from
the database. Oracle Self Service applications reference the data dictionary at run time to retrieve
data from the database and generate dynamic HTML pages. The Web Applications Dictionary
provides a means of defining business flows which can then be web–enabled. The Web Applications
Dictionary is part of the “AK Common Modules”. Once installed, it is accessed in the same manner as
all of the core Oracle Applications.19

Web Services
Just before we leave the Middle Tier a few words about the Web Services. We have already seen that
Oracle Applications Middle Tier is a cluster of various services that can be called as required by client
machines. The Web Services concept is similar but goes beyond Oracle Applications context.
The excitement around Web services can be understood in terms of the way they:
• Exploit the opportunities provided by the Web
• Promote the use of reusable components
• Are firmly based on the sort of standardisation which facilitates easy integration between
heterogenous systems
• Reflect the move to a view of software services (rather than products).
Web services leverage a concept known as Service-Oriented Architecture (SOA). A "service" is a
network-enabled component. Like components, services in general (and Web services in particular)
represent functionality that can be easily reused without knowing the details of how the service is
implemented. And, since Web protocols are completely independent across vendor, platform, and
language implementations, the result is an application that integrates well with the rest of the
enterprise while being flexible enough to modify as business needs change.
Web services, in the general meaning of the term, are services offered via the Web. In a typical Web
services scenario, a business application sends a request to a service at a given URL using the
SOAP protocol over HTTP. The service receives the request, processes it, and returns a response.
Web services and consumers of Web services are typically businesses, making Web services
predominantly business-to-business (B-to-B) transactions. These systems must have the ability to
link up to each other, grant permissions through a system other than the Internet, and which would
make all the systems network with each other like an Intranet.
Web Services is probably not the first solution to such a problem. COM, CORBA and EDI also
address the same problem space. So, what would make Web Services so special and different from
the rest?
Web Services is based on the already existing and well-known HTTP protocol, and uses XML as the
base language. This makes it a very developer-friendly service system and uses technologies that do
not require a steep learning curve for most developers.
Also, Web Services are based on a set of standardised rules and specifications, making it more
portable. This was not the case with the technologies mentioned earlier. In Web Services, SOAP,
UDDI, and WSDL are the key enablers.
SOAP (Simple Object Access Protocol) is the method by which you can send messages across
different modules. This is similar to how you communicate with the search engine that contains an
index with the Web sites registered in the index associated with the keywords.
UDDI (Universal Description, Discovery, and Integration) is the global look up base for locating the
services. In the example mentioned earlier, this is analogous to the index service for the search
engine, in which all the Web sites register themselves associated with their keywords.
WSDL (Web Services Definition Language) is the method through which different services are
described in the UDDI.
By extending the business applications as Web Services, the information systems of different
companies can be linked. These business systems then can be accessed by using simple SOAP
messages over the normal HTTP Web protocol. For example, a manufacturing company requires
some raw materials to be supplied whenever the material in stock reaches the threshold levels. These
levels can be constantly monitored by the business system of a trusted supplier, and promptly
replenished, without having to wait for a supervisor to notice it and generate a work order.20

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 14
File Systems
We have discussed how Oracle software is distributed across multiple hardware tiers. We know that
software requires files to be installed on a computer and that at run-time that software is loaded into
memory for execution. Oracle software is no different; it is stored in the file system of the (database
and applications) servers described in the previous sections.

File Systems – Database Tier

Database server files: Environment file

Oracle/<dbname>DATA e.g. <dbname>.env


Containing Oracle8i or Registry entry indicates the
data and configuration files location of files in the file
system
On the database server the <dbname>DATA file system contains the .dbf files that store your data in
the database. In addition to the data files, there are some other necessary files e.g. configuration files
like the INIT.ORA file that contains parameters which control the database.
Oracle uses environment settings to ‘point to’ the location of these files. Such environment settings
are stored in the <dbname>.env file on a UNIX server or in the Registry on Windows 2000 or NT
(HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/Applications/11.5.0/<dbname>.
You will sometimes also hear DBAs speak of the database name as a SID (or session identifier).
Understanding these files and the maintenance of a database is the task of the (DBA).
By way of example, on a laptop single node install of the Vision database:
• Environment settings are in the Windows Registry
• The database files are in C:\ORACLE\VISDATA
• The Applications files are in C:\ORACLE\VISAPPL

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 15
The applications software is contained on the Applications Server in a file system called
<dbname>APPL.

File Systems –
Applications Tier
<dbname>APPL the APPL_Top Directory
contains the Applications software

<dbname>.env GL AP AU AD

11.5.x

forms bin reports sql java


For each Oracle product (application) there are sub-directories that contain the components from
which the application is built. That includes the Forms and Reports that present the data to you. In
addition to simply presenting the data, the forms contain some ‘logic’ for example to ensure users
cannot enter meaningless or incomplete data.
To enable multi-language installations, language sub-directory exist e.g. for Forms etc.
Each product’s upper-most directory is known as Product_top as in GL_TOP.
The admin, ad, au, and fnd directories are the core technology directories.
The admin directory holds files used for the preliminary install or upgrade steps for all Oracle
Applications products. Subdirectories in this admin directory hold the log and restart files that record
the actions performed by installation and upgrade utilities and scripts.
The AD (Applications DBA) directory contains the installation and maintenance utilities such as
AutoUpgrade, AutoPatch, and the adadmin utility.
The AU (Applications Utilities) directory contains PL/SQL libraries used by Oracle Forms and Oracle
Reports, Oracle Forms source files, and a copy of all Java files used to generate the desktop client.
The fnd (foundation) directory contains the forms and C object libraries, and scripts that are used to
build the Oracle Applications data dictionary.
Applmgr is the Operating System login commonly used to install and upgrade Oracle Applications.
This account owns the Oracle Applications product files. On a laptop, you may use the standard
Administrator log-on.

Database Schemas
So much for the physical organisation of the software files, we will now look briefly at the ‘logical
organisation of the Oracle Applications database.
Within the database, there are product ‘schemas’ (database user areas).
For every application which is installed, you will have a schema which stores its data, for example GL,
AP, PA, etc. The GL schema contains all the tables, views and other database objects belonging to
the General Ledger Application.
The Apps Schema has access to the complete Oracle Applications data model. It consists mainly of
logic rather than storage (in packaged procedures and views). Much of this logic is there to enable
Oracle’s Multi-Org technology.
Since the advent of Multi-Org technology all users write to the various tables in GL, AP etc through
procedures stored in the APPS schema which ensure that new records are ‘tagged’ with the

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 16
organisation ID linked to that user (usually through a profile option at Responsibility level). In the
same way when users retrieve data, the APPS schema ‘filters’ the data so that users only see the
data relating to their organisation.
So the APPS schema is a sort of gatekeeper to the other schemas. In this way, Multi-Org technology
allows multiple organisations to secure data within a single database.
It is supported by an ORG_ID column on tables and a MO:Operating Unit profile option for each
Responsibility (which creates an implicit ‘where clause’ linking the user’s organisation only with
records which have the appropriate Org_ID value).
Each Application has a Technical Reference Manual (TRM) which details the objects belonging to its
schema. In Release 11i – for the first time – the TRMs are available in softcopy from MetaLink.

So Long and Thanks for All the Fish21


This quick tour has provided a very brief overview of the technology behind the Applications.

About the Authors


Jeanie Dobney: Jeannie Dobney has been working with Oracle technology for over a decade. She
worked initially with Oracle tools (SQL, Forms and Reports) and then moved into the Applications
arena. She has implemented most of the Financials, Distribution and Projects Applications as well as
managing implementations in Australia and South Asia, including global single instance migrations for
Oracle in India and South East Asia.
Jeannie is a keen supporter of Oracle User Groups and has presented papers at Australian and
international conferences on both technical and functional topics. She was President of her State’s
branch of the Australian User Group, as well as representing Applications users in the Asia Pacific
region a member of the international Board of Directors of the OAUG (Oracle Applications User
Group).
Jeannie now heads up EduSource, an independent provider of Oracle technology and Applications
training.
Alicia Hoekstra: Alicia Hoekstra has been working with Oracle Applications and technology for over a
decade.
Alicia is a keen supporter of Oracle User Groups and has presented papers at local, regional, and
international U.S., Australian and European conferences on both technical and functional topics. She
co-founded the South Central Oracle Applications Users Group (SCOAUG) and Dallas Oracle Users
Group (DOUG) Applications SIG in 1993, and currently serves as Chair of SCOAUG. She also served
previously on the international Board of Directors of the OAUG and the International Oracle Users
Council (IOUC).
Alicia works with Solution Beacon, a woman-owned small business specializing in Oracle Applications
and Technology, working directly with clients to scope, manage, and successfully execute their Oracle
Applications initiatives.

Glossary22
API
An API (Application Programming Interface) is a set of published ways for programmers to interact
with a specific application. For example, the TCA (Trading Community Architecture) API is a set of
PL/SQL programs which allow programmers to insert customer data into the Oracle database (as an
alternative to the Customer Open Interface.
Applet

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 17
A Java program that is downloaded to a desktop client from an HTTP server, and run within a Java-
enabled web browser.
BC4J objects
Business Components for Java, a J2EE application development framework that comes with
JDeveloper. BC4J is an object-relational mapping tool that implements J2EE Design Patterns.
Common Gateway Interface (CGI)
The industry standard technique for running applications on a web server. Oracle HTTP Server
supports this standard.
Forms Client
A Java applet that runs on a desktop client and provides the user interface and interaction with a
Forms server.
GUI (Graphical User Interface)
An interface used with personal computers and workstations that allows the user to access fields and
regions of the screen with a pointing device, typically a mouse.
HTML (Hypertext Markup Language)
A simple language used to format documents, predominantly for viewing with a Web browser.
Portions of text or images, called hypertext, can be associated with other documents.
HTTP (Hypertext Transfer Protocol)
The TCP/IP-based network protocol used to transmit requests and documents between an HTTP
server and a Web browser.
HTTPS
The use of Secure Sockets Layer (SSL) as a sub-layer under the regular HTTP application layer.
HTTP listener
A program on an HTTP server that accepts and processes incoming HTTP requests from Web
browsers.
HTTP server
An application server that runs an HTTP listener, and sends out Web pages in response to HTTP
requests from remote browsers.
Intranet
A network of computers that are internal to a company. A company’s intranet is basically a local
extension to the globally distributed Internet, which is a global interconnected network of computers
and smaller computer networks.
Java
A computing language used to produce programs that can be downloaded and run on a desktop client
using a Web browser. It is also used to produce platform-independent programs that run on a server,
either interactively or when invoked through a request from a Web browser.
JAR (Java Archive) file
A collection of Java classes compressed into a file for faster download to a desktop client.
Java class
Components of a Java program that define objects and operations performed on objects. Java class
also identifies an operating system file that contains a program or part of a program written in Java.
JavaBeans
A reusable Java class which has specific naming conventions for its methods and variables.
JavaBean components can be used to perform well–defined tasks, such as connecting to a database,
maintaining client information, or rendering a screen page.
Javascript
Javascript is a scripting language that adds significant power to HTML files without the need for
server–based CGI programs.
Java Server Pages
An extension to the servlet functionality that enables a simple programmatic interface to Web pages.
JSPs allow for the embedding of servlet code within HTML pages. JSPs are HTML pages with special
tags and embedded Java code that is executed on the Web server or application server providing
dynamic functionality to HTML pages. JSPs are actually compiled into servlets when first requested
and run in the server's JVM.
Java Servlets

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 18
A small, ”pluggable” extension to a server that will enhance the server’s functionality. Java servlets
are a key component of server–side Java development.
JDBC (Java Database Connectivity)
A Java programming interface that enables Java programs to access the Oracle9i server.
JVM (Java Virtual Machine)
An interpreter that translates a compiled Java program, called bytecode, to machine code. JVM
makes Java portable, because each operating system’s JVM translates bytecode to instructions that
the microprocessor can execute. A Java-enabled web browser has an internal JVM that allows it to
execute applets or applications written in Java.
Net8
The Oracle product that enables network connectivity between a client machine and the Oracle9i
server. Net8 manages communication sessions between these machines by opening and closing
sessions and by packaging and sending SQL statements and data responses.
Servlet
A Java program executed on an HTTP server, rather than downloaded to a desktop client.
TCP/IP (Transmission Control Protocol / Internet Protocol)
A widely used industry-standard networking protocol used for communication among computers.
Web Applications Dictionary
An active data dictionary that employs the Oracle Forms–based interface. The data dictionary stores
specific information about Self–Service Web Applications data, including prompts, language,
navigation, and security.
Web Browser
A program running on a desktop client that views documents formatted in HTML and runs Java
applets. A Web browser sends requests to a HTTP server using a special protocol (HTTP) to retrieve
documents and Java applets.

Notes

1
Two terms here might puzzle some business users: Architecture is used here to indicate how
various software and hardware components are organised. An Application in Oracle’s E-Business
Suite sense is one Oracle module or product (e.g. General Ledger), consisting of all the technology
required for that business function within the E-Business Suite; in the broader sense an application is
any piece of software developed from a development tool: for example your timesheet application
may have been written using Excel software.
2
The term interface in computing parlance is used to refer to the way systems interact, connect and
communicate with one another. It can be either a user interface (UI) i.e. the way a human user
interacts with a computer system, or a programmatic interface e.g. Oracle’s Open Interfaces, or a
physical interface e.g. the plug which connects my laptop with a printer. We tend just to abbreviate
this all just to interface and infer from the context what exactly is meant.
3
For more detail on the development of Graphical Interface see:
http://en.wikipedia.org/wiki/History_of_the_GUI
4
The client server model was another innovation pioneered by the amazing minds at Xerox PARC
http://www.parc.xerox.com/about/history/default.html
5
For a fascinating account of the Oracle organisation’s experience of the client server experiment,
see Matthew Symonds’ SoftWar published by Simon and Shuster
6
Oracle Applications Concepts, Release 11i (11.5.9) – this manual is the major reference for this
paper; you can find it on your Applications Documentation CD or download it from OTN at
http://otn.oracle.com/documentation/index.html
7
Oracle Magazine’s summary of 25 years of Oracle history (Nov – Dec 2001)
http://otn.oracle.com/oramag/oracle/01-nov/o61cover.html
and Codd's obituary - http://www.research.ibm.com/resources/news/20030423_edgarpassaway.shtml
8
For a definition of OpenSource see http://en.wikipedia.org/wiki/Open_source
9
API = Application Programming Interface: a predefined way for programmers to interact with a
system. In the case of Oracle Applications, most API’s consist of published PL/SQL procedures which
allow programmers to insert data into the Applications in a supported manner.

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 19
10
You may also see the acronym ADF, meaning Application Development Framework. Both
acronyms i.e. IDE and ADF attempt to convey the productivity-support which such an environment
provides to programmers. Oracle Applications Framework Architecture also supports Java in a
number of ways including:
- BC4J (Business Components for Java), included in Oracle JDeveloper, is used to create Java
business components for representing business logic. It also provides a mechanism for mapping
relational tables to Java objects. It allows the separation of the application business logic from the
UI.
- AOL/J provides the Oracle Applications Framework with underlying security and applications Java
services. It provides the Oracle Applications Framework with its connection to the database and
with application-specific functionality, such as flexfields and attachments.
11
For a readable introduction to Java see Steve Patient The Bluffer’s Guide to Java at
http://www.webdevelopersjournal.com/articles/java_jargon.html
12
Refer to the Links page on the EduSource website for some useful links to general reference on
technical topics (www.edusource.com.au/links.html) Oracle Magazine is also an excellent source of
data on new developments in Oracle technology http://otn.oracle.com/oramag
13
For a good introduction to XML, refer to John King’s paper XML Survival Skills which can be
downloaded from http://www.kingtraining.com
14
The Oracle Self–Service Web Applications, including Self–Service Expenses, Self–Service Human
Resources, Internet Procurement, Internet Receivables, Self–Service Time, Web Suppliers, iStore,
iPayment, iSupport, iMarketing, and eTravel from Oracle, extend the functionality of Oracle
Applications by adding a browser–based, walk up and use functionality that supplements Oracle
Applications. Oracle Self–Service Web Applications can be either inquiry or transactional. Inquiry
modules read but do not update the Oracle Applications database; transactional modules update the
database. The architecture consists of the following components:
• A web browser
• The Oracle HTTP Server, powered by Apache
• HTML documents
• Java Server Pages, JavaBeans and Servlets
15
There are several other files associated with the JInitiator Including adsign.txt and identitydb.obj,
(See Installing Oracle Applications Release 11i.)
16
This short description does not really do Portal justice. Key features of Portal include abilities to
integrate presentation of information (including data from legacy systems) accessed via a single sign
on, allows the users to manage content and personalise the interface for themselves. One of the
techniques used to manage the development of this integrated presentation is to identify different
screen regions within the browser page and dedicate them to specific information sources. These
sections of the screen are known as Portals. An excellent introduction to Portal is contained in Diane
Turner’s paper on Administration using Oracle Portal from the NZOUG which can be downloaded
from http://nzoug.org.nz/Conference/2004%20Presentations/NZOUG.htm
17
From http://whatis.techtarget.com/ which is an excellent plain English guide to computing
terminology.
18
mod_cgi is an Apache module that provides for the execution of Common Gateway Interface (CGI)
applications through the invocation of an operating system shell that runs the application and uses the
CGI to deliver data to the application..
mod_jserv is an Apache module that routes all servlet requests to the Apache JServ Servlet engine.
The servlet engine provides the runtime environment to execute servlets. The servlet engine executes
from within a Java Virtual Machine (JWM) running on the same node, or a different node, to the
Apache HTTP Server.
mod_plsql or Webdb PL/SQL Gateway is an Oracle specific Apache module. This module routes
PL/SQL requests to the Oracle Pl/SQL service, running within the Oracle Universal Server, through
the use of Database Access Descriptors (DADs). The PL/SQL service delegates the request servicing
to PL/SQL programs. mod_plsql will also handle Portal Service requests – the HTTP requests for
WebDB are dispatched by mod_plsql to the Oracle8i PL/SQL engine. The PL/SQL service may be
running in the database tier or within iAS itself.
19
See also Oracle Self–Service Web Applications Implementation Manual
20
Most of this section is based on material on http://www.developer.com

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 20
21
For those not familiar with the Hitchhikers Guide to the Galaxy, some of the allusions will be lost….
So Long and Thanks for the Fish was the final book in this series
22
Largely drawn from the Oracle Concepts Manual

OAUG Connection Point 2004 ©2004 by EduSource, Solution Beacon, LLC Page 21

Das könnte Ihnen auch gefallen