Skip Headers
Oracle® Outside In Transformation Server Developer's Guide
Release 8.4.0

Part Number E12868-03
Go to Documentation Home
Home
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

1 What Is Transformation Server?

Transformation Server is an add-on component to the Outside In Export SDKs. It provides an alternative means of controlling Outside In, by supplying a runtime environment that manages file-export operations in processes that execute independently of your application. In other words, it moves the execution of Outside In from an in-process component model to a client-server model.

Major features of Transformation Server include:

There may be references to other Outside In Technology SDKs within this manual. To obtain complete documentation for any other Outside In product, see:

http://www.oracle.com/technetwork/indexes/documentation/index.html#middleware

and click on Outside In Technology.

This chapter includes the following sections:

1.1 What's New in Release 8.4.0

The updated list of supported formats is linked from the page http://www.outsideinsdk.com/. Look for the data sheet with the latest supported formats.

1.2 Components of Transformation Server

Transformation Server consists of several components that interact with each other and your application. Some of these components are optional, depending on the way you wish to configure your application.

1.2.1 The Transformation Agent (TSAGENT)

This is an executable that hosts the Outside In Export SDKs. It is controlled through a SOAP version of the Outside In Export APIs. This executable can be used directly by an application or an application server, or accessed indirectly throught the Transformation Manager.

1.2.2 The Transformation Manager (TSMANAGER)

The Transformation Manager is an executable that is used as a central controller for Transformation Agents. The Transformation Manager controls a pool of Transformation agents, each of which is used to perform Export operations. The Transformation Manager presents the same SOAP version of the Outside In API as does the Transformation Agent, and will manage a queue of transformation requests. The Transformation Manager also monitors the status of Transformation Agents, and will kill and restart an agent if it has become unresponsive. If your application already has app server functionality, you may decide not to use the Transformation Manager.

1.2.3 The C Client Module (SCCTS)

This module allows an application written in C to control Transformation Server through a C API that resembles the embedded version of the Outside In C API as closely as possible. This module handles all SOAP communication between an application and Transformation Server, and is the fastest way to migrate an existing application from using the embedded version of the Outside In SDK to Transformation Server.

1.2.4 The Java Client (TSAPI)

The Java client is a set of JAR files that provide objects that represent a Java version of the Outside In SDK API, and handle all SOAP communication between a Java application and Transformation Server. This client allows a Java application to use Transformation Server without the need to write any C/C++ code.

1.3 Architecture

This section describes the system software architecture.

1.3.1 The Transformation Manager

Client applications control document transformations by communicating with an application called the Transformation Manager, which itself manages a pool of processes called Transformation Agents (see Section 1.3.2, "The Transformation Agent").

The following ilustration depicts this communication.

Figure 1-1 Client Application Communication

Flowchart of client application communication

Requests to transform documents are distributed among the available running Transformation Agents. If all available Transformation Agents are in use, transformation requests are queued until an agent is available.

The interface that controls transformations is called the Transform API. The Transform API provides the means to initiate a transformation and pass parameters to the technology that will perform the transformation.

The Transform API is accessed via SOAP messages, through C-language function calls using the C Client Module, and /or through Java methods presented by the Java Client object.

1.3.2 The Transformation Agent

The Transformation Agent (TSAGENT) is the worker process in which a transformation actually occurs. Transformation Agents host the available Transformation Engines and Input/Output Providers.

The following illustration depicts the transformation agent.

Figure 1-2 Transformation Agent

Flowchart of the Transformation Agent

Transformation Engines and IO Providers are loadable modules (DLLs) that execute within the Transformation Agent process.

The C language interfaces between the Transformation Agent, the Transformation Engines, and IO Providers are fully documented in this guide.

Combined with the extensibility of the Transform API, this allows third party repositories and transformation technologies to be incorporated into Transformation Server without any changes to the infrastructure itself.

1.3.3 C Language Client Module (sccts)

Transformation Server's SCCTS client module runs inside an application's process, and presents a C language interface through which the application can invoke all of the functionality of Transformation Server. SCCTS will provide all of the SOAP/HTTP communication, and will support the same IO Provider API that is available on the server.

Figure 1-3 IO Provider API

Flowchart of the IO Provider API

If an application provides custom IO on the client side, the interface module will marshal IO operations between the client process and Transformation Agent, over a socket connection.

For a developer, the only difference between implementing an IO provider on the client versus on the server is that client-side IO provider code is not required to exist in a shared library or DLL, and is invoked through the Transform API rather than a configuration file.

1.3.4 Java Client Object

Much like the C/C++ client module, the Java client object provides a Java version of the Transform API (see Section 5, "Initiating Transformations Using the Java API") that allows an application to access Transformation Server directly through code, rather than through the SOAP protocol.

Figure 1-4 Java Client API

Flowchart of the Java client API

The Java client object will handle all of the SOAP communication with Transformation Server, and will return the results back to the calling application.

If the client application developers wish to provide their own Java-based input/output, they may do so by implementing the Java version of the IO Provider API. (Note: the IO Provider API on the server side is C-based only.)

1.4 Directory Structure

Each Outside In product has an sdk directory, under which there is a subdirectory for each platform on which the product ships (for example, ts/sdk/ts_win-x86-32_sdk). Under each of these directories are the following three subdirectories:

In the root platform directory (for example, ts/sdk/ts_win-x86-32_sdk), there are two files:

1.5 Copyright Information

The following notice must be included in the documentation, help system, or About box of any software that uses any of Oracle's executable code:

Outside In Image Export, PDF Export, Search Export, XML Export, HTML Export © 1991, 2012 Oracle.

The following notice must be included in the documentation of any software that uses Oracle's TIF6 filter (this filter reads TIFF and JPEG formats):

The software is based in part on the work of the Independent JPEG Group.