1 Understanding Oracle GoldenGate Adapters

This chapter provides an overview of the Oracle GoldenGate Adapters that integrate with Oracle GoldenGate instances to bring in Java Message Service (JMS) information or to deliver information as JMS messages or files.

This chapter includes the following sections:

1.1 Oracle GoldenGate Application Adapters Overview

This section provides an overview of the Oracle GoldenGate Application Adapters.

1.1.1 Oracle GoldenGate Integration

Oracle GoldenGate Application Adapters integrate with core Oracle GoldenGate instances.

The core Oracle GoldenGate product:

  • Captures transactional changes from a source database

  • Sends and queues these changes as a set of database-independent files called the Oracle GoldenGate trail

  • Optionally alters the source data using mapping parameters and functions

  • Applies the transactions in the trail to a target system database

Oracle GoldenGate performs this capture and apply in near real-time across heterogeneous databases, platforms, and operating systems.

1.1.2 Oracle GoldenGate Application Adapter Integration Options

The Oracle GoldenGate Application Adapters integrate with installations of the Oracle GoldenGate core product to do one of the following:

  • Read JMS messages and deliver them as an Oracle GoldenGate trail

  • Read an Oracle GoldenGate trail and deliver transactions to a JMS provider or other messaging system or custom application

  • Read an Oracle GoldenGate trail and write transactions to a file that can be used by other applications

1.1.2.1 Capturing Transactions to a Trail

Oracle GoldenGate message capture can be used to read messages from a queue and communicate with an Oracle GoldenGate Extract process to generate a trail containing the processed data.

The message capture processing is implemented as a Vendor Access Module (VAM) plug-in to a generic Extract process. A set of properties, rules and external files provide messaging connectivity information and define how messages are parsed and mapped to records in the target GoldenGate trail.

Currently this adapter supports capture from JMS text messages.

1.1.2.2 Applying Transactions from a Trail

Oracle GoldenGate delivery can be used to apply transactional changes to targets other than a relational database: for example, ETL tools (DataStage, Ab Initio, Informatica), JMS messaging, or custom APIs. There are a variety of options for integration with Oracle GoldenGate:

  • Flat file integration: predominantly for ETL, proprietary or legacy applications, Oracle GoldenGate file writer can write micro batches to disk to be consumed by tools that expect batch file input. The data is formatted to the specifications of the target application such as delimiter separated values, length delimited values, or binary. Near real-time feeds to these systems are accomplished by decreasing the time window for batch file rollover to minutes or even seconds.

  • Messaging: transactions or operations can be published as messages (e.g. in XML) to JMS. The JMS provider is configurable; examples include ActiveMQ, JBoss Messaging, TIBCO, WebLogic JMS, WebSphere MQ and others.

  • Java API: custom event handlers can be written in Java to process the transaction, operation and metadata changes captured by Oracle GoldenGate on the source system. These custom Java handlers can apply these changes to a third-party Java API exposed by the target system.

All three options have been implemented as extensions to the core Oracle GoldenGate product using Oracle GoldenGate's user exit interface, a C API.

  • For the flat file integration, Oracle GoldenGate File Writer provides a user exit library that is dynamically linked into the Oracle GoldenGate Extract process. Configuration is done using a properties file, and no programming is required.

  • For Java integration using either JMS or the Java API, use Oracle GoldenGate for Java.

1.2 Using Oracle GoldenGate Application Adapters Properties

The Oracle GoldenGate Application Adapters are configured and controlled through predefined properties.

1.2.1 Values in Property Files

All properties in Oracle GoldenGate Application Adapter property files are of the form:

property.name=value 

The value may be single or comma-delimited strings, an integer, or a boolean value.

1.2.2 Location of Property Files

Sample Oracle GoldenGate Application Adapter property files are installed to the AdapterExamples subdirectory of the installation directory. These files should be changed as needed and then moved to the dirprm subdirectory.

You must specify each of these property files through parameters or environmental variables as explained below. These settings allow you to change the name or location, but it is recommended that you do not change them unless there is an unavoidable requirement.

The following sample files are included:

  • ffwriter.properties

    This stores the properties for the file writer. It is set with the CUSEREXIT Extract parameter.

  • jmsvam.properties

    This stores properties for the JMS message capture VAM. This is set with the Extract VAM parameter.

  • javaue.properties

    This stores properties for the combined user exit and Java application used for message delivery. It is set through the environmental variable:

    SETENV (GGS_USEREXIT_CONF = "dirprm/javaue.properties")
    

    Optionally, the java application properties and native user exit library properties can be in separate files. To do this set GGS_USEREXIT_CONF to the user exit property file and GGS_JAVAUSEREXIT_CONF to the Java application properties fie.

1.2.3 Using Comments in the Property File

Comments can be entered in the properties file with the # prefix at the beginning of the line. For example:

# This is a property comment 
some.property=value 

Properties themselves can also be commented. This allows testing configurations without losing previous property settings.

1.2.4 Variables in Property Names

Some properties have a variable in the property name. This allows identification of properties that are to be applied only in certain instances.

For example, you can declare more than one file writer using goldengate.flatfilewriter.writers property and then use the name of the file writer to set the properties differently:

  1. Declare two file writers named writer and writer2:
    goldengate.flatfilewriter.writers=writer,writer2 
    
  2. Specify the properties for each of the file writers:
    writer.mode=dsv 
    writer.files.onepertable=true
    writer2.mode=ldv 
    writer2.files.onpertable=false
    

1.3 Oracle GoldenGate Documentation

For information on installing and configuring the core Oracle GoldenGate software for use with the Oracle GoldenGate File Writer or Java adapters, see the Oracle GoldenGate documentation:

  • Installation and Setup guides: There is one such guide for each database that is supported by Oracle GoldenGate for Mainframe. It contains system requirements, pre-installation and post-installation procedures, installation instructions, and other system-specific information for installing the Oracle GoldenGate for Mainframe replication solution.

  • : Explains how to plan for, configure, and implement the Oracle GoldenGate for Mainframe replication solution on the Windows and UNIX platforms.

  • : Contains detailed information about Oracle GoldenGate for Mainframe parameters, commands, and functions for the Windows and UNIX platforms.