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 ebXML Participant Business Processes

The ebXML protocol (Electronic Business using eXtensible Markup Language) is a modular suite of specifications that enables enterprises of any size and in any geographical location to conduct business over the Internet. It is sponsored by UN/CEFACT and OASIS. To learn about ebXML, see the following URL:

http://www.ebXML.org

This topic focuses on participant business processes for ebXML. For initiator business processes, you use the ebXML control, which provides methods for sending and receiving ebXML messages in a conversation.

This topic describes the template that you can use to build an ebXML participant business process in BEA Workshop for WebLogic Platform. It contains the following sections:

About the ebXML Participant Business Process

The generated ebXML participant business process file 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.

The generated ebXML participant business process file consists of the following nodes, which are linked in the following sequence:

Table 26-1 ebXML Nodes
Node Name
Node Type
Method Name
Description
Start
Start
 
To learn about Start nodes, see Starting Your Business Process.
Receive Request
Client Request
request
Starts the ebXML participant business process upon receiving an ebXML message from the initiator. To learn about Client Request nodes, see Receiving Messages From Clients.
Respond to Request
Client Response
response
Sends the response document back to the initiator. To learn about Client Response nodes, see Sending Messages to Clients.
Finish
Finish
 
Ends the ebXML participant business process. To learn about Finish nodes, see Specifying Endpoints in Your Business Process.

Related Topics

Creating an ebXML Participant Business Process

Customizing an ebXML Participant Business Process

Creating an ebXML Participant Business Process

To create an ebXML 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 Workshop for WebLogic Platform menu, choose FileArrow symbolNewArrow symbolOther.The Select a wizard dialog box is displayed.
  3. Expand WebLogic Integration and select ebXml Participant Process and click Next.
  4. In the Name field, enter the name of the Java file.
  5. If you want to create the Java file in a directory other than the one displayed in the Source folder field, then click the Browse button and select the target directory and click Ok.
  6. Click Finish,
  7. BEA Workshop for WebLogic Platform creates a new ebXML participant process Java file and displays it in the Design view pane.

  8. To save your work, select FileArrow symbolSave.
  9. After you create the process.java file, the name of the Java file becomes available as a service on the Services tab in the WebLogic Integration Administration Console.

Related Topics

About the ebXML Participant Business Process

Customizing an ebXML Participant Business Process

Customizing an ebXML Participant Business Process

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

Depending on your implementation requirements, you might make additional customizations to the participant business process as needed. For example, participant business processes typically invoke other controls (such as the File, JMS, or Application View controls), or a subprocess, to accomplish the necessary backend integration.

Configuring Business Process Annotations (Required)

The generated ebXML participant business process file specifies the following default annotations:

ebxmlActionMode="non-default,ebxmlServiceName="eBXML" "protocol-name="ebxml"

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 annotations:

Table 26-2 ebXML Annotations
Property
Default
Description
ebxmlActionMode
non-default
Action mode for this business process. Determines the value specified in the eb:Action element in the message header of the ebXML message, which becomes important in cases where multiple message exchanges occur within the same conversation. Select one of the following values:
  • default—Sets the eb:Action element to SendMessage (default name).
  • non-default—Sets the eb:Action element to the name of the method (on the ebXML control) that sends the message in the initiator business process. For sending a message from the initiator to the participant, this name must match the method name of the Client Request node in the corresponding participant business process. For sending a message from the participant to the initiator, the method name in the callback interface for the Client Callback node in the participant business process must match the method name (on the ebXML control) in the control callback interface in the initiator business process. Using non-default is recommended to ensure recovery and high availability.
If unspecified, the ebxml-action-mode is set to non-default.
service-name
serviceName
Name of the ebXML service associated with this business process. The name specified here must match the service name specified on the initiator side (for example, in the ebxml-service-name annotation on the ebXML control in the initiator business process). You provide this service name to your trading partners.
protocolName
ebxml
Do not change.

Note: If the Annotation view is not visible in the Design view, choose WindowArrow symbolShow ViewArrow symbolAnnotations from the BEA Workshop for WebLogic Platform menu.

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

Customizing Names and Argument Types (Optional)

By default, the ebXML participant business process includes a Client Request node, named Receive request, to handle an incoming ebXML request message from an initiator. For business processes that involve multiple round-trips, you need to create additional Client Request nodes for any other operations that involve that receive an ebXML message from the initiator. To add the node to a business process, drag Client Request from the Node Palette onto the business process.

After creating a Client Request node, for the request method, specify the attachment and its Java data type for the incoming message. The data type must match the contents of the incoming message and can be one of the following values:

Table 26-3 Data Type
Data Type
Description
XmlObject
Default. Represents data in untyped XML format. The XML data is not specified at design time.
XmlObject[]
An array containing one or more XmlObject elements.
RawData
Represents any non-XML structured or unstructured data for which no MFL file (and therefore no known schema) exists.
RawData[]
An array containing one or more RawData elements.
MessageAttachment[]
Array containing one or more parts of an ebXML 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.

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.

The following restrictions apply to payload specifications:

Retrieving the ebXML Message Envelope (Optional)

You can retrieve the message envelope of an incoming ebXML message by using the message-envelope annotation in the @jpd:ebxml-method tag, as shown in the following example:

/**
*@jpd:ebxml-method message-envelope="{env}"
*/
public void request(XmlObject payload, XmlObject env) {
}
Note: You can rename the default value (env) as long as it matches the name of the parameter specified in the method.

Related Topics

About the ebXML Participant Business Process

Creating an ebXML Participant Business Process


  Back to Top       Previous  Next