Skip to main content

Learn business process modeling basics for the analyst

Ken Beck (kabeck@us.ibm.com), Managing Consultant, IBM Japan, Software Group
Ken Beck is a Managing Consultant working in the IBM Global Services Application Management Services Business Transformation Center of Excellence. He is currently assigned to the IBM BT/CIO Enterprise Component Business Architecture group as a lead process designer developing methods for process model reuse. He has been with IBM as a Business Process Consultant since 1993.
Joshy Joseph, Senior Engineer, IBM Japan, Software Group
Joshy Joseph is a Software Engineer working in IBM Software Group in the IBM On Demand Architecture and Development organization. He is an architect and programmer with primary skills and expertise in the areas of distributed computing, Grid computing, Web services, Business Process, and workflow development. He is the author of the book Grid Computing from Prentice Hall, 2003. In addition, he has written numerous technical articles about grid computing, Business Process development, and Web services.
Germán Goldszmidt, Senior Technical Staff Member, IBM Japan, Software Group
Dr. Germán Goldszmidt is a Senior Technical Staff Member working in IBM Software Group, with focus on architecture of an integrated platform to deliver, customize, and deploy SOA composite applications to enable business services. Previously, he was a researcher at the IBM T.J. Watson Research Center, and he led the design and implementation of several technologies, including Océano, the first prototype autonomic computing eUtility, and Network Dispatcher, the load balancer component of WebSphere products.

Summary:  A business process model facilitates the alignment of business specifications with the technical framework that IT development needs. A shared model can help to keep the business and IT views of the process synchronized. Discover some of the modeling concepts that analysts use to define business processes and explore some of the features in IBM® WebSphere® Business Integration Modeler that support these concepts.

Date:  22 Feb 2005
Level:  Introductory
Activity:  6149 views

What is business process modeling?

A process is a specific ordering of activities with clearly identified inputs and outputs that provide business value. For example, a technical document search process takes a customer's search request from a Web page and produces a list of documents from which one can be selected.

Modeling a process presents significant challenges. Modeling should ensure consistency and thoroughness in capturing relevant information so that both business analysts and the developers can understand the business requirements that are captured in the model. During modeling, alternatives and exceptions to standard procedures must be captured, in addition to normal operations. Professionals with different scopes of interest and expertise can build process models to meet a wide range of business objectives. For example, an analyst requires a high-level view of a process to drive strategic decisions and to do process analysis such as simulation. A developer uses a process model as the input to implement a solution.

An analyst constucts a business process (BP) model based on requirements collected from discussions with the business requirements owners. These requirements are gathered using appropriate tools, such as PowerPoint, spreadsheets, IBM® Rational® Requisite Pro, or any of another set of tools, and when appropriate, the process modeling tool itself. The analyst uses these requirements, together with an analysis of the existing processes, as input to construct the model. Existing process models could be used for analysis of the existing processes or to create new process models by modifying existing models rather than recreating it from scratch.

Modeling starts with the structuring of a BP into sub-processes. Subsequent analysis is done on each sub-process of interest to identify the components, services, data inputs and outputs, policies, and measurements. These elements are encoded into the BP model using the WebSphere® Business Integration Modeler software tool (Business Integration Modeler).

A modeling artifact called a process element is used to define a segment of a BP which is designed to be reusable. A process element is an artifact asset that defines a segment of a process which is designed and managed to be reusable within BP models. They incorporate established series of tasks and decisions, references to data objects, policies, roles, and measurements. For example, a login process element includes a series of activities, the log-in credential data, and log-in rules for completing a user log-in process.

These process elements represent accepted operational practices, which can be reused for similar needs, for example, as a sub-process model to verify and price the contents of a shopping basket.

A service element is a pre-defined service which can be imported in Business Integration Modeler to be integrated in the model. These service elements specify the input, output, and operations of a published Web service. For example, a service element can specify the Web service that exposes a remote parts supplier.


