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 RosettaNet Solutions

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

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

 


About RosettaNet Solutions

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

About RosettaNet

RosettaNet is a business protocol that enables enterprises to conduct business over the Internet. The RosettaNet Consortium ( http://www.rosettanet.org) is an independent, nonprofit consortium of major information technology, electronic component, and semiconductor manufacturing companies working to create and implement industry-wide, open process standards. These processes are designed to standardize the electronic business interfaces used between participating supply chain partners. The RosettaNet Implementation Framework (RNIF) specification (available at http://www.rosettanet.org) is a guideline for applications that implement RosettaNet Partner Interface Processes (PIPs). These PIPs are standardized electronic business processes used between trading partners. For a list of PIPs, see http://www.rosettanet.org.

Understanding RosettaNet

The following RosettaNet documents are necessary reading if you want to implement your own PIP using the support for RosettaNet provided by WebLogic Integration, and recommended reading if you want to fully understand the sample RosettaNet PIP implementations. These documents are available at http://www.rosettanet.org:

RosettaNet Support in WebLogic Integration

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

Supported RosettaNet 1.1 and 2.0 Features

WebLogic Integration supports the following RosettaNet 1.1 and RosettaNet 2.0 features:

Table 3-1 WebLogic Integration Support for RosettaNet 1.1 and 2.0 Features 
Feature
Supported (X=Yes)
RNIF 1.1
RNIF 2.0
Packaging
   
  • RosettaNet Objects (RNO)
X
 
  • RosettaNet Business Message (RBM) with standard multipart MIME / headers
 
X
  • Attachments
X
X
Security
   
  • Transport-level security (HTTP/S)
X
X
  • Message-level security (digital signatures) to protect messages from tampering
X
X
  • Standard S/MIME and encryption for message privacy
 
X
Message Handling
   
  • Duplicate message removal
X
X
  • Message persistence
X
X
  • High-level ACK
X
X
  • High-level retry
X
X
  • Message status returned
X
X
  • Explicit choreography.
X
X
Performance and Availability
 
  • Clustering
X
X
  • High Availability
X
X
  • Recovery
X
X

Unsupported RosettaNet Features

This release of WebLogic Integration does not support the following RNIF 2.0 features:

Table 3-2 Unsupported RosettaNet Features 
Feature
Support
Synchronous response messages
This WebLogic Integration release supports asynchronous one-action and two-action activities only. It does not support synchronous one-action and two-action activities.
Use of SMTP transport with RNIF 2.0
While strongly biased toward HTTP transport, the RNIF 2.0 is transport independent and includes documentation showing how SMTP transport might be used. This WebLogic Integration release supports HTTP and HTTPS transport but not SMTP.

 


RosettaNet Concepts

This topic describes RosettaNet concepts that you need to understand before implementing PIPs in WebLogic Integration. It contains the following sections:

RosettaNet Protocol Layer

The RosettaNet protocol layer provides the ability to send and receive messages by way of the Internet according to the RNIF 1.1 and RNIF 2.0 specifications for transport, message packaging, and security.

When a WebLogic Integration trading partner receives a RosettaNet message, the transport servlet forwards the message to the RosettaNet decoder. The RosettaNet decoder processes the protocol-specific message headers, identifies the trading partner that sent the message, and forwards the RosettaNet message to a JMS queue. When a WebLogic Integration trading partner sends a RosettaNet message, the RosettaNet encoder takes the message from the send-side JMS outbound event queue and forwards it to the transport service.

Partner Interface Processes (PIPs)

RosettaNet PIPs define the public processes in which trading partners participate while performing transactions. A PIP defines the roles, choreography, contents of business messages, and other design details for a particular RosettaNet message exchange. For example, PIP 3A2 (Query Price and Availability) defines the process that a Customer trading partner performs with a Product Supplier trading partner to get information about the price and availability of goods that the Customer wants to buy and the Product Supplier wants to sell. Trading partners participating in PIPs need to implement the public process defined by their role in the PIP, and they need to connect their internal systems, as well as their private processes and business processes, to the public process.

Public and Private Business Processes

RosettaNet business processes follow the RosettaNet design strategy of separating public and private business processes. Public business processes provide for the exchange of business messages between trading partners, while private business processes interact with internal, back-end systems. Public business processes have standardized, highly structured PIP choreographies, while private business processes are highly customized to a trading partner's internal environment. Private processes communicate with public processes via well-defined interfaces, typically based on JMS queues. For more information, see Public and Private Business Processes.

PIP Design Patterns

RosettaNet PIPs follow one of the following design patterns:

In WebLogic Integration, RosettaNet PIPs are implemented as public business processes. Because the RosettaNet PIPs follow just a few general design patterns, once you have implemented a single PIP, you can easily implement other PIPs with similar design patterns by copying the implementation and making a few changes (such as changing the business message schema definitions and business process properties).

For more information about RosettaNet design patterns and choreography, see the RosettaNet Implementation Framework Core Specification (version V02.00.01) at http://www.rosettanet.org.

Asynchronous Single-Action Activity

The asynchronous single-action (or one-action) activity design pattern involves a single action (business message) from the sender and a signal (a protocol response, such as an acknowledgement, ack-reject, or error) from the recipient back to the sender:

  1. The initiator sends a business message to the participant.
  2. Upon receiving the request business message, the participant sends a receipt acknowledgement to the initiator.

This design pattern is typical of one-way sends with acknowledgements, such as notifications from one trading partner to another. An example of this design pattern is PIP3B2 (Notify of Advance Shipment), which is described at http://www.rosettanet.org.

The following figure shows an example of how, in WebLogic Integration, public and private business processes might be involved in an asynchronous one-action collaboration.

Figure 3-1 Public and Private Business Processes in an Asynchronous One-Action Activity Design Pattern

Public and Private Business Processes in an Asynchronous One-Action Activity Design Pattern

In this sample scenario, the message flow proceeds along the following path:

  1. The initiator's private business process creates the notification document (in some internal data format) and submits it to the public business process.
  2. The initiator's public business process receives the notification document, converts it to the appropriate PIP format, and sends it to the participant trading partner.
  3. Note: For outbound and inbound messages, WebLogic Integration automatically handles the packaging of the non-payload portion of RosettaNet business messages (such as the version, content length, headers, and digital signatures), as well as transport-level security and message-level security.
  4. On the participant side, WebLogic Integration handles the process of receiving the RosettaNet business message from the initiator, validating the contents of the inbound business message, and forwarding the document to the appropriate public business process.
  5. The participant's public business process receives the notification document from the initiator and sends an acknowledgement of receipt to the initiator.
  6. The participant's public business process converts the document from the PIP format to the appropriate internal data format, and then submits the document to the private business process.

Alternatively, the private business processes on either end could handle the conversion from the private data format to the appropriate RosettaNet PIP. In addition, private and public business processes might use internal means to indicate whether or not the overall process succeeded.

Asynchronous Two-Action Activity

The asynchronous two-action activity design pattern involves two actions—a single action (business message) from the sender to the recipient, and a single action (business message) from the recipient back to the sender, and their corresponding signals (protocol responses, such as acknowledgements, ack-rejects, or errors) to each other:

  1. The initiator sends a business message request to the participant.
  2. The participant sends a receipt acknowledgement to the initiator.
  3. The participant sends a business message response to the initiator.
  4. The initiator sends a receipt acknowledgement to the participant.

This design pattern is typical of two-way, bi-directional communications between trading partners, such as a request / reply activities, that require mutual confirmation. An example of this design pattern in PIP3A4 (Request Purchase Order), which is described at http://www.rosettanet.org.

The following figure shows an example of how, in WebLogic Integration, public and private business processes might be involved in an asynchronous two-action collaboration.

Figure 3-2 Public and Private Business Processes in an Asynchronous Two-Action Activity Design Pattern

Public and Private Business Processes in an Asynchronous Two-Action Activity Design Pattern

In this sample scenario, the message flow proceeds along the following path:

  1. The initiator's private business process creates the request (in some internal data format) and submits it to the public business process.
  2. The initiator's public business process receives the request, converts it to the appropriate PIP format, and sends it to the participant trading partner.
  3. Note: For outbound and inbound messages, WebLogic Integration automatically handles the packaging of the non-payload portion of RosettaNet business messages (such as the version, content length, headers, and digital signatures), as well as transport-level security and message-level security.
  4. On the participant side, WebLogic Integration handles the process of receiving the RosettaNet business message from the initiator, validating the contents of the inbound business message, and forwarding the document to the appropriate public business process.
  5. The participant's public business process receives the request document from the initiator and sends an acknowledgement of receipt to the initiator.
  6. The participant's public business process converts the request document from the PIP format to the appropriate internal data format, and then submits the request to the private business process.
  7. The participant's private business process handles the request, creates a response in some internal format, and sends the response to the participant's public business process.
  8. The participant's public business process converts the response from the internal data format to the PIP format, and then sends the response document to the initiator.
  9. On the initiator side, WebLogic Integration handles the process of receiving the RosettaNet business message from the initiator, validating the contents of the inbound business message, and forwarding the document to the appropriate public business process.
  10. The participant's public business process receives the response document and sends an acknowledgement of receipt to the participant.
  11. The initiator's public business process converts the response document from the PIP format to the appropriate internal data format, and then submits the response to the private business process.

As with the single-action activity design pattern, the private business processes on either end could handle the conversion from the private data format to the appropriate RosettaNet PIP. In addition, private and public business processes might use internal means to indicate whether or not the overall process succeeded.

Synchronous One-Action / Two-Action Activity

RosettaNet also specifies synchronous versions of the asynchronous design patterns, in which an immediate response is required. The current release of WebLogic Integration does not support synchronous design patterns.

RosettaNet Business Messages

WebLogic Integration supports sending and receiving RosettaNet messages according to the RosettaNet Implementation Framework (RNIF) 1.1 and 2.0. A business message exchanged via the RosettaNet 1.1 protocol is called a RosettaNet Object (RNO). The business message exchanged via the RosettaNet 2.0 protocol is called a RosettaNet Business Message (RBM).

Note: In this document, we refer to both RNOs and RBMs as RosettaNet business messages.

The RNIF provides exchange protocols for implementation of the PIPs. The RNIF specifies information exchange between trading partner servers using XML, covering transport, routing and packaging, security, signals, and trading partner agreements. Some elements of RosettaNet messages are common across all RosettaNet messages, while other elements are unique to specific PIPs. To ensure that RosettaNet messages are structured and processed in a consistent manner, each PIP comes with a message guideline and XML document type definition (DTD).

Note: WebLogic Integration supports character encoding for sending messages. WebLogic Integration uses UTF-8 character encoding in all RosettaNet messages.

Components of a RosettaNet Business Message

This section describes the components of RosettaNet business messages.

RosettaNet Object (RNO) for RNIF 1.1

The following figure shows the components of a RosettaNet business message for RNIF 1.1.

Figure 3-3 Components of a RosettaNet Object (RNO) for RNIF 1.1

Components of a RosettaNet Object (RNO) for RNIF 1.1

The following table describes the components of an RNO:

Table 3-3 Components of an RNO 
Component
Description
Version
Specifies the RNIF version (1.1), in binary format.
Content Length
Length of the multi-part MIME message, in binary format.
Headers
Includes the following headers:
  • Preamble Header
  • Service Header
Content (Payload)
Includes the following components:
  • Service Content—contains either an action or a signal message.
  • Attachments—Optional. Can contain zero or more attachments, which consist of XML and non-XML (binary) data. Examples of possible attachments include Word documents, GIF images, PDF files, and so on. The information for each attachment is contained in the Service Header of the message.
Digital Signature (Optional)
Optional. Digital signature.
  • Length of the signature in binary format.
  • Signature (PKCS7) in binary format.

RosettaNet Business Message (RBM) for RNIF 2.0

The RosettaNet Implementation Framework 2.0 introduced the following notable differences in the composition of a RosettaNet Business Message (RBM):

The following figure shows the components of an RBM:

Figure 3-4 Components of a RosettaNet Business Message for RNIF 2.0

Components of a RosettaNet Business Message for RNIF 2.0

The following table describes the components of a RBM:

Table 3-4 Components of an RBM 
Component
Description
Headers
Includes the following headers:
  • Preamble Header
  • Delivery Header
  • Service Header
Payload
Includes the following components:
  • Service Content—Contains either an action or a signal message.
  • Attachments—Optional. Can contain zero or more attachments, which consist of XML and non-XML (binary) data. Examples of possible attachments include Word documents, GIF images, PDF files, and so on. The information for each attachment is contained in the Service Header of the message.

WebLogic Integration Handles the Non-Payload Portion of RosettaNet Messages

When sending and receiving RosettaNet business messages, WebLogic Integration automatically handles the non-payload portion (version, content length, headers, and digital signatures) of the business message, as well as packaging, transport-level security, and message-level security, so that WebLogic Workshop business processes can focus on Service Content and attachments.

Validation of RosettaNet Business Messages

The RosettaNet PIP definitions contain detailed validation rules for messages exchanged in the PIP. These rules are significantly more stringent than the validation expressed within an XML Document Type Definition (DTD). The required validation rules are expressed in XML schema documents (XSD), which are based on the World Wide Web Consortium (W3C) 2000 XML Schema Definitions (XSD) schema.

WebLogic Integration provides message validation services for both RNIF 1.1 and RNIF 2.0 messages. The validation performed depends on the following factors:

Configuring RosettaNet Message Validation

To configure these options in the WebLogic Integration Administration Console:

  1. Add a service for RosettaNet, as described in "Adding Services" in Trading Partner Management.
  2. Edit this service, as described in "Viewing and Changing Services" in Trading Partner Management.
  3. On the View and Edit Service Details page, click Add Defaults.
  4. Configure validation options for RosettaNet business messages.
Further Reading on RosettaNet Message Validation

For more information about RosettaNet message validation, see the following documents:

 


RosettaNet Business Processes

This topic describes WebLogic Workshop business processes that implement RosettaNet PIPs. It contains the following sections:

Guidelines for Designing RosettaNet Business Processes

The specification for each RosettaNet PIP is highly structured. It specifies roles, message choreography, business message structure, and other design details. Implementing a RosettaNet business process requires adherence to the PIP specification for that PIP role. Therefore, when designing business processes for RosettaNet solutions, consider the following guidelines:

RosettaNet Initiator Business Processes

In WebLogic Integration, initiator business processes use a RosettaNet control to enable WebLogic Workshop business processes to exchange business messages and data with trading partners via RosettaNet. You use RosettaNet controls only in initiator business processes to manage the exchange of RosettaNet business messages with participants. The RosettaNet 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 RosettaNet control in business processes, see the following topics in RosettaNet Control in the Using Integration Controls Guide:

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

RosettaNet Participant Business Processes

In WebLogic Integration, you can easily create a new RosettaNet participant business process using a WebLogic Workshop template (the RosettaNet participant business process file). This template provides a head start for building public participant business processes for RosettaNet message exchanges. Although this file is not required to build RosettaNet participant business processes, it includes the nodes and business process annotations needed to integrate easily with RosettaNet initiator business processes, as well as standard choreography patterns such as acknowledgements, time-outs, retries, and errors. For information about creating participant business processes, see:

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

 


Tasks for Implementing a RosettaNet Solution

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

Note: This topic describes, in a general way, the tasks that are typically involved in implementing a RosettaNet solution. The process of implementing RosettaNet 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 a RosettaNet solution, we recommend that you review the following documents:

Planning the RosettaNet Solution

Once you have decided to use RosettaNet 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 RosettaNet solutions. To learn more, see Tutorial: Building RosettaNet Solutions available at http://download.oracle.com/docs/cd/E13214_01/wli/docs81/tptutorial/rosettanet.html

Building the RosettaNet Solution

After planning your RosettaNet solution, you build the business processes that implement the PIP(s) according to the RosettaNet PIP specifications. For more information about design-time tools, see Phase 2: Design, Build, and Test the Solution. For conceptual information about RosettaNet business processes, see RosettaNet Business Processes.

The Tutorial: Building RosettaNet Solutions in Tutorials for Trading Partner Integration (available at http://dev2dev.bea.com/code/wli.jsp) provides a detailed walkthrough of the typical tasks that are required to build a RosettaNet solution.

To build a RosettaNet solution, you would typically complete the following steps:

  1. Using the BEA WebLogic Platform Configuration Wizard, create a new domain based on the WebLogic Integration domain template. For instructions, see Creating WebLogic Configurations Using the Configuration Wizard in the WebLogic Platform documentation.
  2. Download the PIP distribution, including the specification and any DTDs, from the RosettaNet web site at http://www.rosettanet.org.
  3. Optionally, convert any DTDs to XSD files, as described in "Converting RosettaNet DTD Schemas to XSD Schemas" in Tutorial: Building RosettaNet Solutions in Tutorials for Trading Partner Integration.
  4. From the Tutorials for Trading Partner Integration, copy the example PIP implementation associated with the design pattern that you want to use. For more information about design patterns, see PIP Design Patterns.
  5. In WebLogic Workshop, import the schema for the new PIP into the project and then change the schema definition to the new PIP.
  6. Change the RosettaNet annotations for the new PIP:
  7. Rename the JPD and change the names of other components to be more descriptive of the new PIP implementation, if you want.
  8. Change the implementation of any private business processes as needed.
  9. Make any other changes to the business processes as needed.
  10. Test the RosettaNet solution using the default TPM repository configuration (described in Default TPM Repository Settings) and security settings (described in Default Domain Security Configuration).
Note: When you first set up connections to RosettaNet trading partners, it is a good idea to run your configuration in Test mode to take advantage of the additional debugging features provided by this mode. To run your Web Logic Integration RosettaNet configurations in Test mode, you specify two annotations in the setProperties method:
Note: -Set global-usage-code to Test.
Note: -Set debug-mode to true.
Note: For more information about the setProperties method, see RosettaNet Control Interface, available at: http://download.oracle.com/docs/cd/E13214_01/wli/docs92/wli.javadoc/com/bea/control/RosettaNetControl.html

Deploying the RosettaNet Solution

Once you have built and tested your RosettaNet 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 WebLogic Integration solutions, see Deploying WebLogic Integration Solutions, which is available at the following URL:


http://download.oracle.com/docs/cd/E13214_01/wli/docs92/deploy/index.html

To deploy a RosettaNet solution, you would typically complete the following steps:

  1. If necessary, using the BEA WebLogic Platform Configuration Wizard, create a new domain based on the WebLogic Integration domain template. For instructions, see Creating WebLogic Configurations Using the Configuration Wizard in the WebLogic Platform documentation.
  2. Start WebLogic Server in production mode.
  3. Using the 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 instructions, see "Exporting Management Data" and "Importing Management Data" in Trading Partner Management.
    1. Add trading partners to the TPM repository, including basic profile information, such as the DUNS number used for trading partner IDs. For instructions, see "Adding Trading Partner Profiles" in Trading Partner Management in Using WebLogic Integration Administration Console Help.
    2. For each trading partner, define the protocol bindings (including RNIF version—1.1 or 2.0—and other settings) to be used for message exchanges with this trading partner. For instructions, see "Defining a RosettaNet 1.1 or 2.0 Binding" in Trading Partner Management.
    3. Define the PIP Notification of Failure roles, as described in "Configuring PIP Notification of Failure Roles for RosettaNet Bindings" in Trading Partner Management.
    4. Define the services that you will use in your deployment. For instructions, 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 instructions, see "Adding Service Profiles to a Service" in Trading Partner Management.
  5. Using the WebLogic Server Administration Console and 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 instructions, see Deploying WebLogic Integration Solutions, which is available at the following URL:
  7. Deploy the application and other WebLogic Integration resources associated with your RosettaNet solution. For instructions, see Deploying WebLogic Integration Solutions, which is available at the following URL:

Managing the RosettaNet Solution

Once you have deployed your RosettaNet 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 the following topics in in Trading Partner Management in Using WebLogic Integration Administration Console Help:


  Back to Top       Previous  Next