# Guide to Building Business Processes

WebLogic Integration's business process management (BPM) functionality enables the integration of diverse applications and human participants, as well as the coordinated exchange of information between trading partners outside of the enterprise. Business Processes allow you to orchestrate the execution of business logic and the exchange of business documents among back-end systems, users and trading partners (systems and users) in a loosely coupled fashion.

This guide introduces the tools in WebLogic Workshop that allow you to create Business Processes graphically, allowing you to focus on the application logic rather than on implementation details as you develop.

The first step in the design of your business process is to build a graphical representation of the business process that meets the business requirements for your project. You create a graph of component nodes in your business process by dragging components from the Business Process Palette and dropping them onto the Design View pane. Program control is represented visually by these nodes (or shapes) and the connections between them. Effectively, you create a graphical representation of your business process and its interactions with clients and resources, such as databases, JMS queues, file systems, and other components.

## Topics Included in This Section

Creating a Business Process Application

Describes how to start WebLogic Workshop and WebLogic Server and provides step-by-step instructions for creating a business process project in WebLogic Workshop. Describes how some of the high-level components you create as you build your business process application (specifically, the names you choose for these components) surface in the finished application.

Starting Your Business Process

Describes how to design the trigger that starts your business process. You can design your business process to start as the result of receiving a request from a client, as the result of receiving a message from a message broker channel to which the business process is subscribed, or as the result of receiving any one of the former types of messages, via an Event Choice node.

Interacting With Clients

Provides step-by-step instructions for creating nodes in your business process that handle interactions with client applications. A business process must be able to receive messages from clients and send messages to clients.

Interacting With Resources Using Controls

Describes how to create nodes in your business process that manage the interactions with external resources, such as databases, EJBs, Web services, and so on. WebLogic Workshop Controls represent the interface between a business process and these external resources.

Receiving Multiple Events

Describes how to create nodes at which your business process waits to receive multiple events, from clients or controls. Event Choice nodes handle the receipt of multiple events. Event Choice nodes, in turn, contain Client Response or Control Receive, or both.

Creating Parallel Paths of Execution

Describes how you can design your business process to execute tasks in parallel.

Defining Conditions For Branching

Describes how to design a Decision node and its associated conditions in your business process. A Decision node is used to select exactly one path of execution based on the evaluation of one or more conditions.

Creating Case Statements

Describes how to design Java-like case statements through using Switch nodes. A Switch node is used to select one path of execution based on the evaluation of an expression specified on a condition node. A Switch node contains one condition node, one or more case paths, and one default path.

Writing Custom Java Code in Perform Nodes

Describes the Perform nodes, which you can customize with Java code.

Creating Looping Logic

Describes how you can design logic in your business process in which the activities enclosed in a loop are performed repeatedly while a specific condition is true.

Looping Through Items in a List

Describes how to design For Each nodes in a business process, that is, how to create the logic that allows your business process to perform a set of activities repeatedly, once for each item in a list.

Specifying Endpoints in Your Business Process

Describes how to design the final node in your business process.

Grouping Nodes in Your Business Process

Describes how to combine business process nodes into a group, for which you can specify properties, such as exception, message, and timeout paths.

Handling Exceptions

Describes exception handlers: global exception handlers, exception handlers on a block or group of nodes, exception handlers for individual nodes, and unhandled exceptions.

Adding Message Paths

Describes how to use Message Paths to execute process nodes in a parallel path to a node or group of nodes after a certain message is received from a client or a resource (via a control). Message paths can be associated with individual nodes, a group of nodes, or with the process (global).

Adding Timeout Paths

Describes how to use timeout paths to execute process nodes in a parallel path to a node or group of nodes after a certain amount of time has lapsed. Timeout paths can be associated with individual nodes, a group of nodes, or with the process (global).

Running and Testing Your Business Process

Describes how you can compile and test a business process using the Test Browser tool.

Business Process Variables and Data Types

Describes the data types supported in your business process application and how to create business process variables.

Versioning Business Processes

Describes how you can make changes to your business process without interrupting any instances of the process that are currently running by using the WebLogic Workshop versioning feature.

Validating Schemas

Describes the different methods you can use to validate your schemas.

Building Stateless and Stateful Business Processes

Describes the differences between building Stateless and Stateful business processes.

Building Synchronous and Asynchronous Business Processes

Describes the differences between building Synchronous and Asynchronous business processes. Also includes information on enabling synchronous clients to interact with business processes that have asynchronous interactions with resources.

Transaction Boundaries

Describes the rules for implicit and explicit transaction boundaries and how to create explicit transaction boundaries.

Business Process Source Code

Describes the source code WebLogic Workshop writes to a business process file (a JPD file), in keeping with your business process design in the graphical design environment.

Building ebXML Participant Business Processes

Describes the template that you can use to build an ebXML participant business process in WebLogic Workshop.

Building RosettaNet Participant Business Processes

Describes how to build public participant business processes for RosettaNet conversations using the RosettaNet participant business process file in WebLogic Workshop.

Related Topics

How Do I: Use the Design View?

Calling Business Processes