Introducing Trading Partner Integration

     Previous  Next    Open TOC in new window  Open Index in new window  View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Introducing ebXML Solutions

This topic provides an introduction to implementing ebXML solutions with Oracle WebLogic Integration. It contains the following sections:

This topic focuses on information that is relevant to ebXML solutions only. Before you begin, be sure to read the Introduction to learn basic concepts for integrating trading partners using Oracle WebLogic Integration. In addition, for a hands-on walkthrough of building example ebXML solutions, see “Tutorial: Building ebXML Solutions” in Tutorials for Trading Partner Integration.

 


About ebXML Solutions

An ebXML solution is any Oracle WebLogic Integration solution that involves exchanging business messages with trading partners using the ebXML business protocol. This topic describes ebXML and how it is supported in WLI. It contains the following sections:

About ebXML

The ebXML business protocol is sponsored by UN/CEFACT and OASIS. The ebXML Web site (http://www.ebxml.org) describes ebXML as “a modular suite of specifications that enables enterprises of any size and in any geographical location to conduct business over the Internet. Using ebXML, companies now have a standard method to exchange business messages, conduct trading relationships, communicate data in common terms and define and register business processes.”

ebXML Specifications

Oracle WebLogic Integration supports the following ebXML specifications:

These specification defines the message envelope and header document schema used to transfer ebXML messages with a communication protocol such as HTTP. They provide a set of layered extensions to the base Simple Object Access Protocol (SOAP) and SOAP Messages with Attachments specifications. The ebXML Message Service provides security and reliability features that are not provided in the specifications for SOAP and SOAP Messages with Attachments. For more information, see ebXML specifications page on the ebXML web site.

SOAP Specifications

Information about SOAP, including the following documents, can be found at the World Wide Web Consortium (W3C) Web site (http://www.w3c.org):

ebXML Support in Oracle WebLogic Integration

This topic describes supported and unsupported ebXML features in this release of Oracle WebLogic Integration.

Supported ebXML 1.0 and 2.0 Features

Oracle WebLogic Integration supports the following ebXML 1.0 and ebXML 2.0 features:

Table 2-1 Oracle WebLogic Integration Support for ebXML 1.0 and 2.0 Features 
Feature
Support
Packaging
For ebXML 1.0 and 2.0—SOAP, SOAP headers, and attachments
Security
  • Transport-level security: HTTP/S
  • Message-level security: digital signatures (XML DSig) for protection of the entire message from message tampering (ebXML 1.0 and 2.0).
For more information, see Trading Partner Integration Security.
Reliable Messaging
  • ebXML 1.0: Best effort, and Once and only once
  • ebXML 2.0: At least once, At most once, Best effort, and Once and only once
For more information, see Reliable Messaging.
Clustering, High Availability, and Recovery
For ebXML 1.0 and 2.0

Unsupported ebXML 2.0 Features

This release of Oracle WebLogic Integration does not support certain optional features of ebXML2.0, including:

This release does not provide XML DSIG at each payload level of an ebXML message.

 


ebXML Concepts

This topic describes ebXML concepts that you need to understand before implementing ebXML business processes in Oracle WebLogic Integration. It contains the following sections:

ebXML Protocol Layer

The ebXML protocol layer provides the ability to send and receive messages via the Internet according to the ebXML Message Service specifications for transport, message packaging, and security. The ebXML 1.0 and 2.0 message service specifications are independent of the communication protocol used. Oracle WebLogic Integration supports the HTTP(S) communication protocol.

ebXML Business Messages

A business message is the basic unit of communication between trading partners. Business messages are exchanged as part of a conversation. The roles in a conversation are implemented by business processes, which choreograph the exchange of business messages.

Diagram of an ebXML Business Message

The following figure represents the structure of a business message exchanged in a conversation based on the ebXML business protocol.

Figure 2-1 ebXML Business Message

ebXML Business Message

An ebXML business message contains one XML business document and one or more attachments. An ebXML message is a communication protocol-independent MIME/Multipart message envelope, referred to as a message package. All message packages are structured in compliance with the SOAP Messages with Attachments specification.

Logical MIME Parts of an ebXML Business Message

The message package shown in the preceding figure illustrates the following logical MIME parts:

Oracle WebLogic Integration provides a mechanism in Oracle Workshop for WebLogic business processes for retrieving the ebXML message envelope that relates to the Header container from incoming business messages. For more information, see @com.bea.wli.jpd.EbXML and @EBXMLControl.EbXML in the Java Docs for Oracle WebLogic Integration Classes.

Message Attachments

An ebXML message can have any combination of payloads. The payloads can be all binary, all XML, or a mixture of both. Any payload is sent as a MIME attachment to the SOAP message—the SOAP body is not used to carry the payload.

Oracle WebLogic Integration provides a MessageAttachment[] data type that business processes can use to retrieve payloads from an ebXML message, particularly when payloads consist of mixed data types or when the number of payloads or the order of payloads is not known in advance. It provides methods for determining the content of a payload (isXmlObject and isRawData) and retrieving the contents of the payload (getXmlObject and getRawData) as untyped XML data (XmlObject data type) or non-XML data (RawData data type). To learn about working with MessageAttachment objects, see Using Message Attachments.

Reliable Messaging

The ebXML business protocol supports reliable messaging, an optional but important capability that allows you to configure different levels of quality of delivery service. Reliable messaging has a reliability versus performance trade-off, as increasing the level of guarantee increases run-time requirements on system resources. Configure reliable messaging in the Oracle WebLogic Integration Administration Console, as described in “Defining an ebXML 1.0 or 2.0 Binding” in Trading Partner Management in Using Oracle WebLogic Integration Administration Console Help.

Of the eight qualities of service policies defined in the ebXML 2.0 Specification, Oracle WebLogic Integration supports the following four (non-multihop) policies, which determine how acknowledgements and duplicate messages are handled:

Table 2-2 Supported Reliable Messaging Policies 
Policy
Description
Best Effort (ebXML 1.0 and 2.0)
Best effort. No reliable messaging (no acknowledgement or duplicate elimination).
Once and Only Once (ebXML 1.0 and 2.0)
Requires acknowledgement and duplicate elimination. If a message is not acknowledged, it is resent. If a duplicate message is received, it is ignored. If this policy is selected, you can specify:
  • Number of Retries—Number of times Oracle WebLogic Integration resends a message in specific situations, such as timeouts, network failures, and so on.
  • Interval—Number of seconds that Oracle WebLogic Integration waits before trying to resend a message.
  • Persistence Duration—(Optional) Amount of time the message will be kept in the repository. After this time, the message will be deleted and any subsequent message sent with same ID will not be considered a duplicate. If specified, the configured persistence duration must be greater than the internally set TimeToLive, which is calculated as:
  • ( ( Retries +1) * RetryInterval) < TimeToLive < Persistence Duration

Atleast Once
(ebXML 2.0 only)
Requires acknowledgement, but not duplicate elimination. If selected, you can specify the number of retries and persistence duration.
Atmost Once
(ebXML 2.0 only)
Requires duplicate elimination, but not acknowledgement.

 


ebXML Business Processes

This topic describes Oracle Workshop for WebLogic business processes that implement ebXML conversations. It contains the following sections:

Guidelines for Building ebXML Business Processes

When designing business processes for ebXML solutions, consider the following guidelines:

ebXML Initiator Business Processes

In Oracle WebLogic Integration, initiator business process use an ebXML control to enable Oracle Workshop for WebLogic business processes to exchange business messages and data with trading partners via ebXML. You use ebXML controls only in initiator business processes to manage the exchange of ebXML business messages with participants. The ebXML control provides methods for sending business messages, acknowledgements, and errors, and it provides callback methods to handle responses from participants.

For detailed information about using the ebXML control in business processes, see the following topics:

For an introduction to initiator business processes, see Initiator and Participant Business Processes.

ebXML Participant Business Processes

In Oracle WebLogic Integration, you can easily create a new ebXML participant business process using a Oracle Workshop for WebLogic template, the ebXML participant business process file. This template provides a head start for building public participant business processes for ebXML conversations. Although this file is not required to build ebXML participant business processes, it includes the nodes and business process annotations needed to integrate easily with ebXML initiator business processes, as well as standard choreography patterns such as acknowledgements, time-outs, retries, and errors. For information about using participant business processes, see Building ebXML Participant Business Processes and @com.bea.wli.jpd.EbXML in the Javadoc for Oracle WebLogic Integration Classes. For an introduction to participant business processes, see Initiator and Participant Business Processes.

 


Tasks for Implementing an ebXML Solution

This topic provides a high-level, end-to-end overview of the tasks involved with implementing an ebXML solution. It includes the following topics:

Note: This topic describes, in a general way, the tasks that are typically involved in implementing an ebXML solution. The process of implementing ebXML solutions is iterative, and it can vary in scope and sequence depending on your unique business requirements and environment.

Before You Begin

Before you begin implementing an ebXML solution, we recommend that you review the following documents:

Planning the ebXML Solution

Once you have decided to use ebXML as the business protocol for your trading partner integration (as described in Phase 1: Plan the Solution), you need to plan the solution by determining certain factors in your implementation:

The Tutorials for Trading Partner Integration provide examples of different ebXML solutions. For more information, see Tutorial: Building ebXML Solutions.

Building the ebXML Solution

After planning your ebXML solution, you build the business processes that implement the design patterns you are using. For more information about design-time tools, see Phase 2: Design, Build, and Test the Solution. For conceptual information about ebXML business processes, see ebXML Business Processes.

Tutorial: Building ebXML Solutions provides a detailed examples of the typical tasks required to build an ebXML solution. This tutorial is available at WebLogic Integration Sample Code

To build an ebXML solution, you would typically complete the following steps:

  1. Using the Oracle WebLogic Configuration Wizard, create a new domain based on the Oracle WebLogic Integration domain template. For instructions, see Creating Oracle WebLogic Domains Using the Configuration Wizard in the Oracle WebLogic documentation.
  2. From the Tutorials for Trading Partner Integration, copy the example implementation associated with the design pattern that you want to use, if available.
  3. Change the ebXML annotations for the new business processes:
    • For initiator business processes, you change the serviceName attribute (and others if needed) in the @EBXMLControl.EbXML
    • For participant business processes, you change the ebxmlServiceName attribute (and others if needed) in the @com.bea.wli.jpd.EbXML.
  4. Rename the JPD and files and change the names of other components to be more descriptive of the new business process implementation, if you want.
    • For more information about modifying the ebXML control in initiator business processes, see ebXML Control in the Javadoc for Oracle WebLogic Integration Classes.
    • For more information about building ebXML participant business processes, see Building ebXML Participant Business Processes in the Guide to Building Business Processes.
  5. Ensure that the ebXML Service name is the same for both the initiator and participant business processes.
  6. For non-default Action mode, ensure that method names are the same for both the initiator and participant business processes.
  7. Change the implementation of any back-end integration as needed.
  8. Make any other changes to the business processes as needed.
  9. Test the ebXML solution using the default TPM repository configuration (described in Default TPM Repository Settings) and security settings (described in Default Domain Security Configuration).

Deploying the ebXML Solution

Once you have built and tested your ebXML solution, you deploy the solution in a production environment. For more information about deployment tools, see Phase 3: Deploy the Solution. For detailed information about deploying Oracle WebLogic Integration solutions, see Deploying Oracle WebLogic Integration Solutions.

To deploy an ebXML solution, you would typically complete the following steps:

  1. If necessary, using the Oracle WebLogic Configuration Wizard, create a new domain based on the Oracle WebLogic Integration domain template. For instructions, see Creating Oracle WebLogic Domains Using the Configuration Wizard in the Oracle WebLogic documentation.
  2. Start Oracle WebLogic Server in production mode.
  3. Using the Oracle WebLogic Integration Administration Console, complete the following tasks:
  4. Note: If you have already defined trading partner information in your development environment, you can export this information to an external file, and then import this file into the production environment. For more information, see Importing and Exporting Data in Trading Partner Management in Using Oracle WebLogic Integration Administration Console Help.
    1. Add trading partners to the TPM repository, including basic profile information, such as trading partner IDs. For instructions, see “Adding Trading Partner Profiles” in Trading Partner Management.
    2. For each trading partner, define the protocol bindings (including ebXML version—1.0 or 2.0—and other settings) to be used for message exchanges with this trading partner. For more information, see “Defining Protocol Bindings” in Trading Partner Management.
    3. For protocol bindings, you can (optionally) define signature transforms, as described in Configuring Signature Transforms for ebXML Bindings in Adding Protocol Bindings to a Trading partner in Trading Partner Management.
    4. Define the services that you will use in your deployment. For more information, see Adding Services in Trading Partner Management.
    5. For each trading partner, define the service profiles (protocol bindings and URL endpoints for local and remote trading partners) associated with each service. For more information, see Adding Services in Trading Partner Management.
  5. Using the Oracle WebLogic Server Administration Console and Oracle WebLogic Integration Administration Console, implement security for your deployment, as described in Implementing Security for Trading Partner Integration.
  6. Configure your domain (clustering, high availability, load balancing, fail-over, and so on) as needed for your production environment. For more information, see Deploying Oracle WebLogic Integration Solutions.
  7. Deploy the application and other Oracle WebLogic Integration resources associated with your ebXML solution. For more information, see Deploying Oracle WebLogic Integration Solutions

Managing the ebXML Solution

Once you have deployed your ebXML solution, you would typically monitor run-time performance, message volumes, resource utilization, and other factors to ensure optimum operation on your solution. For more information about monitoring tools, see Phase 4: Administer and Tune the Solution.

For instructions on monitoring trading partner integration resources, see Viewing Statistics and Monitoring Messages in Trading Partner Management in Using Oracle WebLogic Integration Administration Console Help.


  Back to Top       Previous  Next