Oracle XML Gateway Overview

This chapter covers the following topics:

Overview of XML Gateway

XML Standards

Many standards bodies (for example, OAG, Rosettanet, SOAP, and iFX) exist with published Document Type Definitions (DTDs). Some standards are strong at managing the message content while others excel at managing both the message content and its related processes.

As a provider of broad-based business application solutions to support all industries, Oracle XML Gateway supports all DTD based XML standards. The majority of messages delivered with the Oracle E-Business Suite are mapped using the Open Application Group (OAG) standard. Any prebuilt message can be remapped to any standard of choice using the XML Gateway Message Designer.

XML Gateway Introduction

Oracle XML Gateway is a set of services that allows easy integration with the Oracle E-Business Suite to support XML messaging.

The Oracle E-Business Suite utilizes the Oracle Workflow Business Event System to support event-based XML message creation and consumption.

Oracle XML Gateway consumes events raised by the Oracle E-Business Suite and subscribes to inbound events for processing. Oracle XML Gateway uses the message propagation feature of Oracle Advanced Queuing to integrate with the Oracle Transport Agent to deliver messages to and receive messages from business partners.

Oracle XML Gateway supports both Business-to-Business (B2B) and Application-to-Application (A2A) initiatives. B2B initiatives include communicating business documents and participating in industry exchanges. An example of an A2A initiative is data integration with legacy and disparate systems.

With Oracle XML Gateway services, you are assured consistent XML message implementation when integrating with the Oracle E-Business Suite, thereby lowering integration costs and expediting message implementation while supporting corporate e-business initiatives.

XML Gateway Features

The Oracle XML Gateway offers the following features and integrations:

XML Gateway Architecture

The following diagram shows an overview of the XML Gateway architecture:

the picture is described in the document text

The services supported by Oracle XML Gateway are grouped into four functional areas as follows:

The following figure shows the detailed flow of an XML message through XML Gateway:

the picture is described in the document text

Message Designer

The XML Gateway Message Designer is a wizard-guided, repository-based tool used to define message maps. A message map represents the relationship between the source and target data elements.

Use the XML Gateway Message Designer to perform the following functions:

Define Data Source and Data Target

Each message map consists of a data source and data target representing where the data is coming from and where it is mapped to. The XML Gateway Message Designer supports the following combinations of source and target data definitions:

RDBMS-based data definitions can be based on database tables, database views, Application Open Interface tables, or Application APIs.

XML-based data definitions can be based on an XML Document Type Definition or a production XML message. Using a production XML message as a data source or data target is the recommended choice if you are migrating from an existing implementation or legacy system (where XML messaging is supported) to the Oracle E-Business Suite.

Map Source Data Structure to Target Data Structure

Once the data source and data target are defined, use the Message Designer to relate the source data structure to the target data structure.

This process is especially important if the data structure of the business document is different from the data structure of the application data model. For example, if an inbound business document is represented in three levels but the application data model is represented in two levels, the data in the business document must be collapsed to accommodate the application data model. The incoming data is expanded if the opposite case occurs in which the inbound business document is represented in two levels but the application data model is represented in three levels.

The XML Gateway Message Designer supports both expanding and collapsing hierarchies to ensure that data can be retrieved from or populated into the Oracle E-Business Suite data model.

Map Source Data Element to Target Data Element

Once the data source, data target, and source-to-target hierarchy are defined, use the Message Designer to map the source data elements to the target data elements.

The Message Designer user interface displays the data source and the data target in adjacent windows. A simple drag and drop between the source and target data elements creates a map relationship. The source data element name is noted next to the target data element name to identify the map relationship.

Identify Data Transformation and Process Control Functions

As part of the element mapping process, use the Message Designer to identify data transformation and process control functions. These functions can be defined at the source or target as follows:

The function may be qualified by a condition. If no condition is defined, the function will always be applied. See XML Gateway Supported Actions for a list of the functions supported by the XML Gateway.

The common data transformation functions involve math functions and string manipulation in addition to conversions between the Oracle and OAG formats representing date, operating amount, quantity, and amount values.

