Skip navigation.

WebLogic Platform Tour Guide

  Previous Next vertical dots separating previous/next from contents/index/pdf Contents View as PDF   Get Adobe Reader

Ordering Office Equipment

In this part of the Tour, you play the roles of two Avitek employees in order to test-drive different functions of the company's Office Equipment Order Management system:

  1. As the new employee, John Smith, you order a laptop for yourself, using Avitek's online Office Equipment Order Management system.
  2. Then you assume the identity of John's manager, Rachel Burns, and approve John's laptop order.
  3. Finally, as John Smith, you can check the status of the laptop order.

As shown by these steps, this section describes the Office Equipment Order Management process, demonstrating the integration of an application built using features of WebLogic Integration. Along the way you will learn how the business process management feature is used to integrate diverse applications and human participants, and to coordinate the exchange of information among application resources.

Note: Business process management is a feature of WebLogic Integration which is delivered as part of the WebLogic Workshop Platform Edition.

Follow the steps described in Step Through the Tour and review the concepts described in this section to learn about:

 


Step Through the Tour

When you log in to the Avitek corporate intranet using your employee ID, you can access the Office Equipment Order Management system and submit an order for office equipment from the Order portlet.

The Office Equipment Order Management system enables employees to order office equipment, and then monitors the progress of the order through each phase in the ordering process: order submittal, manager approval, inventory check, shipping, and billing.

Step through this part of the WebLogic Platform Tour to familiarize yourself with the order management process being demonstrated. Specific steps include:

Step 1: Place a New Order

As new employee John Smith, you order a new laptop.

Note: In Logging In to the Avitek Corporate Intranet, you logged in to the Avitek corporate intranet as John Smith, the new employee. Currently, you are viewing the Employee portal.

To submit your order, perform the following steps:

  1. Click Place a New Order in the Order portlet.
  2. The Item ID form is displayed.

  3. Enter notebook_kit1 (the item ID for the desired laptop) in the Item ID field to request a new laptop.
  4. Note: You can also enter desktop_kit1 as a valid option.

  5. Click Place a New Order to place the order.
  6. The Order form is submitted and a notification is sent to Rachel Burns, John Smith's manager. The Order portlet is updated to indicate that the order was successfully placed.

  7. View the status of the order by clicking Check Order Status.
  8. The Order portlet is updated with the current status of the order.

  9. Click Log Out in the Log Out portlet to log out of the corporate intranet.
  10. Return to the Avitek Log In window by clicking Log In Again in the Log Out portlet.

Step 2: Approve an Order

As John's manager, Rachel Burns, you approve John's order:

  1. Log in to the Avitek corporate intranet as Rachel Burns, using the following user name and password:
  2. User Name: rachel
    Password: emanager

    The manager's view of the Avitek intranet portal is displayed giving you access to the Worklist user interface. The Worklist user interface displays all pending order for Rachel's direct employees.

    Note: You can also view a list of direct reports in the Direct Reports portlet.

  3. Select the pending equipment approval for John Smith's laptop.
  4. Select Respond to the Task to approve the order for the new laptop.
  5. The Task Response text box is displayed.

  6. Type Approved in the text box.
  7. Click OK.
  8. Notice that the order has been removed from the list of pending tasks.

  9. Click Log Out in the Log Out portlet to log out of the corporate intranet.
  10. Return to the Avitek Log In screen by clicking Log In Again in the Log Out portlet.

Step 3: Check the Status of an Order

You can check the status of an order to track its progress, as it passes to the Check Inventory, Shipping, and Billing business processes.

  1. Log in to the Avitek corporate intranet as John Smith, using the following user name and password:
  2. User Name: john
    Password: employee

  3. In the Order portlet, click Check Order Status.
  4. The Order portlet is updated with the current status of all pending orders.

 


Designing Business Processes Using WebLogic Integration

WebLogic Integration simplifies the development, management, and delivery of business processes. A business process orchestrates the execution of business logic and the exchange of business documents among applications, users, enterprise networks, and trading partners in a loosely coupled fashion.

