bea.com | products | dev2dev | support | askBEA

Download Docs | Site Map | Glossary
Search

Introducing WebLogic Integration

Business Process Management

Business processes are fundamental to the success of a business. They consolidate company-wide tasks, actions, decisions, and events into a continuous flow that keeps business activity moving forward. Business processes can be internal to a business, coordinating simple interactions between different departments, or they can be public processes that orchestrate the collaboration between trading partners. Business processes can be as brief as a single transaction, or they can be long-running, spanning days or weeks.

The key to integrating applications, systems, and people into a single, integrated solution is the ability to manage business processes. WebLogic Integration provides comprehensive functionality that enables the integration of diverse applications into a single system within an enterprise, and the coordinated exchange of information between trading partners outside of the enterprise.

The following sections describe the business process management (BPM) functionality provided by WebLogic Integration:

- Developing Business Processes

- Run-Time Interaction

- APIs for Developing BPM Client Applications

- Plug-In Framework

- Sample Business Processes

Developing Business Processes

WebLogic Integration provides the functionality needed to design, execute, and monitor complex, enterprise-wide processes that span applications, systems, and people. WebLogic Integration includes a Java-based process engine that manages the run-time execution of business processes throughout the enterprise.

Figure 2-1 Business Process Management Functionality

Design

To design processes, integration specialists use the WebLogic Integration Studio. The Studio provides a graphical interface in which familiar flowchart elements are available for workflow modeling. A workflow is a graphical representation of a business process.

Figure 2-2 WebLogic Integration Studio

To model workflows, integration specialists first identify the required elements, and then, using the Studio, they define the process flow, arranging individual elements into the proper sequence to produce a workflow template definition. Template definitions created using the Studio are saved in the template store, which is implemented through a JDBC database, such as Oracle or SQL Server.

The template definition contains geometrical shapes called nodes that graphically depict the flow of a business process with all of the necessary activities linked in the proper sequence. The Studio provides the following nodes.

Table 2-1 Workflow Nodes

Shape | Name | Represents
--- | --- | ---
| Start | Beginning of a workflow
| Task | Unit of work or discrete activity in the workflow
| Decision | Condition in the workflow that must be evaluated
| Event | Wait state that can be activated by the receipt of an XML message
| And Join | Merge of two separate paths of a workflow. Both paths must complete executing before the flow continues.
| Or Join | Merge of two separate paths of a workflow. One of the paths must complete executing before the flow continues.
| Done | End of the workflow

Nodes can include actions, which are units of work that are performed when a node is activated in the workflow. The Studio provides a wide variety of actions. Some actions, such as Start Workflow, can be used to manage an entire workflow. Other actions, as shown in Figure 2-1, can integrate a workflow with external software, such as when an action calls an EJB method or sends an XML message to another application.

Public and Private Business Processes

Using the Studio, integration specialists can develop both public and private business processes. In the B2B integration environment, public processes are also known as collaborative processes. To develop public processes using the Studio, the B2B integration plug-in must be installed. For more information about the B2B integration plug-in, see Plug-In Framework.

Figure 2-3 Public and Private Processes

Public processes enable the interaction of trading partners in a collaborative, business-to-business arrangement by choreographing the exchange of business messages between them. These inter-enterprise processes have unique requirements that exceed those of private processes. The design and management of these processes is subject to the agreement of the trading partners. They are part of a formal contract that defines the content and semantics of the messages exchanged by the partners, and they may be standardized across an industry or industry segment.

Private processes are internal to an enterprise. They are not exposed outside of the enterprise, and customers or trading partners do not interact with them directly. A private process might handle the interaction between an enterprise and its customers, but the interaction takes place through a Web site. For example, placing an order for a computer on a Web site might trigger a private process that performs the following tasks: inventory check, credit card validation, transmission of a confirmation email, order building, and order shipment.

Execution

The underlying process engine manages the execution of business processes, automatically sequencing and implementing the prescribed process elements. During execution, XML is used for data representation, and JMS is used for messaging between workflows and other applications.

As Figure 2-1 shows, business processes can be started in a number of ways, depending on their design. Specifically, they can be:

- Called by an application or another workflow

- Invoked manually by people using a client application, such as the WebLogic Integration Worklist

- Triggered by the receipt of an event notification in the form of an XML message. The XML message can come from an application, another workflow, or a trading partner.

- Timed to start automatically at a predefined date and time

