Skip Headers

Oracle® Application Developer's Guide - XML 10g (9.0.4) Part Number B12099-01 |
Home | Contents | Index

# 16
How Oracle Exchange Uses XML

This chapter contains the following sections:

- Oracle Exchange and XML

- Stored Transactions

- Pass Through Transactions

- XML Delivery Formats

- E-Business Solution Architecture

- ATP (Availability to Promise) for Oracle Exchange

- XML Messaging Services

## Oracle Exchange and XML

Many Oracle Exchange transactions can be conducted in XML format, if you choose to do so. These transactions include the following:

- Purchase Orders (POs) inbound. POs outbound are not stored on Oracle Exchange.

- Service Orders (SOs) in and outbound

- PO acknowledgments

- SO acknowledgments

- Advance Shipment Notices (ASNs)

- Invoices

You can send and receive documents in XML format through Oracle Exchange using a communication method, such as HTTP with Web methods, or SMTP (e-mail). Oracle Exchange currently supports two transaction models:

- Stored Transactions. In this transaction model, transactions are mapped and stored on Oracle Exchange.

- Pass Through Transactions. In the second transaction model, Oracle Exchange acts as a mapping and routing hub for documents between suppliers and buyers.

#### Outbound or Inbound Transactions

Transactions in Oracle Exchange are also labeled as "outbound" or "inbound", relative to Oracle Exchange.

- Outbound. Any document sent from Oracle Exchange to a supplier or buyer is called an "outbound" transaction.

- Inbound. Any document generated by a supplier's or buyer's system and sent to Oracle Exchange is called an "inbound" transaction.

## Stored Transactions

All documents created in Oracle Exchange and inbound purchase orders are stored on Oracle Exchange. These XML documents are mapped and stored in the Oracle Exchange data model:

- Outbound purchase orders. When a buyer makes a catalog purchase on Oracle Exchange, Oracle Exchange will send the purchase order to the buyer via the buyer's selected communication method. Outbound purchase orders are supported in Version 1.0 and later.

- Outbound purchase orders from auctions. When awarding a Buyer's Auction, the buyer can generate one or more purchase orders for auction items (one purchase order for each supplier to whom auction business was awarded). Oracle Exchange will send the purchase order(s) to the buyer via the buyer's selected communication method. Outbound purchase orders from auctions are supported in Version 5.2 and later.

- Inbound purchase orders. Purchase orders generated by the buyer's system and sent to Oracle Exchange are called inbound purchase orders. Oracle Exchange will forward the inbound purchase order from the buyer to the supplier via the supplier's selected communication method. Inbound purchase orders are supported in Version 5.2 and later.

- Outbound sales orders. When a buyer makes a purchase from a supplier's catalog, Oracle Exchange will send the sales order to the supplier via the supplier's selected communication method. Outbound sales orders are supported in Version 1.0 and later.

- Outbound purchase order acknowledgments. After a supplier has acknowledged a purchase order, Oracle Exchange will update the status of the purchase order and forward the purchase order acknowledgment from the supplier to the buyer via the buyer's selected communication method. Outbound purchase order acknowledgments are supported in Version 1.0 and later.

- Inbound purchase order acknowledgments. Inbound purchase order acknowledgments are generated by the supplier's system and sent to Oracle Exchange. Oracle Exchange will forward the inbound purchase order acknowledgment from the supplier to the buyer via the buyer's selected communication method. Inbound purchase order acknowledgments are supported in Version 5.2 and later.

## Pass Through Transactions

Oracle Exchange acts as a document routing hub for the following transactions. All of the incoming XML documents are mapped and forwarded.

- Inbound advance shipment Notices (ASNs). The supplier generates an advance shipment notice to inform the buyer about the shipment. ASNs are supported in Oracle Exchange Release 5.2 and later.

- Outbound advance shipment notices. Oracle Exchange forwards the supplier's inbound advance shipment notice to the buyer. Outbound ASNs are supported in Version 5.2 and later.

- Inbound invoices. The supplier generates an invoice against a purchase order and sends it to Oracle Exchange. Inbound invoices are supported in Oracle Exchange Release 5.2 and later.