WebLogic Workshop makes it easy to create a business process: click the target folder and choose File—>New—> Process File. The Process Designer opens and displays a new process file that contains a Start and Finish node.

The Process Designer is a graphical tool that enables you to design business processes and establish interactions with clients and resources, such as databases, JMS queues, file systems, and so on.

Figure 4-1 Process Designer

Process Designer


 

The following table summarizes the business process design tools shown in the previous figure.

Table 4-1 Tools for Designing Business Processes 

Callout #

Use this tool...

For this task...

1

Application Window

Create, view, and edit business process files in your application project. This window also provides shortcuts for performing specific operations on application files. For example, you can generate a Task control by right-clicking the business process (.jpd) file and selecting Generate Task Control File from the drop-down menu.

2

Design and Source Views

Design your business process in this area.

Switch between the Design and Source Views, as required. Changes made in one view are automatically reflected in the other.

3

Palette Window

Graph a set of nodes that depict your business process by dragging components from the Palette window and dropping them onto the Design View canvas. Node types include:

  • Client Request—Invoke a business process from a client so you can perform one or more operations using the methods exposed by the business process.

  • Client Response—Send a message back to the calling client.

  • Control Send—Interact asynchronously with an enterprise resource via a control.

  • Control Send with Return—Interact synchronously with an enterprise resource via a control.

  • Control Receive—Create a handler for a callback from a control.

  • Perform—Execute your custom Java code.

  • Decision—Select a path of execution based on the evaluation of one or more conditions.

  • Switch—Select a path of execution based on the evaluation of an expression specified on a condition node.

  • While Do—Evaluate a condition before the activities in a loop are performed.

  • Do While—Perform the activities in a loop before evaluating a condition.

  • For Each—Execute one or more activities that you specify in one or more nodes in the loop.

  • Parallel—Execute multiple activities simultaneously.

  • Event Choice—Wait to receive multiple events before proceeding.

  • Finish—End execution.

4

Data Palette Window

Define instances of variables and Java controls to be used in the business process.

5

Node Builder

Design the functionality of the business process node. To invoke the node builder, double-click the node.

A node builder is a task-driven interface that enables you to define the logic for the nodes in the business process. Examples of this logic includes:

  • Methods that are invoked by clients to start your business process or by which the business process responds to clients.

  • Controls that your business process node uses to interact with resources and the data exchanged in the interaction.

  • Data transformations to map heterogeneous data as it is exchanged between your business process and resources.

6

Property Editor Window

Set properties for the nodes in your business process.


 

The WebLogic Integration Administration Console, shown in the following figure, allows administrators to manage and monitor the resources required for your WebLogic Integration applications, such as business processes.

Figure 4-2 WebLogic Integration Administration Console

WebLogic Integration Administration Console


 

The following lists the specific resources that can be managed by the WebLogic Integration Administration Console:

To learn more about designing and managing business processes in WebLogic Workshop:

 


Reviewing the Office Equipment Order Management System

The e2eWorkflow application defines the Office Equipment Order Management system, a WebLogic Integration business process management application that directs the lifecycle of an order for office equipment.

To view the WebLogic Integration business process management application in WebLogic Workshop:

  1. Open the e2eWorkflow application, as follows:
    1. Choose File—>Open—>Application.
    2. Navigate to the samples\platform\end2end\e2eWorkflow folder of the WebLogic Platform installation.
    3. Select e2eWorkflow.work.
    4. The names of application files end in .work.

    5. Click Open to open the application.
  2. If the application files are not currently displayed in WebLogic Workshop, choose View —> Application.

The e2eWorkflow application contents are displayed, as follows.

e2eWorkflow Folder


 

The following table describes each of the e2eWorkflow application folders.

Table 4-2 e2eWorkflow Application Folders 

Folder

Contents

e2eWorkflowProject

Directories and files for WebLogic Integration business process management application, including:

  • WEB-INF—Standard Web application folder containing deployment descriptors and validation files.

  • workflow—Folder containing WebLogic Integration business process management application files. The contents of this folder are described in detail in the sections that follow.

