This topic describes how to build public participant business processes for RosettaNet conversations using the RosettaNet participant business process file in BEA Workshop for WebLogic Platform.
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:
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.
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
This marks the beginning of your business process. In the Annotation pane of the Start node, you can define the following properties:
To learn about Start nodes, see
Starting Your Business Process.
|
||
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.
|
||
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
|
||
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
|
||
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.
|
||
Sends an acknowledgement to the initiator that the request message was received. To learn about Client Response nodes, see
Interacting With Resources Using Controls.
|
||
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.
|
||
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.
|
||
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.
|
||
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.
|
||
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.
|
||
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
.
|
||
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)
.
|
||
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:
Creating a RosettaNet Participant Business Process
Customizing 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).
Note: | This name is used as the default value for the pip-name attribute in the @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. |
BEA Workshop for WebLogic Platform creates a new RosettaNet participant process Java file and displays it in the Design View pane.
About the RosettaNet Participant Business Process
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.
The RosettaNet participant business process file specifies the following default annotations:
@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 Annotations 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 AnnotationsNote: | If the Annotation view is not visible in Design view, choose WindowShow ViewAnnotation from the BEA Workshop for WebLogic Platform menu. |
To learn more about these annotations, see http://download.oracle.com/docs/cd/E13214_01/wli/docs92/wli.javadoc/com/bea/wli/jpd/RosettaNet.html. To learn about configuring business process properties, see Business Process Language.
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:
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.
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:
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 Workshop for WebLogic Platform provides many ways for communicating with other business processes, including:
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:
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:
About the RosettaNet Participant Business Process
Creating a RosettaNet Participant Business Process