Guide to Building Business Processes

     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

Building RosettaNet Participant Business Processes

This topic describes how to build public participant business processes for RosettaNet conversations using the RosettaNet participant business process file in BEA WorkSpace Studio.

The following sections are included:

RosettaNet is a consortium of major companies working to create and implement industry-wide, open e-business process standards. These standards form a common e-business language, aligning processes between supply chain partners on a global basis. RosettaNet is a subsidiary of the Uniform Code Council, Inc. (UCC). To learn about RosettaNet, see the following URL:

http://www.rosettanet.org

This topic focuses on public, participant two-action business processes based on the RosettaNet PIP3A4. For initiator business processes, you use the RosettaNet control, which provides methods for sending and receiving RosettaNet messages in a conversation.

 


About the RosettaNet Participant Business Process

The RosettaNet participant business process provides a head start for building public participant business processes for RosettaNet conversations. 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.

The RosettaNet participant business process is intended to serve as an example of the type of processes you can build for RosettaNet message exchange. The file consists of the following nodes:

Table 27-1 RosettaNet Nodes
Example Node Name
Example Node Types
Description
Start
Start
This marks the beginning of your business process. In the Annotation pane of the Start node, you can define the following properties:
  • pipName
  • pipRole
  • pipVersion
  • protocolName
  • protocolVersion
To learn more about these annotation, see Configuring Business Process Annotations (Required) .
To learn about Start nodes, see Starting Your Business Process.
On Error Message
(global error handling)
Message Path
Use the Message Path to interrupt an executing process upon delivery of a message from either a client or a control. This allows the process to halt the current stream of execution and take the specified alternate actions. To learn more about Message Paths, see Adding Message Paths.
On Error
(Global message path)
Client Request
Use this node, or any other nodes in its place, to handle the error processing you want to take place when an error message is received. To learn about Client Request nodes, see Receiving Messages From Clients
Alert local administrator
(Global message path)
Perform
Use this node, or any other nodes in its place, to send a failure message to an administrator. To learn more about Perform nodes, see Writing Custom Java Code in Perform Nodes
Receive Message
Client Request
Starts the RosettaNet participant business process upon receiving a RosettaNet message from the initiator. To learn about Client Request nodes, see Receiving Messages From Clients.
Send receipt acknowledgment.
Client Response
Sends an acknowledgement to the initiator that the request message was received. To learn about Client Response nodes, see Interacting With Resources Using Controls.
Send private message
(Invoke private process group)
Perform
Use this node, or any other nodes in its place, to send a request to the private process. To learn more about Perform nodes, see Writing Custom Java Code in Perform Nodes.
Receive private message
(Invoke private process group)
Perform
Use this node, or any other nodes in its place, to receive a response from the private process. To learn more about Perform nodes, see Writing Custom Java Code in Perform Nodes.
Send reply
(Retry block)
Client Response
Use this node, or any other node in its place, to send the response back to the initiator. To learn about Client Response nodes, see Sending Messages to Clients.
Receive receipt acknowledgment
(Retry block)
Client Request
Use this node, or any other node in its place, to listen for an acknowledgment from the initiator process. To learn more about Client Request nodes, see Receiving Messages From Clients.
OnTimeout
(Timeout path on Retry block)
Timeout Path
Use the Timeout Path to interrupt the execution of an iteration of the nodes in the Retry block group after a certain amount of time has lapsed. To learn more about grouping nodes, see Grouping Nodes in Your Business Process . To learn more about Timeout Paths, see Adding Timeout Paths.
Check retries
(Timeout path on Retry block)
Condition
Use this node, or any other nodes in its place, to select a path of execution based on the evaluation of one or more conditions, in this case, the number of iterations of the Retry block group. To learn more about Decision nodes, see Defining Conditions For Branching .
Notification of Failure
(Timeout path on Retry block)
Perform
Place this node, or any other node in its place, inside the Decision node to handle failure notifications to the initiator if an iteration of the Retry block group times out. This node is where you would normally invoke a PIP0A1 notification of failure. To learn more about Perform nodes, see Writing Custom Java Code in Perform Nodes. To learn more about customizing this node, see Setting Up the Notification of Failure (Required) .
Finish
Finish
Ends the RosettaNet participant business process. To learn about Finish nodes, see Specifying Endpoints in Your Business Process.

To learn more about how to customize the nodes in the RosettaNet participant template, see Customizing a RosettaNet Participant Business Process .

This business process is modeled on the Two-Action Activity (Asynchronous) choreography that is specified in the RosettaNet Implementation Framework Core Specification (version V02.00.01). To learn about this choreography, see the following URL:

http://www.rosettanet.org

 


Creating a RosettaNet Participant Business Process