Note that a sample test file, input.xml, is provided that enables you to invoke the Order Management business process outside of the portal, directly from a web service. Use of this file is not demonstrated in the WebLogic Platform Tour. If you wish to call this file to invoke the business process from a web service, you must edit the file to specify a unique order ID and valid item ID for the <orderId> and <itemId> fields, repsectively.

Schemas

XML and WebLogic Integration Application Integration (WLAI) schema definitions, and application view information used by the Application View control.

Modules

Application View and Order Tracking EJB JAR files. This folder is standard in all application projects. You can modify the contents based on your application requirements.

Libraries

Run-time related library files. This folder is standard in all application projects. You can modify the default contents based on your application requirements.

Security Roles

Security role information. This folder is standard in all application projects. You can modify the default contents based on your application requirements. For the e2eWorkflow application, this folder is empty.


 

Overview of the Office Equipment Order Management Business Processes

The e2eWorkflow application business process consists of several nested business processes, as defined in the following table.

Table 4-3 Business Processes for Office Equipment Order Management System 

This business process...

Defines how...

Order Requisition

The entire ordering process works, specifically: how an order for office equipment is submitted and approved by a manager; how the inventory is checked; and how the factory is notified if the ordered item is out of stock.

Order New

A new item is ordered from the factory.

Billing

The seller bills the buyer for payment.

Shipping

The ordered item is scheduled for delivery.


 

The business processes interact with required resources using built-in Java controls. The following table defines the types of controls used by the Office Equipment Order Management business processes, and the Java control extension (JCX) files defined for the sample application.

Note: As noted previously, for some built-in controls, when you add the control to your application you must create or reference a JCX file in your application project to define the functionality of the control. To learn more about creating a JCX file for a built-in control, see Using a Built-In Control.

Table 4-4 Built-In Controls Used in the Office Equipment Order Management Business Processes 

This Control...

Simplifies...

For example...

Application View

Access to an enterprise application using an Application View. An Application View must be created using the Application View Console before it can be referenced using an Application View control.

The procedure for building an Application View is outside the scope of the WebLogic Platform Tour. To learn more, see Overview: Application Integration in the WebLogic Workshop Help.

Appview1.jcx is an application view control that communicates with the company and factory inventory databases through an the Application Integration (AI) Application View called e2eWorkflow_AppView1_ApplicationView-ejb.jar. This Application View is imported into the Modules project folder.

Use of this control is illustrated in the Order Requisition and Order New business processes.

EJB

Access to an EJB deployed from your application.

The procedure for building an EJB is outside the scope of the WebLogic Platform Tour. To learn more, see Developing Enterprise Java Beans in the WebLogic Workshop Help.

e2eOrderTrackingEJB.jcx is an EJB control that tracks the status of the order throughout the process by interfacing with the Order Tracking EJB called E2EOrderTrackingEJB.jar. This EJB is imported into the Modules project folder.

Use of this control is illustrated in all business processes.

Message Broker

Use of publish-and-subscribe functionality that is available with Message Broker, a message-based communication protocol that includes a powerful message filtering capability.

Publish.jcx is a Message Broker control that communicates with the Billing and Shipping business processes.

Use of this control is illustrated in the Order New business process.

Process

Access to a business process in your project.

OrderRequisitionControl.jcx is a process control that starts the Order Requisition business process through the OrderRequisitionControlWS.jws file.

Use of this control is illustrated in the Order Requisition business process.

OrderNewControl.jcx is a process control that starts the Order New business process.

Use of this control is illustrated in the Order New business process.

Task

Access to a Worklist user interface, allowing your business process to manage work items and handle callbacks via the WebLogic Integration Worklist user interface.

ManagerTask.jcx is a task control that sends an asynchronous message to Rachel Burns, John Smith's manager, for approval of an office equipment order.

Use of this control is illustrated in the Order Requisition business process.

Transformation

Mapping and conversion of data from one format to another. In this way, transformation logic is encapsulated within the transformation control and modifications to that logic do not impact the process definition.

Transforms.dtf is a transformation control that enables communication with the company and factory inventory databases when the inventory is checked.

Use of this control is illustrated in the Order Requisition business process.

