|Oracle9i OLAP Services Developer's Guide to the Oracle OLAP API
Release 1 (9.0.1)
Part Number A88756-01
Introduction to the OLAP API, 4 of 6
The OLAP API is the programming interface for OLAP Services. When a Java application calls methods on OLAP API Java classes, it uses the OLAP API client software to communicate with an OLAP service, which typically resides on a different computer. An OLAP service is a child process of an Oracle database instance. The communication between the OLAP API client software and an OLAP service is provided through Common Object Request Broker Architecture (CORBA). The following diagram shows the application using the OLAP API client software to communicate with the OLAP service.
An application that uses the OLAP API client software (that is, calls methods in OLAP API classes) can reside on a single computer, or it can be divided into separate parts on different computers. For example, the end-user portion can be separate from the portion that makes OLAP API calls. In this case, software on three computers could be involved.
The OLAP API client software is a set of Java packages containing classes that implement the programming interface to an OLAP service. An application calls the methods on these classes for discovering, querying, processing, and retrieving data.
To use the OLAP API classes as you develop your application, import them into your Java code in the standard way. When you deliver your application to users, include the OLAP API classes with the application. You must also deliver the CORBA implementation that is supplied with OLAP Services.
In order to develop an OLAP API application, you must have the Java Development Kit (JDK) from Sun Microsystems. Users must have a Java Runtime Environment (JRE) whose version number is compatible with the JDK you used for development.
For information about Java version requirements and about setting up the OLAP API client software, see Appendix A. For detailed information about the OLAP API classes and methods, see the Oracle9i OLAP Services OLAP API Reference and subsequent chapters of this guide.
The software that implements the server side of the OLAP API is an integral part of an OLAP service. It includes modules that interact with the OLAP API client software through CORBA, as well as software that interacts with the associated Oracle database. In response to requests from the OLAP API client software, the OLAP service does the following:
Because the server-side OLAP API software is an integral part of an OLAP service, no special installation steps are required to make it available. Furthermore, a CORBA implementation is provided with OLAP Services, in order to facilitate connections between the OLAP API client software and an OLAP service.
Before an application can access a data store through the OLAP API, the CORBA software must be running on the OLAP Services computer, and the connection between the OLAP service and the Oracle database must be in place.
For information about configuring an OLAP service for connecting with the database, see the Oracle9i OLAP Services Concepts and Administration Guide.
The OLAP API client software and an OLAP service communicate through an implementation of the CORBA specification. Using CORBA makes it possible for the Java-language client software to communicate with the OLAP service code, which is written in C++. It also maintains the object-oriented context in which the OLAP API was designed.
The CORBA implementation that is used by OLAP Services is VisiBroker from Borland. On the OLAP Services computer, VisiBroker for C++ is automatically installed. You, as an application developer, install the VisiBroker for Java files on your application development computer when you install the OLAP API as described in Appendix A. On most platforms, you also use the CORBA naming service that is built into Oracle for finding the OLAP service to which you will connect.
CORBA requires an Object Request Broker (ORB) both on the OLAP API client computer and on the OLAP Services computer. When an application calls a method that requires an interaction with an OLAP service, the client ORB intercepts the call, interacts with the OLAP Services ORB to find the object on the server side that can implement the request, passes the parameters, invokes the object's method, and returns the results.
Both the OLAP API client software and the OLAP service interact with their respective ORBs using the CORBA Interface Definition Language (IDL), which solves the problem of translation between Java and C++. The transport protocol that is used by a CORBA connection is Internet Inter-ORB Protocol (IIOP), which transfers messages between the ORBs over a TCP/IP connection.
For more information about the CORBA specification, explore the Object Management Group (OMG) Web pages at
A typical OLAP API application is designed for either a two-tier or a three-tier configuration. Each tier represents an area of functionality, not a physical computer. That is, each tier can be implemented on a single computer or on more than one.
In a two-tier configuration, the application is typically a standalone that provides the graphical user interface to the end user, as well as the OLAP API data manipulation capabilities. Thus, the two tiers for the configuration are the application tier and the data server tier. Communication between the two is through the OLAP API, using IIOP, as described in "CORBA support".
The following diagram shows the two tiers and the IIOP communications between them.
In a three-tier configuration, the application is divided into two components. One provides the graphical user interface to the end user, and the other provides the OLAP API data manipulation capabilities. These two components represent the application end-user tier and the application server tier.
An application server is a functional component of an application. It performs a service, such as data manipulation, for multiple instances of the end-user component. For example, an application server might be called by a Web server to respond to requests from end users who are accessing Web pages.
In addition to the two application-specific tiers, the three-tier configuration includes the data server tier with the OLAP service and the Oracle database. Communication between the application server tier and the data server tier is through the OLAP API using IIOP, as described in "CORBA support". Communication between the two application tiers is completely up to you, as the application developer. For example, a Web application might use Hypertext Transfer Protocol (HTTP), and it might employ a Web server to make the connection.
The following diagram shows the three tiers and the communications among them.