bea.com | products | dev2dev | support | askBEA |
|
e-docs > WebLogic Platform > WebLogic Integration > BPM Topics > Using the Studio > Introduction to the WebLogic Integration Studio |
Using the Studio |
Introduction to the WebLogic Integration Studio
WebLogic Integration provides a workflow management system that you use to automate business processes. A business process is a series of interconnected business activities that produce some desired result. A graphical representation of a business process is a workflow. You define and monitor workflows using the WebLogic Integration Studio, a WebLogic Integration client application.
The following sections provide an overview of Studio workflow concepts, modeling constructs, tasks, and work models:
About Business Process Management in WebLogic Integration
In an e-business world, businesses must perform effectively at a rapid pace. To achieve this level of performance, many companies automate their business processes by using a business process management system: a system that defines, manages, and executes business processes using software. The order in which business activities are executed in the process is driven by a computer representation of the process called a workflow.
A workflow automates a business process by controlling the sequence of activities in the process, and by invoking the appropriate resources required by the various activities in the process. These resources might be software components that perform a required activity, or they might be people who respond to messages generated by the business process.
To achieve this level of workflow automation, a workflow management system provides support in three broad areas:
WebLogic Integration supports all three areas of workflow management: it supports the execution of workflows using its run-time process engine, and the definition and monitoring of workflows with the WebLogic Integration Studio.
An automated business process does not, however, entirely replace people with computers. People might still be involved in an automated process, either by making discretionary decisions or by handling exceptions or problems as they arise. Thus, WebLogic Integration also includes a Worklist application that end users use to view and execute manual tasks assigned to them. For more information about the Worklist application, see Using the WebLogic Integration Worklist
. Alternatively, programmers can develop their own custom worklist applications by using the WebLogic Integration API. For more information, see Programming BPM Client Applications.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.
About the Studio
The WebLogic Integration Studio is a client application with a graphical user interface that provides functionality in the three broad areas of workflow design, workflow monitoring, and data administration, as follows:
Modeling Business Data
In the WebLogic Integration Studio, organizational data is subdivided into three categories:
Roles allow groups of users to execute manual tasks according to a generic business role within the organization. Roles are defined uniquely within organizations. This allows you to divide your organization into organizational units, and to re-use role names that can have different groups of users attached to them.
Although roles are defined uniquely within organizations, users can belong to one or more organizations, and to one or more roles with those organizations, as the following figure illustrates.
Figure 1-1 Relationship Between Organizations, Users, and Roles
In this example, there are two organizations, Engineering and Support Services, each containing their own roles of Engineer, QA Tester, and Manager. The relationships depicted are summarized in the following table:
The other business data you can model are business rules, such as schedules and workflow routings. You model working hours and schedules with business calendars that can be associated with organizations, roles, and users. You can also create routing specifications that redirect activities to different users or roles for specified periods of time.
Modeling Business Processes
In the Studio, business processes are modelled, diagrammed, and saved as workflow templates in a database. These templates can be associated with multiple organizations, and are essentially empty containers for storing different workflow versions. Templates contain template definitions, which serve as different versions of the same workflow, and are distinguished by effective and expiry dates that determine a range of time in which each version may be available for instantiation, that is, placement in the run-time environment.
The template definition is where you represent the business processes you wish to model, by drawing and connecting shapes that make up the flow. Program control is represented visually by nodes and connections, as shown in the following figure.
Figure 1-2 Studio Workflow Template Definition: Design Area
In addition, template definitions contain actions and exception handlers that execute different activities at run time and variables that collect, store, and distribute run-time data. Template definition components are discussed in more detail in the following sections. Nodes Nodes are geometric shapes that you use to depict a workflow graphically. The Studio provides the following seven nodes:
Actions
Actions are, in a sense, the basic building blocks of a workflow because they define the actual behavior of the workflow. An action can be as simple as assigning a task to a user or as complicated as sending XML messages or invoking Enterprise JavaBean (EJB) methods. Actions may be added to all nodes (except Joins), to exception handlers, and even to other actions.
There are several types of actions:
Variables
Variables hold run-time values and data obtained usually from outside sources, such as Java components and incoming XML documents. They can also be set to constant values by workflow actions. Variables can be used by the workflow for several purposes, such as evaluating a condition in a decision node, creating a label for a template definition, or holding workflow run-time information.
WebLogic Integration supports the following types of variables: Boolean, Date, Double, Entity EJB, Integer, Java Object, Session EJB, String, and XML. Data types can be extended through the use of plug-in types developed for the plug-in framework.
Exception Handlers
Exception handlers are used to generate, trap, and respond to exception conditions that are generated internally or externally. Exceptions can be abnormal conditions that you identify at design time in the workflow that you want to trap, or they can be server exceptions that you trap and respond to accordingly. Workflows can contain custom-defined exception handlers consisting of a series of actions that you specify.
Integrating Users, Applications, and Data
As the design tool for WebLogic Integration, the Studio goes beyond business process management, and helps to integrate all human and automated operations in the e-business cycle. The Studio provides actions for integrating Web-based and back-end applications, interacting with clients inside and outside of the firewall, and transforming data. For more information about the B2B integration, application integration, and data integration plug-in functionality for BPM, see the following documents:
The following sections describe some of the integration scenarios offered by basic Studio actions, and the means by which workflows interface with external components, via XML messaging, business operations, and custom-developed plug-ins.
Integrating Users and Client Applications
Workflows interact with system users via the Worklist or a custom client application using the following methods:
Workflows can also interact with users outside the system by e-mail.
The following figure shows the various interactions that be achieved between workflows and client applications and users. Each scenario is described below the figure.
Figure 1-3 Integrating Users and Client Applications
Integrating External Components and Applications
Workflows can integrate the following kinds of external software components:
Workflows can then exchange data with these external components using the following methods:
The following figure shows the different means by which workflows can interface with external components. Each scenario is described below the figure.
Figure 1-4 Integrating External Components and Applications
Integrating Workflows
Workflows can communicate with each other in the following ways:
The following figure shows the various interactions between workflows. Each scenario is described below the figure.
Figure 1-5 Integrating Workflows
Integrating Data
In addition to exchanging XML messages, workflows can transform XML documents from one format to another, to be passed out to external applications.
Figure 1-6 Integrating Data
In this scenario, the workflow uses an Extensible Stylesheet Language (XSL) template to transform the structure of one XML document into another.
Workflow Design Approaches and Tasks
Theories of system design suggest that, ideally, systems should be designed using a top-down approach. In reality, systems are designed from both the top down and the bottom up. Both approaches are also used for designing WebLogic Integration workflows, as the following figure shows.
Figure 1-7 Designing Workflows
The top-down approach is the one that has been adopted as the organizing principle of this document. However, both top-down and bottom-down approaches are not only valid, but necessary, and you are likely to adopt both in practice. The application of both approaches to specific Studio design tasks and phases is discussed in the following sections. Top-Down Approach The Studio graphical user interface favors a top-down approach in which most external component elements have already been developed. In this approach, the workflow definition process involves moving from mapping out a high-level graphical representation of the basic activities and logic that the application fulfills, to drilling down to deeper levels of detailed specifications. This work model is illustrated in the following flowchart, which summarizes the main tasks you perform when modeling, designing, defining, and testing WebLogic Integration workflows in the Studio. In fact, this is the model that is followed by the structure in this document, and each numbered step, starting with step 3, corresponds to a topic in this document. The figure is explained in detail below. Note that the iterative, circular nature of the design process is not actually represented by loops in the flowchart, for the sake of graphic simplicity. Figure 1-8 Studio Design Work Model: Top-Down Approach
Bottom-Up Approach
The bottom-up approach to design tasks in the Studio involves creating a catalog of reusable, exportable design patterns consisting of variables, actions, nodes, and groups of nodes that can be copied or imported into template definitions and incorporated into flows. This approach still requires that you have undertaken the preliminary tasks of analyzing your application needs and developing required resources. However, rather than beginning by outlining a high-level program flow, you begin by mapping the available Studio actions to the common operations that your workflow(s) need to accomplish, and defining the details of those actions. A suggested work model that follows this approach includes these steps:
Studio Tools
In addition to the graphical drawing engine you use to design process flows, the Studio also provides the following tools to help you manage external resources and define workflow properties:
The XML Finder is a file and content management tool that allows you to access and organize different types of XML content, including Schemas, document type definitions, message formats, and so on, that may be stored in a database table or in files. The XML Finder is described in Managing Entities in the Repository and Using the XML Finder to Retrieve and Export XML Entities.
Many Studio actions allow you to compose, import and export XML documents from within workflows. These actions contain an XML editor that you can use to compose XML document templates from scratch, edit existing documents, and validate content according to XML Schemas. XML editing features are described in Working with XML Entities.
Many Studio dialog boxes require that you enter data in workflow expression syntax. The Expression Builder is an editing tool that allows you to select from a catalogue of operators, literals, workflow functions, and variables you have created, to construct expressions component by component. When you have finished building an expression, the Expression Builder validates the syntax and informs you of any errors. The Expression Builder is described in Using the Expression Builder.
To extract content from incoming XML documents, you use XPath functions to locate the target data in XML elements and attributes. The XPath Wizard is a point-and-click tool that allows you to automatically generate XPath expressions from selected content in sample XML documents or Schema or DTD-generated XML, without the need to master the syntax of the XPath language. The XPath Wizard is described in Creating XPath Expressions Using the XPath Wizard.
The Import/Export wizard allows you to export all workflow templates, template definitions and associated resources, such as business operations, event keys, plug-ins, and XML entities, that have been defined in the system. Workflow objects are exported to a Java archive file and can be re-imported to any system running the Studio. The Import/Export wizard is discussed in Importing and Exporting Workflow Packages.