TransformsInputMessage.dtf is a transformation control that enables communication between business processes for an incoming order.

Use of this control is illustrated in all business processes.

TransformsNetworkMessage.dtf is a transformation control that enables communication between the Message Broker and the Billing and Shipping business processes. The Message Broker uses an intermediary format to deliver a loosely-coupled system.

Use of this control is illustrated in the Order New, Billing, and Shipping business processes.

Web Service

Access to any web service that publishes a WSDL (Web Service Definition Language) file. A WSDL file describes the methods and callbacks that a web service implements, including method names, parameters, and return types.

The procedure for building a web service is outside the scope of the WebLogic Platform Tour. For more information, see Building Web Services in the WebLogic Workshop Help.

NotifyManufacturingControl.jcx is a web service control that communicates orders to the Manufacturing department through the NotifyManufacturing.jws web service.

Use of this control is illustrated in the Order New business process.

GenerateBillControl.jcx is a web service control that generates a bill for the ordered item through the GenerateBill.jws web service.

Use of this control is illustrated in the Billing business process.


 

The following sections step through each business process in detail by following the path of the nodes:

Order Requisition Business Process

The Order Requisition business process defines the overall sequence of events that occur when someone at Avitek orders office equipment. The business process is started when an employee submits an order for office equipment. It proceeds as follows:

  1. Employee submits the order for manager approval.
  2. If the order is approved by the manager, the business process proceeds to the next step. If the order is rejected by the manager, the business process ends the ordering process.

  3. The process checks the current inventory for the ordered item.
  4. If the ordered item is available in the current inventory, the business process ends the ordering process. If the ordered item is not available in the current inventory, the business process invokes the New Order business process.

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

As you step through each node description, perform the following steps:

  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 the node), when applicable, to display the related code in the Source View window.

The following table describes each node in the Order Requisition business process.

Table 4-5 Stepping Through the Order Requisition Business Process 

Business Process Node

Description

receiveOrder Node

Defines the event that starts the business process: an employee submits an order for office equipment.

When you specify that the business process is Invoked via a Client Request with Return option, your Start node is displayed in expanded format. You can collapse the node view by clicking on the minus sign in the upper left-hand corner.

To receive the order, the Client Request node calls the clientRequest() method that is exposed by the OrderRequisitionControlWS.jws web service. The web service uses the OrderRequisitionControl process control to invoke the business process. The order is passed as an XMLObject argument and the data is transformed to a ClientRequestDocument type using the data mapping tool.

The Client Response node calls the clientReturn() method to return the results to the calling process.

Note: For the WebLogic Platform Tour, the OrderRequisitionControlWS.jws web service was generated separately from the business process in order to decouple to business process and portal client applications. In addition, WebLogic Workshop enables you to generate a web service from a business process: right-click the business process and choose Generate WSDL File. Then, right-click the WSDL file and choose Generate Web Service.

getWebserviceMessage Node

Transforms the message to the appropriate format.

The Control Send with Return node uses m_Ixform, an instance of the TransformsInputMessage.dtf data transformation control, to call the getWebserviceMessage() method to transform the message received from the ClientRequestDocument type to the InputDocument type.

getInput Node

Transforms the message to the appropriate format.

The Control Send with Return node uses m_Ixform, 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.

receiveOrder Node

Defines the method used to return the results to the calling process.

The Client Response node calls the clientReturn() method to return the results to the calling process as a String argument.

InvalidMessageHandling Node

Defines the exception handler for the Client Request node.

The Perform node calls the invalidMessageHandler() method to catch and handle an exception using your custom business logic.

It is recommended that you add proper exception handlers, as required by your application. In particular, they should be added to the Start nodes in your business processes.

AppStatusUpdate1 Node

Updates the status of the order.

The Control Send with Return node uses m_OrderTrack, an instance of the e2eOrderTrackingEJB.jcx EJB control, to call the create() method to create a new order tracking ID and update its status to indicate that the order has been received.

createTaskByName Node

Sends an asynchronous message to Rachel Burns, requesting approval of the order for a new laptop.

The Control Send node uses m_Task, an instance of the ManagerTask.jcx task control, to call the createTaskByName() method to create the new task.