You can use the RosettaNet participant business process file to create a public participant business process. The RosettaNet participant template is based PIP3A4, but you can use it for other PIPs as well with only slight variations (such as the PIP schema and PIP identifying information in the annotations).

To create a RosettaNet participant business process
  1. If you have not already done so, create a new application or a new project within an existing application.
  2. From the BEA WorkSpace Studio menu, choose File > New > Other. The Select a wizard dialog box is displayed.
  3. Expand WebLogic Integration and select RosettaNet Participant Process and click Next.
  4. In the Process dialog box enter a valid java class name for the Java file in the Name field.
  5. Note: This name is used as the default value for the pip-name attribute in the com.bea.wli.jpd.RosettaNet annotation. Before you run your RosettaNet participant business process in production mode, you must change the pip-name attribute to a valid PIP code. For more information see, Customizing a RosettaNet Participant Business Process.
  6. If you want to create the Java file in a directory other than the one displayed in Source folder, then click the Browse button and select the target directory and click Ok.
  7. Click Finish.
  8. BEA WorkSpace Studio creates a new RosettaNet participant process Java file and displays it in the Design view pane.

  9. To save your work, select File > Save.

 


Customizing a RosettaNet Participant Business Process

After you create a RosettaNet participant business process, you must customize it for the associated RosettaNet conversation. Common customization tasks include:

Depending on your implementation requirements, you might make additional customizations to the participant business process as needed.

Configuring Business Process Annotations (Required)

The RosettaNet participant business process file specifies the following default annotations:

com.bea.wli.jpd.RosettaNet protocol-name="rosettanet" protocol-version="2.0"
pip-name="processName" pip-version="1.0" pip-role="Seller"

These properties are set in the Properties view that is visible when you have the Start node of your business process selected. Review and edit (if needed) the following properties:

Table 27-2 Business Process Annotations
Property
Default
Description
pipName
processName
Change to the RosettaNet PIP code, such as 3B2. Must be a valid PIP code as defined in
pipRole
Seller
Change to the RosettaNet name of the participant’s role as defined in the PIP specification (example: Receiver for PIP3B2).
pipVersion
1.0
Change to your RosettaNet PIP version (example: v01.01 for PIP3B2). Must be a valid version number associated with the PIP.
protocolName
rosettanet
Do not change.
protocolVersion
2.0
Change to 1.1 if you are using RNIF (RosettaNet Implementation Framework) version 1.1 instead.
Note: If the Properties view is not visible in Design view, choose Window > Show View > Properties from the BEA WorkSpace Studio menu.

To learn more about these annotations, see http://download.oracle.com/docs/cd/E13214_01/wli/docs102/wli.javadoc/com/bea/wli/jpd/RosettaNet.html. To learn about configuring business process properties, see Business Process Language.

Customizing Argument Types (Optional)

By default, the RosettaNet participant business process includes a Client Request node, named Receive Message, to handle an incoming RosettaNet request message from an initiator. For the response and callback.sendReply methods, you might need to specify the attachment and its Java data type. The data type must match the contents of the incoming message and can be one of the following values:

Table 27-3
Data Type
Description
XmlObject
Default. Represents data in untyped XML format. The XML data is not specified at design time.
RawData
Represents any non-XML structured or unstructured data for which no MFL file (and therefore no known schema) exists.
MessageAttachment[]
Array containing one or more parts of a RosettaNet business message. Message parts can be untyped XML data (XmlObject data type) or non-XML data (RawData data type). Used when sending different kinds of payloads (XML and non-XML) in the same message. The actual number of message parts might not be known until processed. To learn about working with MessageAttachment objects.
Data Description
Note: Attachments can also be typed XML or typed MFL data as long as you specify the corresponding XML Bean or MFL class name in the parameter.

To learn more about data types, see Working with Data Types.

Configuring Data Transformation (Required)

Public and private business processes often use different document formats. Public business processes use the associated PIP schema. Private processes use whatever format is required by the internal process (XML or binary), such as a proprietary ERP format. If a private business process does not use the PIP format, then the public business process needs to transform data between the PIP format to the format used in the private business process.

To configure data transformation, you need to:

Integrating with the Private Participant Process (Required)

After you create a RosettaNet public participant business process, you need to link it to the private participant process that handles the initiator’s request privately. BEA WorkSpace Studio provides many ways for communicating with other business processes, including:

Setting Up the Notification of Failure (Required)

In this participant business process, if a time-out occurs while awaiting a reply from the initiator to the response document, the participant needs to send a Notification of Failure (PIP0A1) to the initiator. To learn more about PIP0A1, see the following URL:

http://www.rosettanet.org

To notify the initiator of the failure, you need to create a separate initiator business process that implements PIP0A1, and then start the initiator business process:


  Back to Top       Previous  Next