The common process control functions involve calling procedures or database functions to extend the integration with the Oracle E-Business Suite. Other common process control functions allow you to inquire on the status of a transaction and manage the process flow based on the status. For serious errors, the process may be aborted with error notifications sent to the XML Gateway system administrator or Trading Partner contact.

Once the message map is created, it is loaded along with its associated DTDs into the XML Gateway repository for use by the Execution Engine to create outbound or to consume inbound XML messages.

XML Gateway Setup

To implement a message with a trading partner, use the XML Gateway setup features to define the Trading Partner or hub, code conversion values, and internal-to-external transaction name cross-references. In addition, you can identify the XML Gateway system administrator to notify for system or process errors.

Define Trading Partner or Hub

E-Business may be conducted directly with a business partner, commonly known as a trading partner, or via a hub, such as Oracle Exchange, where many buyers and sellers converge to conduct electronic commerce.

With Oracle XML Gateway, you can define the hub or the individual business partner as a trading partner. If you define the hub as the trading partner, you can identify all the buyers and sellers who are conducting business on the hub as Trading Partners to the hub.

To support multiple organizations, XML Gateway allows you to set up Trading Partners or query data for more than one operating unit associated with your responsibility. During the Trading Partner setup, the selections of Trading Partner types, Trading Partners, and Trading Partner sites are all restricted to the associated operating unit which is controlled by the security profile linked to your logon responsibility.

Included in the Trading Partner or hub definition are the following:

Define Code Conversion

With Oracle XML Gateway, you can cross-reference Oracle codes to codes that are meaningful to your recipient. Conversely, you can cross-reference codes you receive from your partner to codes that are meaningful to your application. Common examples of Oracle E-Business Suite codes requiring code conversion are units of measure and currency code.

Code conversion values can be defined to be applied universally for all Trading Partners and all messages. Additionally, code conversion values can be defined for a specific XML standard or specific to a Trading Partner.

Define Transactions

Use Oracle XML Gateway to define a cross-reference between the Oracle transaction name and the external transaction name. The external transaction name will be based on what is meaningful per the XML standard used by the recipient. The external transaction name will appear on the message envelope to support message transport.

Execution Engine

The XML Gateway Execution Engine is responsible for interacting with several Oracle technologies to process and transport XML messages to and from Trading Partners for B2B integration, or other information systems both within and outside the enterprise for A2A integration.

The Oracle technologies involved include the following:

Oracle Workflow Business Event System

Oracle XML Gateway leverages the Oracle Workflow Business Event System to publish and subscribe to application business events of interest to automatically trigger message creation or consumption.

Business events and event subscriptions to send outbound messages or to consume inbound messages are delivered for all Oracle prebuilt messages. The seeded event subscriptions can be configured during implementation to perform activities to address specific business requirements.

Oracle E-Business Suite

The XML Gateway Execution Engine interfaces with the Oracle E-Business Suite via business events and event subscriptions to retrieve data from or populate data into the Oracle e-Business Suite tables.

Oracle Advanced Queuing

The XML Gateway Execution Engine interfaces with Oracle Advanced Queuing to stage outbound XML messages or receive inbound XML messages for processing.

Oracle Workflow

The XML Gateway Execution Engine interfaces with Oracle Workflow to actively notify the XML Gateway system administrator regarding system or process errors, or the Trading Partner contact for data errors.

The XML Gateway system administrator has the option to "retry" failed outbound processes, or "reprocess" failed inbound processes.

XML Gateway Execution Engine Internal Functions:

Internal to the XML Gateway Execution Engine are the following functions:

Validate Trading Partner or Hub

Verify that the Trading Partner is defined and the required document is enabled.

Retrieve Message Map from Repository

Retrieve the message map associated with the Trading Partner and required document.

Retrieve and Populate Data to and from the Oracle E-Business Suite

For outbound messages, gather the application data from the Oracle E-Business Suite using the information on the message map.

For inbound messages, process the data into the Oracle E-Business Suite using the information on the message map.

Apply Data Transformations or Process Control Functions