assignTaskToUser Node

Sends an asynchronous message to Rachel Burns, requesting approval of the order for a new laptop.

The Control Send node uses m_Task, an instance of the ManagerTask.jcx task control, to call the assignTaskToUser() method to assign the task to Rachel Burns.

AppStatusUpdate2 Node

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 task has been assigned to the manager.

onTaskCompleted Node

Receives the approval response from Rachel Burns.

The Control Receive node uses m_Task, an instance of the ManagerTask.jcx task control, to call the onTaskCompleted() method to return the response from Rachel Burns.

AppStatusUpdate3 Node

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 task has been approved by the manager.

Approved Node

Branches the business process flow, based on whether or not the order is approved by the manager. If the order is approved, then the business process proceeds to the Check Inventory node. If the order is rejected, then the order process ends.

The Decision node calls the isApproved() Java method to branch the business process flow accordingly.

CheckInventory Node

Checks the company inventory for the ordered item.

The Control Send node uses m_AppView, an instance of the Appview1.jcx Application View control, to call the CheckInventoryAsset() method to interface with the Application View to check the company inventory.

The node also uses m_Xform, an instance of the Transforms.dtf data transformation control, to call the following methods:

  • createAssetRequest() to transform the request received into the appropriate format.

  • isAvailable() to determine if the item is available in the company inventory.

Available Node

Branches the business process flow, based on whether or not the ordered item is available in the company inventory. If the item is available, then the business process proceeds to the UpdateAppStatusAvailability node. If the item is not available, then the business process proceeds to the Not Available node.

The Decision node calls the isAvailable() Java method to branch the business process flow accordingly.

UpdateAppStatusAvailability Node

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 is available in the local inventory.

NotAvailable Node

Branches the business process flow, based on whether the reason the ordered item is unavailable is lack of inventory or another condition. If the item is unavailable due to lack of inventory, then the business process proceeds to the UpdateAppStatusNonAvailability node. If the item is unavailable due to another reason, then the order process ends.

The Decision node calls the isNotAvailable() method to branch the business process flow accordingly.

UpdateAppStatusNonAvailability Node

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 is not available in the local inventory.

receiveNewOrderRequest Node

Starts the New Order business process to request the item that is out of stock.

The Control Send node uses m_OrderNew, an instance of the OrderNewItemControl.jcx process control, to call the receiveNewOrderRequest() method to start the New Order business process.

AppStatusUpdate4 Node

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 New business process has been invoked.


 

Order New Business Process

The Order New business process defines the process for requesting a new item from the factory inventory, if the ordered item is not available in the company inventory.

The business process is started by the Order Requisition business process if the item is not available in the company inventory. The business process checks the factory inventory for the item. If the item is available in the factory inventory, the business process ends the ordering process. If the item is not available in the factory inventory, the business process notifies the Manufacturing department to produce a new item and initiates the Billing and Shipping business processes.

To view the Order New business process in WebLogic Workshop, double-click the workflow/OrderNew.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 the node), when applicable, to display the related code in the Source View window.

The following table describes each node in the Order New business process.

Table 4-6 Stepping Through the Order New Business Process 

Business Process Node

Description

OrderNewReceived Node

Defines the asynchronous event that starts the business process: a call from the Order Requisition business process indicating that the ordered item is out of stock.

The Client Request node receives the order as an InputDocument argument.

getInput Node

Transforms the message to the appropriate format.

The Control Send with Return node uses m_Ixform, 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.

CheckFactoryInventory Node

Checks the factory inventory for the ordered item.

The Control Send node uses m_AppView, an instance of the Appview1.jcx Application View control, to call the CheckInventory() method to interface with the Application View to check the factory inventory.

The node also uses m_xform, an instance of the Transforms.dtf data transformation control, to call the following methods:

  • createFactoryRequest() to transform the request received into the appropriate format.

  • isFactoryAvailable() to determine if the item is available in the factory inventory.

findByPrimaryKey Node

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.

Available Node

