Business Process Management (BPM)


Business Process Management provides functionality to design, execute, and monitor complex business processes using a Java-based process engine, also referred to as a BPM server .

Figure 34.1 illustrates how BPM functionality fits together in relation to other components needed to implement an integrated solution.

Figure 34.1. BPM with respect to other components needed to implement an integrated solution.

graphics/34fig01.gif

WebLogic Integration BPM has the following main components:

  • Process engine ” A Java-based process engine that manages the runtime execution of business processes

  • WebLogic Integration Studio ” A graphical user interface that provides functionality for workflow design, workflow monitoring, and data administration

  • Worklist ” A tool which can be used by users to start and stop processes, and interact with a running process

  • BPM application programming interface (API) ” APIs that programmers can use to access BPM functionality in their client applications

  • Plug-in framework ” A framework that supports development of plug-ins that help extend the functionality of BPM

WebLogic Integration Studio and Worklist are swing-based tools. Studio is used in design time for graphically laying out and modeling processes. This graphical representation of a business process is referred to as a workflow . A workflow can be triggered or invoked at runtime by the following methods (see Figure 34.2):

Figure 34.2. Triggering mechanisms of a workflow.

graphics/34fig02.gif

  • A timer (scheduled time)

  • A manually operated tool such as Worklist (covered later in the chapter) or supplied APIs

  • Another workflow

  • An XML message placed on a JMS destination

  • A plug-in

Let's consider one of the workflows in the platform sample shipped with WebLogic Platform 7.0 (look under %WL_HOME%/weblogic700/samples/platform/e2eDomain/ ).

In this sample, there are two scenarios: One is a B2C portal, and the other is a B2B portal. In the B2C portal case (see Figure 34.3), the consumer uses the portal to shop at Avitek's site for digital cameras and accessories. The user selects items and places them in a shopping cart. After the order is confirmed, it is converted to an XML representation and placed on a JMS queue ( com.bea.wlpi.EventQueue ). This triggers the E2E_OrderWorkflow. The E2E_OrderWorkflow then persists the order information in Order Management tables. Using WebLogic Studio, E2E_OrderWorkflow can be inspected, as shown in Figure 34.4. Note the properties of the start node showing the triggering mechanism as "XML Event".

Figure 34.3. Information flow in WebLogic Platform sample application (B2C Portal).

graphics/34fig03.gif

Figure 34.4. E2E_OrderWorkflow in WebLogic Integration Studio.

graphics/34fig04.gif

Worklist is primarily used for runtime human interactions with the workflows. BPM APIs can be used to design, execute, and monitor client applications. WebLogic Integration BPM functionality also includes a plug-in framework that supports development of plug-ins. This plug-in framework makes WLI BPM very extensible. Using the plug-in framework, other WLI components such as AI and B2Bi can be used in conjunction with BPM.

Process Types

There are two kinds of processes: public and private . Public processes are developed for B2B transactions and enable the interaction of trading partners in a business-to-business arrangement, whereas private processes are internal to an enterprise and trading partners cannot interact with them directly. The BPM Studio can be used to model, execute, and monitor both types of processes. You can develop these inter-enterprise processes using Studio by installing a B2B plug-in (covered later in the chapter). The messages flowing between these processes must be based on a format that is acceptable to all parties involved. ebXML and RossettaNet are among the message standards that are supported by BPM. Private processes are used for intra-enterprise needs. These processes do not interact with any external entities like business trading partners. For example, when a customer places an order on an e-commerce Web site, a private workflow may be initiated to send email confirmation to the customer when the order items are shipped.

The end-to-end integration sample shipped with Platform 7.0, as discussed in Chapter 33, "Introducing WebLogic Integration (WLI)," has both private and public business processes. In the B2B portal, when the Avitek purchase agent submits a Query for Price and Availability (QPA), an XML representation of the QPA is pushed to a JMS destination, which triggers a private workflow. This private workflow invokes a public workflow, passing it the QPA request XML document. This request is then further packed into an ebXML message based on the trading partners' (Supplier One and Supplier Two) agreement. The exchange of this ebXML message takes place through a hub that acts as a proxy between the buyer and the partners (see Figure 34.5).

Figure 34.5. Public and private QPA processes in the end-to-end sample.

graphics/34fig05.gif



BEA WebLogic Platform 7
BEA WebLogic Platform 7
ISBN: 0789727129
EAN: 2147483647
Year: 2003
Pages: 360

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net