Tools for BP modeling

Business Integration Modeler provides business analysts with a tool to model, analyze, simulate, and improve business processes before transforming or exporting them into UML models for Rational XDE or Business Process Execution Language for Web Services (BPEL4WS) for WebSphere Business Integration Server Foundation (Business Integration Server Foundation). We use Business Integration Modeler V5.1 to create BP models and export them to WebShere Studio Application Developer Integration Edition V5.1.1 (Application Developer), as shown in Figure 1.


Figure 1. Model transformation from analyst to developer
Model transformation from analyst to developer

Business Integration Modeler V5.1 provides a rich set of capabilities for process modeling including a number of graphical and text editors, business operations models (BOM), and a transformation mechanism to convert BOMs to corresponding target platform artifacts.


Figure 2. Business Integration Modeler editors, models, and transformations
Business Integration Modeler editors, models, and transformations

As Figure 2 shows, an analyst creates various process elements in the appropriate editor (for example, a use process editor for the graphical representation of a BP flow, consisting of activities and the connections between them). These process elements are stored as BOMs in disk files. Business Integration Modeler automatically applies the corresponding validations on the BOM. At a later stage during the model export time, the analyst will apply the correct transforms to convert the BOMs to corresponding target artifacts. Figure 2 also shows four types of artifact exports that are supported:

  1. Business Integration Modeler artifacts (Business Process Execution Language (BPEL)+/XML Schema Definition (XSD)/Web Services Description Language (WSDL))
  2. FlowMark Definition Language (FDL) for MQ Workflow
  3. UML
  4. Delimited text

Business process modeling comprises the following:

  1. Gather BP requirements.
  2. Model business Items.
  3. Model roles and resources.
  4. Model services.
  5. Model policies.
  6. Model Key Performance Indicators (KPI).

We will take you through each of these steps in more detail in the following sections.


Gather BP requirements

The BP analyst works with the BP owners and domain experts to get all of the information required to build the BP model. For example, the analyst gathers roles, tasks, sequence information, resources, data, narratives, requirements, and so on using appropriate tools and uses them as input to construct the BP model. By creating a model of the process in the Business Integration Modeler, the information that the business analyst captures can be easily exported for the workflow developers to use in the Application Developer tool.


Model business items

Business items are business documents, work products, or commodities that are used in business operations. Some examples of business items are order documents, customer address, and bills of materials. An analyst could import a data model defined in XML schema format or could create a new data model using the Business Integration Modeler.

The elements of data modeling include the creation of the following:

  • Data catalogs
  • Business items
  • Business item templates
  • Business item instances

Data catalogs are folders used to organize the business items, templates, and item instances. The creation of a data catalog is optional; otherwise the data models can be created in the Business Integration Modeler default Business items data catalog.

The business items are created and added to an existing data catalog. The business item attributes or properties are then added to the business item. For example, we can have an order business item with its attributes such as orderItems and valid. These attributes could be simple types (String, Integer, Boolean, and so on) or could be business items from the same or a different data catalog. For example, an orders business item could include an orderItems attribute of type OrderItem from the same or a different data catalog.

Business item templates enable creating business items with common attributes. The new business item could add new attributes that are not present in the template. For example, you can create an orderItem template with the appropriate attributes and later use that template for the creation of the purchase order and manufacturing bill of materials items without typing the entire orderitem attributes. In addition, you could add appropriate extensions by adding new attributes. For example, you can create a purchase order item by deriving from the orderItem template and then adding additional attributes such as purchase date, location, store, and so on. A business item instance represents a specific occurrence of a business item, for example, an order with a manufacturing number "1xDBCS."

A guide for modeling business items

It is possible to associate rules with the business items and their individual attributes. However, since this feature is currently not supported for BPEL export, it should be documented in the model to assist the developer. We recommend creating the necessary data catalogs and business items as a first step in modeling the process so that they are available to be associated with the tasks.