Branches the business process flow, based on whether or not the ordered item is available in the factory inventory. If the item is available, the business process proceeds to the UpdateAppStatusAvailability node;. If the item is not available, then the business process proceeds to the Not Available node.

The Decision node calls the isAvailable() Java method to branch the business process flow accordingly.

UpdateAppStatus Availability Node

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 is available in the local inventory.

NotAvailable Node

Branches the business process flow, based on whether the reason the ordered item is unavailable is lack of inventory or another condition. If the item is unavailable due to lack of inventory, then the business process proceeds to the UpdateAppStatusNonAvailability node. If the item is unavailable due to another reason, the order process ends.

The Decision node calls the isNotAvailable() method to branch the business process flow accordingly.

UpdateAppStatusNotAvailability Node

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 is not available in the local inventory.

NotifyManufacturing Node

Notifies the Manufacturing department that a new item needs to be produced.

The Control Send node uses notifyManufacturingControl, an instance of the NotifyManufacturingControl.jcx web service control, to call the notifyMethod() method to notify the Manufacturing department.

BillingShipping Node

Requests the Billing and Shipping departments to generate a bill for the new item (just produced by the Manufacturing department) and to ship it to the recipient.

The Control Send node uses mPublish, an instance of the Publish.jcx Message Broker control, to call the notifyMethod() method to send requests to the Billing and Shipping departments.

Before sending the requests, the node uses m_NetTransform, an instance of the TransformsNetworkMessage.dtf data transformation control, to call the transformToBasicTypedNet() method to transform the requests to an intermediary format, NetMessageDocument, in preparation for delivery to the Message Broker.


 

Billing Business Process

The Billing business process defines the sequence of tasks required to bill for the ordered item.

The business process is started by the Order New business process if the item needs to be produced by the Manufacturing department. The business process checks the origin of the order. If the order was generated inside the company, the business process charges the appropriate department. If the order was generated outside of the company, the business process generates a bill and sends it to the recipient.

To view the business process in WebLogic Workshop, double-click the workflow/WorkflowBilling.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 the node), when applicable, to display the related code in the Source View window.

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

Table 4-7 Stepping Through the Billing Business Process 

Business Process Node

Description

Subscription Node

Defines the asynchronous event that starts the business process: a billing-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 destination1 field in the NetMessageDocument argument received to the filter value, billing.

transformFromBasicNet Node

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.

getInput Node

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.

findByPrimaryKey Node

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.

AppStatusUpdate1 Node

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 Billing department.

Intra Company Node

Branches the business process flow, based on whether or not the order was generated inside the company. If the order is internal, the business process proceeds to the Charge Dept node. If the order is external to the company, then the business process proceeds to the Not Intra Company node.

The Decision node calls the isIntra() method to branch the business process flow accordingly.

Charge Dept Node

Charges the appropriate department to process an order that is internal to the company.

The Perform node calls the chargeDept() Java method to charge the appropriate department.

AppStatusUpdate2 Node

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 department has been charged.

Non Intra Company Node

Branches the business process flow, based on whether or not the order was generated external to the company. If the order is external, the business process proceeds to the GenerateBill node. If some other condition is raised, the order process ends.

The Decision node calls the isNotIntra() method to branch the business process flow accordingly.

GenerateBill Node

Generates a bill for the order.

The Control Send node uses billCtrl, an instance of the GenerateBillControl.jcx web service control, to call the generateBill() method to generate a bill for the order.

AppStatusUpdate3 Node

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 bill has been generated.


 

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.

Table 4-8 Stepping Through the Shipping Business Process 

Business Process Node

Description

Subscription Node

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.

transformFromBasicNet Node

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.

getInput Node

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.

findByPrimaryKey Node

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.

AppStatusUpdate1 Node

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.

Schedule Delivery Node

Schedules the delivery of the ordered item.

The Perform node calls the schedule() Java method to schedule the delivery.

AppStatusUpdate2 Node

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.

Generate Shipping Notice Node

Generates a shipping notice for the ordered item.

The Perform node calls the shippingNotification() Java method to generate the shipping notice.

AppStatusUpdate3 Node

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.


 

 

Skip navigation bar  Back to Top Previous Next