Apply code conversions, data transformations, and process control functions defined on the message map.

Validate Message Using the XML Parser

For outbound message, the XML Parser is used to validate the newly created message to ensure that it is well-formed and valid. Poorly formed or invalid messages will not be enqueued for delivery. An error notification is sent to the XML Gateway system administrator.

Inbound messages dequeued from the inbound queue are validated using the XML Parser to ensure that it is well-formed and valid. Poorly formed or invalid messages will not be processed by the XML Gateway Execution Engine. An error notification is sent to the Trading Partner contact.

Enqueue and Dequeue XML Messages

Outbound messages are enqueued for delivery by the transport agent. Inbound messages are dequeued for processing by the XML Gateway Execution Engine.

Send and Receive Message Confirmations

An outbound confirmation is sent in response to an inbound request if the outbound confirmation is enabled for the Trading Partner.

An inbound confirmation is received in response to an outbound request if the inbound confirmation is enabled for the Trading Partner.

Direct Interaction with Execution Engine for A2A Integration

Seeded Workflow functions are provided for use in Workflow processes to interact directly with the Execution Engine to generate outbound or to consume inbound messages.

The outbound message generated by the XML Gateway Execution Engine is made available to the downstream Workflow activity for processing. The Execution Engine consumes the inbound message passed to it by a Workflow process.

The XML Gateway Execution Engine begins processing once it detects the Workflow process to send or generate an XML message or that an inbound message has arrived on the inbound queue.

Oracle Transport Agent

The Oracle Transport Agent interfaces with Oracle Advanced Queuing to deliver outbound messages and to receive inbound messages.

The Transport Agent server is a Java-based servlet that uses the Transport Agent Messaging Protocol to support the following:

Web Services

Oracle XML Gateway uses Web Services Description Language (WSDL) to inform trading partners how to communicate with the Oracle E-Business Suite. The Suite also publishes the WSDL to a URL for customers to access. Partners can use any third party Web service tools to call for Web services.

All inbound Web service messages are received through the Simple Object Accessed Protocol (SOAP) servlet running under the service provider (Web Service Provider and SOA Provider). These messages are prepared as designed events before being enqueued to the SOAP agent, WF_WS_JMS_IN queue, for further processing.

JMS Queues

Java Messaging Service (JMS) is a message standard. To send JMS messages between the Oracle E-Business Suite and Trading Partners, the appropriate Protocol Type (JMS) and Protocol Address registered with the Business Event System must be identified first in the Trading Partner Setup form.

JMS providers can integrate with XML Gateway for B2B transactions using WF_JMS_IN, WF_JMS_OUT, or their own JMS queues.

For inbound transactions, this integration provides complete validation and authorization support so that XML Gateway processes only those messages that are valid and have the appropriate authorization.

For outbound transactions, this integration provides a mechanism to store the JMS queues as part of the Trading Partner setup so that the generated messages can be sent to the desired JMS queue.

XML Messages and EDI Transactions

EDI transactions and XML messages are two forms of electronic messaging based on their respective standards. EDI transactions are more batch-oriented while their XML counterpart is event-based, real-time, and tend to be based on a single transaction.

Oracle e-Commerce Gateway integrates with the Oracle E-Business Suite to extract or to import traditional EDI transactions using a flat ASCII file. A third party EDI Translator is required to map the data between the Oracle E-Business Suite and the EDI standard of choice such as ASC X12 or EDIFACT.

Oracle XML Gateway integrates with the Oracle E-Business Suite to create or to consume XML messages based on application business events. Oracle XML Gateway creates and consumes standards-compliant XML messages without the use of a translator.

Conclusion

Oracle XML Gateway is the XML message enabler for the Oracle E-Business Suite. It provides consistent XML message implementation within and outside the enterprise in support of A2A and B2B messaging initiatives.

Oracle XML Gateway leverages the publish and subscribe features of the Oracle Workflow Business Event System to automate message creation and consumption in addition to using Oracle Workflow to link key business processes. This combination enables seamless collaboration, coordination, and communication of business-critical data throughout the supply chain.