Create an ordered sequence (array) of business items by setting the minimum and maximum values for the item attributes. Import business items from existing XML schema elements using the XSD import option in the WBI modeler whenever possible. Data catalogs are mapped to java packages and target namespace in XSD schema, hence we recommend the proper use of data catalog names to avoid development problems.


Model business roles and resources

Resources represent the people, equipment, or material used to perform a task. Roles add additional characteristics to a resource. For example, an employee resource could have a role of Manager. Roles are assigned to tasks mainly for use in processes that have staff activities. For example, an administrative staff could handle an exception in a task (for example, invalid order, system failure). Process analysis is conducted by adjusting the resource allocations. This analysis provides details on resource utilization levels and helps to calculate the cost and cycle-time. This helps to perform process optimizations and improvements. Also, for workflow, the roles are used to assign people to the staff activities.


Model services

In Business Integration Modeler, services are defined as external entities (outside the process being modeled) that can be used from within the organization's processes.

In Business Integration Modeler, you can group sets of inputs as input criteria. Each input criterion defines a particular combination of inputs that can start a process, service, or task. When there is more than one input, the default is an and condition. For the or condition, additional input criteria can be created. Since you are exporting to BPEL, you are restricted to having only one input criterion per element. Similarly, output criteria are used to group sets of outputs. In a Web service WSDL interface model (portType definition) these input and output criteria map to operation input and output messages respectively.

A guide for modeling business services

Even though it is possible to create a number of input criteria and output criteria for each service, it is not allowed in a BPEL model. For BPEL-based executable workflows it is recommended that there be a limit of one input criteria and one output criteria. The WSDL portType operation accepts a single input message and a single output message. Listing 1 shows how input criteria and output criteria are mapped to input and output messages in portType operations.


Listing 1: Input criteria and output criteria
<portType name="ValidateGenerateTopologyPT">        
<operation name="sendValidateGenerateTopology_InputCriteria">
   <input message="tns:InputCriteriaMessage" 
name="InputCriteriaMessage"/>            
<output message="tns:OutputCriteriaMessage" 
name="OutputCriteriaMessage"/>        
   </operation>    
  </portType>
  					

Currently it is not possible to create a service element by reusing the existing service WSDL. To reuse an existing WSDL requires changes in the generated code. The developer should later associate the correct external services through the BPEL partnerLinks.


Model business policies

Analysts might specify the intended policies, but the policies need to be enforced by explicit, executable rules. A policy is typically declarative, for example, "only USA customers can order machine X". Each policy might require one or more enforcement points in the implementation. An enforcement point can be implemented as an explicit step in a process or a specific location in the code. An enforcement point can also occur when processing events. Rules are a useful way to implement a policy enforcement point. A rule is imperative and logically executable. Listing 2 shows an example of a simple rule.


Listing 2: A simple rule
"If !(location(customer) == "USA") then reject(order);"

In some cases, policies are not explicitly stated but are just implicitly defined by an implementation. In other words, the actual set of implemented enforcement points and rules defines the policy.

The analyst documents the policies in the comments field of each task. The developers are responsible for converting the policies to rules. The analyst can add service elements to the model which represent pre-existing services that provide enforcement points. They can also add tasks to represent placeholders for code which will enforce policies. The developer will add the necessary code to implement the task, in other words, execute the correct rules. (See Part 4 of the "On demand business process life cycle" series for details -- see Resources).


Model a process

The task of modeling a process consists of defining the details of a business process flow and modeling all the data, resources, and other elements that the flow uses. A business process is composed of process steps that are normally connected through control flows, and these control flows connect activities with decision nodes. A decision node holds the business rules (transition conditions) that are evaluated to decide what path in the process should be followed. Modeling includes the decomposition of a BP into sub-processes and adding required process elements to the model. The analyst can apply pre-existing modeling artifacts (for example, service or process elements) to facilitate and speed-up the construction of the model. The paper "Business process modeling using WebSphere Business Integration Modeler" (part of the "On demand business process life cycle" series) describes how to construct process models from the modeling artifacts (see Resources).