- Outbound invoices. Oracle Exchange forwards the supplier's inbound invoice to the buyer via the buyer's selected communication method. Outbound invoices are supported in Oracle Exchange Release 5.2 and later.

Buyers and suppliers must set up their system infrastructure to send and receive XML documents through Oracle Exchange.

## XML Delivery Formats

Oracle Exchange uses the Open Applications Group (OAG) Extensible Markup Language (XML) to transfer documents. XML is a universal format for structured documents and data (such as spreadsheets, address books, and financial transactions) on the Web. OAG is an independent standards body focused on best practices and process-based XML content for e-Business and application integration.

OAG XML is one particular "flavor" of the XML format. The OAG XML standard is an open standard for defining and transmitting business transactions using XML. Oracle Exchange uses the OAG XML format in an effort to standardize XML transactions by subscribing to the industry consensus-based XML framework for business software application interoperability.

See Also: http://www.openapplications.org, for more information about OAG.

## E-Business Solution Architecture

Oracle Exchange enables you to use one of the following implementations:

- OMB (Oracle Message Broker) plus adapters

- webMethods

A webMethods implementation is described in "ATP (Availability to Promise) for Oracle Exchange".

## ATP (Availability to Promise) for Oracle Exchange

Availability to Promise (ATP) functionality allows buyers in exchanges to obtain availability information of products. The request from the buyer is sent as an XML document through a webMethods B2B server to the supplier. The supplier then processes the request and sends the necessary information back to the buyer as an XML document.

ATP is implemented using a combination of Java and webMethods on the following four-tier client-server architecture.

Browser (Client) <--> Exchange Server <--> webMethods B2B Server <--> Supplier Server

The Java classes:

- `ATPDataService.java`

- `ATPItem.java`

- `ATPRecord.java`

- `ATPService.java`

- `ATPSupplierInfo.java`

- `ATPThreadService.java`*

- `BuildXML.java`

*ATPThreadService.java is generated by webMethods.

### The webMethods Services

ATP Package includes:

         ATPRequest Interface
             ---> ATPThreadService (Java Service)
             ---> httpPost (Flow Service)
             ---> httpTimer (Flow Service)

### Exchange - Supplier XML

The following is the XML document that is sent from Exchange to supplier:

    Control Section:
         Sender: Supplier information is available in this section.
         Logical Id: is the supplier Id.
         Auth Id: is the supplier name.
    Data Section:
         User Area:
         Name1: Exchange Id.
         Name2: Exchange Name.

    <?xml version = '1.0' standalone = 'no'?>
    <GET_PRODAVAIL_002>
       <CNTROLAREA>
          <BSR>
             <VERB>
                <![CDATA[GET]]>
             </VERB>
             <NOUN>
                <![CDATA[PRODAVAIL]]>
             </NOUN>
             <REVISION>
                <![CDATA[002]]>
             </REVISION>
          </BSR>
          <SENDER>
             <LOGICALID>
                <![CDATA[8821]]>
             </LOGICALID>
             <COMPONENT>
                <![CDATA[SALES]]>
             </COMPONENT>
             <TASK>
                <![CDATA[ATP]]>
             </TASK>
             <REFERENCEID>
                <![CDATA[786957]]>
             </REFERENCEID>
             <CONFIRMATION>
                <![CDATA[1]]>
             </CONFIRMATION>
             <LANGUAGE>
                <![CDATA[EN]]>
             </LANGUAGE>
             <CODEPAGE>
                <![CDATA[CPXML]]>
             </CODEPAGE>
             <AUTHID>
                <![CDATA[CHRIS]]>
             </AUTHID>
          </SENDER>
          <DATETIME qualifer='CREATION'>
             <YEAR>
                <![CDATA[1999]]>
             </YEAR>
             <MONTH>
                <![CDATA[01]]>
             </MONTH>
             <DAY>
                <![CDATA[01]]>
             </DAY>
             <HOUR>
                <![CDATA[00]]>
             </HOUR>
             <MINUTE>
                <![CDATA[00]]>
             </MINUTE>
             <SECOND>
                <![CDATA[00]]>
             </SECOND>
             <SUBSECOND>
                <![CDATA[0000]]>
             </SUBSECOND>
             <TIMEZONE>
                <![CDATA[-0600]]>
             </TIMEZONE>
          </DATETIME>
       </CNTROLAREA>
       <DATAAREA>
          <GET_PRODAVAIL>
             <PRODAVAIL returndata='1'>
                <DATETIME qualifer='REQUIRED'>
                   <YEAR>
                      <![CDATA[2000]]>
                   </YEAR>
                   <MONTH>
                      <![CDATA[6]]>
                   </MONTH>
                   <DAY>
                      <![CDATA[6]]>
                   </DAY>
                   <HOUR>
                      <![CDATA[15]]>
                   </HOUR>
                   <MINUTE>
                      <![CDATA[32]]>
                   </MINUTE>
                   <SECOND>
                      <![CDATA[21]]>
                   </SECOND>
                   <SUBSECOND>
                      <![CDATA[0000]]>
                   </SUBSECOND>
                   <TIMEZONE>
                      <![CDATA[-8]]>
                   </TIMEZONE>
                </DATETIME>
                <QUANTITY qualifer='ORDERED'>
                   <VALUE>
                      <![CDATA[1]]>
                   </VALUE>
                   <NUMOFDEC>
                      <![CDATA[0]]>
                   </NUMOFDEC>
                   <SIGN>
                      <![CDATA[+]]>
                   </SIGN>
                   <UOM>
                      <![CDATA[Each]]>
                   </UOM>
                </QUANTITY>
                <ITEM>
                   <![CDATA[652EGBA002]]>
                </ITEM>
                <SITELEVEL index='1'>
                   <![CDATA[200]]>
                </SITELEVEL>
                <USERAREA>
    <NAME index='1'>
      <![CDATA[2]]>
    	</NAME>
    <NAME index='2'>
      <![CDATA[auto-xchange]]>
    	</NAME>
                </USERAREA>
             </PRODAVAIL>
          </GET_PRODAVAIL>
       </DATAAREA>
    </GET_PRODAVAIL_002>