At run time, a workflow is converted into a workflow instance. For any workflow, multiple instances can run at the same time. Running instances of a workflow are saved in an instance store, which is implemented through a JDBC database, such as Oracle or SQL Server.

Monitoring and Optimization

Using the Studio, integration specialists can monitor the ongoing effectiveness of business processes by viewing processes in real time, and by collecting run-time statistics for reports. They can then tap into this data to evaluate processes, optimize performance and throughput, and increase uptime. Using this data, integration specialists can also modify ongoing business processes without necessarily interrupting them.

Run-Time Interaction

Note: The Worklist client application is being deprecated as of this release of WebLogic Integration. For information about the features that are replacing it, see the BEA WebLogic Integration Release Notes.

Business processes are sometimes designed to be started or stopped by people, or to include tasks that must be performed by people. These tasks might include making discretionary decisions, handling exceptions, or troubleshooting problems. WebLogic Integration provides an application called the Worklist that people can use to start and stop processes, and to interact with a running process. Using the Worklist, people can handle business process tasks assigned to them, such as making a decision about a customer's credit limit, or they can respond to messages from a process.

Figure 2-4 WebLogic Integration Worklist

APIs for Developing BPM Client Applications

WebLogic Integration provides application programming interfaces (APIs) that developers can use to create the following kinds of custom client applications:

- Configuration clients—Enable end users to configure security realms, business operations, event keys, and business calendars. The Studio uses the APIs to implement its configuration functionality.

- Design clients—Enable end users to perform a variety of workflow design tasks, such as developing workflow template definitions, creating workflow nodes, and importing and exporting workflow data. The Studio uses the APIs to implement its design-time functionality.

- Monitoring clients—Enable end users to monitor business processes in real time, and to collect run-time statistics for reports. The Studio uses the APIs to implement its workflow monitoring functionality.

- Run-time interaction clients—Enable end users to perform workflow interaction tasks, such as starting and stopping workflows, and executing workflow tasks assigned to them. The Worklist uses the APIs to implement its run-time interaction functionality.

Plug-In Framework

WebLogic Integration includes a framework that supports the development of plug-ins. Plug-ins are Java classes that extend the business process management functionality of WebLogic Integration. Developers can use the plug-in framework to integrate other products and technologies into the WebLogic Integration environment. Developers can also use plug-ins to modify the default design-time or run-time behavior of the following workflow components that are available in the Studio:

- Start, Event, and Done nodes

- Task actions

- Properties of workflow templates and template definitions

- Functions

- Message types

- Variable types

WebLogic Integration also includes the following plug-ins that enable integration specialists to integrate other areas of WebLogic Integration functionality with business processes:

- Application integration plug-in—Provides access from the Studio to application views deployed on WebLogic Server. Application views define access to enterprise systems and data. Integration specialists can define actions in workflow nodes that invoke application views to access enterprise systems and data. For details about application views, see Application Integration.

- B2B integration plug-in—Provides workflow actions and extends workflow node properties in the Studio so that they can be used in a B2B integration environment. Integration specialists can use those actions and extended node properties to create public workflows that implement each role in a conversation. For details about public processes, roles, and conversations, see B2B Integration.

- Data integration plug-in—Provides workflow actions in the Studio for translating binary data into XML and vice versa, and a binary variable type to hold binary data during translation. Integration specialists can specify those actions in workflow nodes to perform data translation. For details about translating binary data to XML, see Data Integration.

Sample Business Processes

WebLogic Integration provides samples that show how to use the Studio to design business processes, and that illustrate how to develop plug-ins that extend the business process management functionality provided by WebLogic Integration.

Sales Order

The sales order sample consists of three workflows: order processing, order fulfillment, and order-processing trigger. The workflows illustrate many of the most commonly used features of the Studio. They are packaged in a ready-to-use version so that integration specialists and analysts can use them for demonstrations of running workflows. The WebLogic Integration documentation provides a tutorial, called Learning to Use BPM with WebLogic Integration, which describes the workflows, and teaches integration specialists how to develop them using the Studio.

Plug-In

The plug-in sample, loosely based on the sales order sample, consists of two workflows: order processing and order fulfillment. The workflows contain plug-ins that illustrate how the default functionality in certain workflow nodes can be extended. For example, the Start node in the order processing workflow contains a plug-in-defined event that shows how a workflow can be triggered by a custom event. When the plug-in is used, the Start node is triggered only by a custom XML event; it cannot be triggered by any of the default methods defined in the Start node.