Model Key Performance Indicators

Key Performance Indicators (KPI) are measures designed to track the critical success factors of a business. BP monitoring capabilities allow the process owners and administrators to monitor its KPIs in real-time. These capabilities also help the analysts to identify the problems and bottlenecks in the existing processes, thereby closing the development loop as described in Part 1 in this series (see Resources). Business Integration Modeler provides tools to add KPIs to processes to document the critical factors that we intend to track for those processes (see the paper "Business process modeling using WebSphere Business Integration Modeler" for details).


Additional modeling guidelines

  • There are three modes in Business Integration Modeler: FDL, BPEL, and Operational. If the process is to be executed in Business Integration Server Foundation you should begin modeling in BPEL mode. This helps to view and fix the validation errors in the Error View before attempting to export the model.
  • The Advanced Business Modeling user profile should be used to add run-time requirements, such as input criteria for controlling task execution and use of repositories.
  • Business Item Modeling Refinements -- business items can be defined without all of the detail and be refined later with more details such as new attributes. They also can be imported from XSD files.
  • Fault Handling should not be part of the model, but left to the workflow developer (for example, the handling of service timeouts).

Process model validation

Placing the modeler in BPEL mode turns on the BPEL validation checker. Any errors or warnings appear in the Error View. You can filter this list to show errors or warnings and select the level of the model from the entire project down to the selected element only. You can export the model with errors, but these errors should be fixed eventually to prevent reworking future exports.


Process model export

The modeler exports the required BPEL, XSD, and WSDL files for the Application Developer tool -- either to an existing service project, or to a folder for later import to a service project.


Figure 3. Generated files and their relationship with process model elements
Generated files and their relationship with process model elements

Figure 3 shows the generated files and the relationship between the process model elements and the corresponding artifacts in the generated files. For example, complex business items are generated as XSD Complex types. It is possible to export the entire business modeling project or a selected portion of the project. Another important option that could be chosen while exporting is the selection of process execution mode. There are three different options available, and the default is Long-running (request-reply)

Process execution modes

While exporting the process model to BPEL based executable workflow artifacts, three execution modes are available:

  1. Long-running (receive/reply) -- This option sets the executable BPEL workflow mode to a long-running process and specifies the process operation as a two-way operation with both input and output messages. Long-running processes are interruptible and this enables introduction of staff and other activities that might require interrupting the process execution.
  2. Long-running (receive with callback) -- This option sets the executable BPEL workflow mode to a long-running process and specifies the process operation as a one-way operation, which accepts only input messages and no output. However, a callback operation is created to enable the process to return the result to the caller. A BPEL correlation set is created but, no correlation property is added. It is expected that the developer will later add the necessary properties.
  3. Microflows -- This option creates workflow process operations which accept two-way messages. However these processes are non-interruptible, so it prevents adding staff activities to the process. If the process model contains tasks with resources and roles based on staff or person, the model exports with staff activities enabled. However, the exported executable model has validation problems which the developer must correct.

Conclusion

A business analyst's top-down modeling is a key element of the on demand business process life cycle methodology. The business process model defines the technical framework to align business specifications with IT development. A shared model is preserved over the lifetime of the business process, helping to keep the business and IT views synchronized. This paper introduced some of the concepts of process modeling that analysts use to define business processes using WebSphere Business Integration Modeler V5.1. In addition, it introduced some modeling guidelines and described the various export options in Business Integration Modeler and the generated artifacts which are used as input to the development tools.


Appendix

Business Integration Modeler V5.1: Core features

WebSphere Business Integration Modeler V5.1 is an easy-to-use tool designed specifically for business users to capture and document the specific steps of a business process. Included as core features are the following:

