ÉÂÔ Image and Workflow Library: FlowMark V2.3 Design Guidelines Bob Stegmaier Mike Ebbers Tomislav Begovac International Technical Support Organization http://www.redbooks.ibm.
ÉÂÔ International Technical Support Organization Image and Workflow Library: FlowMark V2.
Take Note! Before using this information and the product it supports, be sure to read the general information in Appendix C, “Special Notices” on page 29. Third Edition (February 1998) This edition applies to Version 2 Release 3 of IBM FlowMark, Program Number 5697-216 for use with the OS/2, Windows NT and AIX Operating Systems. Comments may be addressed to: IBM Corporation, International Technical Support Organization Dept.
Contents Preface . . . . . . . . . . . . . . . . The Team That Wrote This Redbook Comments Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 1. Introduction and Overview . . . . . 1.1 Basic Concepts of FlowMark . . . . . . . . . 1.2 FlowMark Buildtime: Defining Your Processes Chapter 2. Importance of Process Design 2.1 Function, Performance, and Capacity . 2.
A.3 Data Containers A.4 Other Things . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Appendix B. The FlowMark Internet Site Appendix C. Special Notices . . . . . . . . . . . . . . . . . . . . 27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Appendix D. Related Publications . . . . . . . . . . . . . . D.1 International Technical Support Organization Publications D.2 Redbooks on CD-ROMs . . . . . . .
Preface This redbook tells you how to design your FlowMark processes to optimize performance, capacity and resource utilization. This version has been updated for IBM FlowMark V2.3 and runs on the OS/2, NT and AIX platforms. It was written for technical professionals such as solutions architects, consultants, and application programmers who are implementing a FlowMark system. Some knowledge of FlowMark and client/server issues is assumed.
Comments Welcome Your comments are important to us! We want our redbooks to be as helpful as possible. Please send us your comments about this or other redbooks in one of the following ways: Fax the evaluation form found in “ITSO Redbook Evaluation” on page 51 to the fax number shown on the form. Use the electronic evaluation form found on the Redbooks Web sites: For Internet users For IBM Intranet users http://www.redbooks.ibm.com/ http://w3.itso.ibm.
Chapter 1. Introduction and Overview Workflow management helps you manage and control your business processes, pinpoint areas for improvement, and streamline your procedures for speedier cycles and shorter response times. By defining the flow of work, everyone is notified of outstanding work and presented with the required information and an appropriate application to perform the task. 1.1 Basic Concepts of FlowMark FlowMark is a tool to help you automate and streamline your business processes.
The Staff Definition facility is used for the definition of staff personnel to which activities could be assigned. It maintains information about people, skill levels, roles, organizations, their relationships and their authorizations. The Program Registration facility is used to register programs that are invoked at process execution by an activity, and to specify input/output parameters for the programs.
Chapter 2. Importance of Process Design The design of your processes is critical to the project and to your business. It must be done well. You should expect to refine your processes on an ongoing basis. Since FlowMark provides data in the audit trail on process performance, you can more easily find the weak points in the processes. Since the “process flow” is now in FlowMark and not buried deep in a large application, it is easy to make the changes necessary to achieve the improvements. 2.
2.2 Understand the Basis: FlowMark V2.3 The suggestions in this redbook are based on FlowMark as it is implemented in Version 2 Release 3, the generally available (GA) level of code. As early users find new and intriguing ways to solve their business problems using workflow, they will at times desire functions that are not offered or find uses that exceed the capacity intended by the original design.
Chapter 3. Client/Server Can Mean Multiple Servers While FlowMark is a client/server tool, do not limit your thinking and design to a single server. You should consider capacity and performance in your design, and there are times when you will need multiple servers to achieve your goals, particularly if you are designing something larger than a departmental system.
The expectation in this concept is that each server and database combination are independent of any other. There is no communication between FlowMark servers. However, this solution could, over time, be combined with the following option. Have processes on one or more servers perform subprocesses on other servers. This function in V2.3, introduces the concept of domains. A domain is what most people consider as the “FlowMark server,” the FlowMark Runtime server and its database.
Chapter 4. How Big is a Process? How big should a process be? How much of the business should it encompass? How many activities should it contain? The answer lies somewhere between bigger than the head of a pin and smaller than a galaxy. Again, there are no hard-and-fast rules, but some guidelines can help. If the process has only one or two activities, it is probably too small. If one person does “this” then “that” and is done in one minute, then FlowMark may not add much to the work effort.
two-activity processes (or subprocesses) need to be questioned as they will entail this overhead, which is much more than just “inline” activities. On the other hand, a very large process, with many activities and long paths that are infrequently used because of the transition conditions, can impact database size. The process instance size is influenced by the number of activities, and the instance takes this database space as long as it exists, although noticeably less in V2.3 than with earlier releases.
Chapter 5. Starting and Deleting Process Instances The most obvious way to start a FlowMark process is to open your process list, copy a process template and start the instance manually. But it is probably better to provide a simple FlowMark API program to do that. This program could be accessible to users via an icon on their desktop, or could be called by one of your application programs that determines the need for a process to start as the result of some business event. 5.
Write a program that calls the ExmDeleteProcess API. You can use this API to explicitly delete individual instances whenever you wish, based on such things as time and date or other criteria external to FlowMark processing. The finishing and subsequent deletion of process instances is at least as resource intensive as creating an instance.
Chapter 6. How Big is an Activity? How much work should an activity represent? How long should a user take to complete an activity? For activities that involve the user interacting with a program, thinking about the problem, and then responding correctly, consider these guidelines: An activity is done by one person (if you want another person involved, that is a reason to create the next activity).
Here is an example. A new customer comes to your retail business. You would like to keep the customer for a long time so, as part of the “new customer process,” you gather information into a database. The process design has the following activity steps: 1. 2. 3. 4. Enter Enter Enter Enter customer and spouse names social security numbers addresses home/work phone numbers, etc. This is too detailed. It looks more like a program design than process design.
Chapter 7. How Many People Do I Assign to an Activity? There are many options in FlowMark to help assign activities to different people. These are quite helpful in getting the job done. But do not go overboard, giving everything to everyone. Think about the implications. Narrow the range of who is assigned activities as quickly as possible in the flow of your process. One reason to assign an activity to multiple people is to enable them to do their own load balancing, all picking from a single list of work.
If there is some front end program that uses FlowMark API calls to create and start process instances, have it divide the work in a round robin way: one for team A, then team B, then team C, then back to A. You can use the system fields in the data container to limit the “range” by department, or have separate roles whose members have the same job. For instance, instead of a role “Clerk” for billing, you may have roles CLERKA, CLERKB, and CLERKC.
Chapter 8. When Do I Use an Activity Block? An activity block is a construct that allows you to group several activities together. Its major functions are: To reduce clutter at a higher level. This lets you have a cleaner big picture at upper levels of your process. To allow a loop. The activity block can have an exit condition, so the entire block is repeated until particular conditions are met. This gives you a “do until” construct for a group of activities.
16 FlowMark V2.
Chapter 9. When Do I Use a Subprocess? A subprocess is really just a process, but it is called by another (parent) process. It has functions similar to an activity block, but it can do more for you. The characteristics of a subprocess include: Reusability: a subprocess can be invoked at multiple points in a single process; and it can be invoked from different processes. It is a reusable object. It can run as a stand-alone process.
leave the activities inline. If there is a low probability of needing the function, a subprocess is preferable. Also, with subprocesses there are also the considerations of ease of use and having a reusable object. You must make the trade-offs. 18 FlowMark V2.
Chapter 10. Data Container Usage The FlowMark data container is used to pass information from activity to activity within the process. It also controls the flow within the process when data fields are used in transition conditions. The terminology used is “process-relevant data.” It is important to understand this concept. The data container is not intended to be a database.
20 FlowMark V2.
Chapter 11. Using FlowMark Functions Wisely There are many functions in FlowMark that can influence system performance but are not directly related to process design. They relate to end-user activities. The people who design a FlowMark system, those with the most knowledge of FlowMark, frequently have the opportunity to influence the training the users get. Therefore, here are some guidelines to help your users. 11.1 Sign On and Sign Off It is best to sign on to FlowMark once a day.
To see the exact possibilities, or to help train your users, do the following, starting from the Runtime client icons: For work lists, select the work list icon, then the specific work list. Open settings, and go to the Activities page. You can do this for each work list if you have multiples. For process lists, select the User information icon, then select the database, then in the Personal data notebook, go to the Processes page.
arrays of data container items. The effects of large data containers was discussed in Chapter 10, “Data Container Usage” on page 19. Chapter 11.
24 FlowMark V2.
Appendix A. Factors Influencing the Size of a FlowMark Data Base When you design your process in FlowMark Buildtime, you create a process model. You then translate this model and create a process template. This is a bit like compiling a program. The template contains the rules and other information necessary to run an instance of the process. You will likely have many instances of each process template active in FlowMark at any point in time.
A.2 Results of Staff Resolution When FlowMark determines that a particular activity should be run, it goes through a function called staff resolution. This function determines who should have this activity as "ready" on their work list.
Appendix B. The FlowMark Internet Site If you would like more information on FlowMark, visit the Internet site: http://www.software.ibm.com/ad/flowmark Here you will find lots of information on what is happening in the world of FlowMark, frequently updated. Copyright IBM Corp.
28 FlowMark V2.
Appendix C. Special Notices This publication was written to give system architects more information to plan for the number of servers needed for their FlowMark system, and to design it for better performance. The information in this publication is not intended as the specification of any programming interfaces that are provided by FlowMark.
The following terms are trademarks of the International Business Machines Corporation in the United States and/or other countries: AIX DB2 IBM OS/2 AIX/6000 FlowMark Operating System/2 The following terms are trademarks of other companies: C-bus is a trademark of Corollary, Inc. Java and HotJava are trademarks of Sun Microsystems, Incorporated. Microsoft, Windows, Windows NT, and the Windows 95 logo are trademarks or registered trademarks of Microsoft Corporation.
Appendix D. Related Publications The publications listed in this section are considered particularly suitable for a more detailed discussion of the topics covered in this redbook. D.1 International Technical Support Organization Publications For information on ordering these ITSO publications see “How to Get ITSO Redbooks” on page 33.
32 FlowMark V2.
How to Get ITSO Redbooks This section explains how both customers and IBM employees can find out about ITSO redbooks, CD-ROMs, workshops, and residencies. A form for ordering books and CD-ROMs is also provided. This information was current at the time of publication, but is continually subject to change. The latest information may be found at http://www.redbooks.ibm.com/.
How Customers Can Get ITSO Redbooks Customers may request ITSO deliverables (redbooks, BookManager BOOKs, and CD-ROMs) and information about redbooks, workshops, and residencies in the following ways: Online Orders — send orders to: In United States: In Canada: Outside North America: IBMMAIL usib6fpl at ibmmail caibmbkz at ibmmail dkibmbsh at ibmmail Internet usib6fpl@ibmmail.com lmannix@vnet.ibm.com bookshop@dk.ibm.
IBM Redbook Order Form Please send me the following: Title First name Order Number Quantity Last name Company Address City Postal code Country Telephone number Telefax number VAT number Card issued to Signature Ø Invoice to customer number Ø Credit card number Credit card expiration date We accept American Express, Diners, Eurocard, Master Card, and Visa. Payment by credit card not available in all countries. Signature mandatory for credit card payment.
36 FlowMark V2.
Glossary Note: This glossary defines terms and abbreviations for IBM FlowMark. For more information about the differences and other terms, not defined here, refer to the respective publication as listed in Appendix D, “Related Publications” on page 31. A activity. A unit of work that is performed by one person in one place and at one time. An activity consumes time and resources and has a defined duration with an explicit start and end time.
bar code. Industry standard pattern of vertical lines. You can use bar codes to indicate the beginning of a new folder, the beginning of a new document, or to provide a value to be used in indexing the folder or the document. base product. The product that provides the functionality required for the operation, for example, FlowMark, Lotus Notes. This is the product called via the Service Broker Manager. benchmarking.
change management bus. On the ALOVC, a continuum of repetitive and unpredictable processes for enabling customers to request and affect changes (for example, a proposal, a contract, or an order at any time during the relationship). child organization. In FlowMark: an organization within the hierarchy of administrative units of an enterprise that has a parent organization. Each child organization can have one parent organization and several child organizations. The parent is one level above in the hierarchy.
when a customer places an order to when the customer receives the product). D DASD. Direct Access Storage Device. A device in which access time is effectively independent of the location of the data. data bus. On an ALOVC or a LLOVC, a logical set of data. A logical, dynamic data store. It Starts at the beginning of a logical model, such as ALOVC and LLOVC and continues until the end of the model. It reflects the most current data at any point in a relationship with a customer.
entity. A thing or object of importance to a business about which the business wants to keep information, such as customer or product. event flow. In process-based applications, including FlowMark, an event flow is part of the control flow. It triggers the continuation of activities that are in a wait status. See also control flow, workflow, and task flow. exit condition.
such as an order, a shipping document, or an invoice. Information flows can use various media, such as FAX machines, telephones, or electronic mail, which can be represented on the LOVCs by icons. See also data flow, material flow, and control flow. information system. See system. input container. In FlowMark: storage for data used as an input for activities, processes, or blocks. See also output container. inquiry management bus.
loop. A loop is an iteration of activities on a PLOVC or JLOVC. There are two sets of exit criteria for a loop: 1. One set contains the criteria for exiting the loop through the normal flow when the exit conditions are met. 2. The other set contains the criteria for how often the flow can go through the loop before terminating it if the first criteria are not met. This set also has to describe where the flow continues in case of an abnormal termination. loop connector.
O opportunity area (OA). A point in a process or process path where possibilities, advantages, or other positive factors can help an enterprise meet its goals. organization. An administrative unit of an enterprise. In FlowMark: organization is one of the criteria that can be used to dynamically assign activities to people. See also role, child organization and parent organization. organization unit. An administrative subdivision with reporting lines that implement processes; for example, a department.
process diagram. A graphical representation of a process or process path that shows all its components. process instance. In FlowMark: an executable copy of a process template in Runtime. process management. In FlowMark: the Runtime tasks associated with process instances, such as creating, starting, suspending, resuming, terminating, restarting, and deleting process instances. See also business process management (BPM) and process path management. process manager.
Runtime client. In FlowMark: the user interface for working with process templates, process instances, work lists, and work items. See also Runtime. S screen layout. The design and specifications of the image that the user sees on the screen of a system. See also report layout. service encounter. Any point of contact with your customer. See also moment of truth. shredder. A machine for the destruction of documents. simulation.
order cycle time. The time line shows both actual (As Is) and target (To Be) times. V To Be. The desired state of a process or process path: how it could be or should be. See also As Is. VHLPI. VisualInfo high-level programming interface. The service broker for VisualInfo. It can be used to integrate FlowMark with VisualInfo for document management. To Be view. A chart or diagram showing the desired state of a process or process path. See also As Is view. top-down.
48 FlowMark V2.
Index A D activity 1, 3, 6, 7, 8, 11, 12, 13, 14, 15, 17, 19 automatic 12 block 1, 15 networks 1 notebook 13 staff pages 13 volumes 11 activity block 2 activity, automatically started 1 activity, unattended 1 additional hardware 3 AIX 5, 6 application 1, 3, 5, 6, 7, 11, 12, 17, 19 assign 1 audit trail 3, 9 automate 11 automatic 9, 12 automatically started 1 data container 2, 14, 19 input 19 output 19 data elements 19 data flow 1 data structure 2, 6 Data Structure Definition facility 2 database 3, 7, 10,
headquarters 5, 6 I impact 3, 6, 11, 14, 19, 22 include 19, 21 input container 6 instance 3 K knowledge workers 11 L LAN 3 load balancing 13 M memory (swapping) monitor 9 6 N navigation 1, 19 navigation evaluation 11 network 13, 21 network address 6 nodes 1 notebook, personal data settings notification servicer 10 9 process (continued) design 1, 2, 3, 6, 11, 12, 13, 21 ongoing 3 example 8, 12, 14 example of 5, 7 exception 8 exceptions 7 finished 9 flow 3 guidelines 7 instance 1, 9, 19 invoking 17
server (continued) multiple (continued) no communication 6 subprocess 6 OS/2 5 planning 5 regional 5 registration 2 single 5 step up 5 Unix 5 Server Definition facility 2 shutdown 21 signoff 21 signon 21 skill level 13 staff 1, 5, 13 allocation of 1 staff definitions 17 staff resolution 6, 7, 11 structure 19 subprocess 2, 5, 6, 15, 17 activity notebook 17 on another FlowMark server remote 2 17 T thinking 11 trade-offs 17 training, end-user 21 U unattended user 1 1 V volumes, workload 3 W work list 1
52 FlowMark V2.
ITSO Redbook Evaluation Image and Workflow Library: FlowMark V2.3 Design Guidelines SG24-4613-02 Your feedback is very important to help us maintain the quality of ITSO redbooks. Please complete this questionnaire and return it using one of the following methods: Use the online evaluation form found at http://www.redbooks.ibm.com Fax this form to: USA International Access Code + 1 914 432 8264 Send your comments in an Internet note to redbook@us.ibm.
SG24-4613-02 ÉÂÔ SG24-4613-02 Printed in the U.S.A. Image and Workflow Library: FlowMark V2.