## XML Messaging Services

Oracle can send and receive key OAG compliant XML documents with other leading ERP vendors using XML Messaging Services.

Oracle XML Messaging Services is a tool that enables the production and consumption of valid, well-formed XML messages between Oracle e-Business suite and trading partners. XML Messaging Services enables application interoperability and integration supporting enterprise integration requirements driven by Business-to-Business (B2B) and Application to Application (A2A) integration requirements. XML Messaging Services is the core technology used for sending and receiving OAG compliant XML documents to trading partners in Oracle Exchange.

XML Messaging Services features include the following:

- Provides a single, consistent XML-based application integration tool

- Provides a repository based, design time user interface for message mapping and creation and a run-time engine for message processing

- Supports event driven message processing to parallel enterprise and trading partner business processes

- Supports an open, standards independent message development approach

- Provides pre-built XML messages conforming to the OAGI specifications

- Provides message validation based on a specified DTD, file, or XML Schema

- Supports rule-based exception processing

- Integration to Oracle Advanced Queueing (AQ) for placing outgoing and extracting incoming messages

### XML Message Designer and Runtime Execution Engine

The Message Designer is a Java user interface that allows quick and easy creation of XML Messaging Maps which can be loaded into the XML Messaging Services repository.

### Generating XML that Conforms to New Schema

You can use XSQL Servlet to produce an XML document with a structure which reflects your database schema. As you define or adopt XML schemas for various categories of data (such as timeseries ML, News ML, FpML) you also need to be able to generate XML that conforms to these schemas.

How can you generate standard XML industry schemas?

You can use the following methods to help you generate XML industry schemas:

- XML Messaging Services. This is part of Oracle Exchange and is not a stand alone component.

- XSLT stylesheets. These are useful for structural transformation, but not so good for content, such as unique ids, xrefs, and so on. Various tools allow you to write stylesheets, but they are all not much more than enhanced editors. Generation, repositories, and so on are not readily available.

- Specialized transformation tools, such as Mercator and Constellar. These costly tools have drag and drop capability and support wizard-based development.

| Copyright © 2001, 2003 Oracle Corporation. All Rights Reserved. |
Home | Contents | Index