### Shipping Business Process

The Shipping business process defines the sequence of actions required to deliver an ordered item.

The business process is started by the Order New business process if the ordered item needs to be produced by the Manufacturing department. The business process schedules the order for delivery and generates a shipping notification.

To view the business process in WebLogic Workshop, double-click the workflow/WorkflowShipping.jpd file in the Application window.

As you step through each node description:

1. Double-click the node in the business process to invoke the node builder and display details about the node.
2. Select View Code in the node builder (or by right-clicking on the node), when applicable, to display the related code in the Source View window.

The following table describes each node in the Shipping business process.

Stepping Through the Shipping Business Process

Business Process Node | Description
--- | ---
| Defines the asynchronous event that starts the business process: a shipping-related message is received. The Client Request node uses mPublish, an instance of the Publish.jcx Message Broker control, to call the subscription() method to subscribe to the Message Broker, specifying end2end/billingshipping as the Channel name. The node uses a filter, comparing the destination2 field in the NetMessageDocument argument received to the filter value, shipping.
| Transforms the message from the Message Broker intermediary format, NetMessageDocument. The Control Send with Return node uses m_netTransforms, an instance of the TransformsNetworkMessage.dtf data transformation control, to call the transformFromBasicNet() method to transform the message received from the NetMessageDocument type, used by the Message Broker, to the InputDocument type.
| Transforms the message to the appropriate format. The Control Send with Return node uses m_transformsInput, an instance of the TransformsInputMessage.dtf data transformation control, to call the getInput() method to transform the message received from the InputDocument type to the Input type.
| Retrieves the order tracking ID for the current order. The Control Send with Return node uses m_OrderTrack, an instance of the e2eOrderTrackingEJB.jcx EJB control, to call the findByPrimaryKey() method to locate the order tracking ID for the current order.
| Updates the status of the order. The Control Send node uses m_OrderTrack, an instance of the e2eOrderTrackingEJB.jcx EJB control, to call the setDescRemote() method to indicate that the order has been received by the Shipping department.
| Schedules the delivery of the ordered item. The Perform node calls the schedule() Java method to schedule the delivery.
| Updates the status of the order. The Control Send node uses m_OrderTrack, an instance of the e2eOrderTrackingEJB.jcx EJB control, to call the setDescRemote() method to indicate that the order has been scheduled for shipping.
| Generates a shipping notice for the ordered item. The Perform node calls the shippingNotification() Java method to generate the shipping notice.
| Updates the status of the order. The Control Send node uses m_OrderTrack, an instance of the e2eOrderTrackingEJB.jcx EJB control, to call the setDescRemote() method to indicate that a shipping report has been generated.