User Profiles: Business Integration Modeler provides three different user profiles which allow different views of the same process model with different details. The three profiles are: basic, intermediate, and advanced. These profiles are associated with the roles of the different users. A business domain expert or analyst uses the basic profile which illustrates the business tasks as sequences of activities, while the rest of the model information is captured as documentation. The intermediate profile is more technically oriented with details on data models, expressions, and cardinality information and is more suited for business architects. The advanced profile provides the comprehensive details on the process and data models. This profile is well-suited for solution or IT architects. It should be noted that switching the profile does not change the underlying data model.

Technology Modes: There are three technology modes: operational, BPEL, and MQ Workflow FDL. Based on the technical expertise and the view on the required details, you could switch between the modes. Some options and notational elements can be disabled in some modes, and selecting the appropriate model helps define appropriate artifacts for the target workflow execution environment. Note that switching the modes does not change the underlying data model.

Catalogs: These are a logical grouping of similar modeling entities. These catalogs include the following:

  • Data (business items such as order, product)
  • Processes (main process, sub process, services, tasks)
  • Resources (roles such as customer service representative, sales manager, or resources such as Web server, app server)
  • Organization (organization hierarchy, location)
  • Report (summary, comparison, documentation)

These groupings increase the reusability of the modeling entities.

Processes: Processes are a sequence of activities, conditions that dictate when these activities will be performed, resources required to perform activities, and the data flows between activities and interaction with services. These processes are modeled using the diagramming notations provided by the tool.

Simulation: Process model simulation helps the organization to observe how a process will perform under the variations of input. This feature provides capabilities for varying the input, associating cost factors, and adjusting the resources/current allocations to simulate a real business scenario. These simulations could enhance the analysis on the critical path, shortest path, cycle time, and cost/time measures about the process model.

Reporting: This feature provides a valuable guidance in process analysis and redesign. There are various reporting features available, including process summary, comparison reports on two process models, comparison on As-Is versus To-Be on ROI measurements, documentations, and procedure (rules, policies and procedures) report.

Analysis: There are two types of analysis that could be performed on a process model: static analysis and dynamic analysis. In the case of static analysis, most of the information is extracted from the model and used to analyze cost, time management, performance, process flow validity, and resource leveling. The dynamic analysis is done on the output from the simulation process based on the output logs or the events. There are two kinds of dynamic analysis: aggregated analysis (based on the from multiple execution of the process model elements) and case analysis (using one instance of execution of a specific sequence of process elements).


Resources

About the authors

Ken Beck is a Managing Consultant working in the IBM Global Services Application Management Services Business Transformation Center of Excellence. He is currently assigned to the IBM BT/CIO Enterprise Component Business Architecture group as a lead process designer developing methods for process model reuse. He has been with IBM as a Business Process Consultant since 1993.

Joshy Joseph is a Software Engineer working in IBM Software Group in the IBM On Demand Architecture and Development organization. He is an architect and programmer with primary skills and expertise in the areas of distributed computing, Grid computing, Web services, Business Process, and workflow development. He is the author of the book Grid Computing from Prentice Hall, 2003. In addition, he has written numerous technical articles about grid computing, Business Process development, and Web services.

Dr. Germán Goldszmidt is a Senior Technical Staff Member working in IBM Software Group, with focus on architecture of an integrated platform to deliver, customize, and deploy SOA composite applications to enable business services. Previously, he was a researcher at the IBM T.J. Watson Research Center, and he led the design and implementation of several technologies, including Océano, the first prototype autonomic computing eUtility, and Network Dispatcher, the load balancer component of WebSphere products.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and Web services, Architecture
ArticleID=48697
ArticleTitle=Learn business process modeling basics for the analyst
publish-date=02222005
author1-email=kabeck@us.ibm.com
author1-email-cc=
author2-email=
author2-email-cc=
author3-email=
author3-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers