Introduction to Q-flow

Introduction

The purpose of this manual is to facilitate the reader’s familiarization with Q-flow. To do this, the following is proposed:

  • Briefly explain what Q-flow is and what it is for.

  • Describe the most important components of Q-flow, and how they relate to the organization and the product users.

  • Describe the basic concepts that make it easier to understand the rest of the Q-flow documentation.

  • Briefly describe each of the manuals that the Q-flow documentation is composed of, so that those who need to consult it know which manual to go to in order to solve a specific problem.

This manual is intended for people who belong to one of the following groups:

  • People who do not know Q-flow and want to know what it is and what it is used for.

  • People who are considering the possibility of adopting Q-flow in their organizations.

  • People who belong to an organization that uses Q-flow, but are not familiar with it.

No technical knowledge is needed to comprehend this manual.

It is expected that a person who has read this document will:

  • Have a sufficiently exact idea of what Q-flow is in order to know if Q-flow can help to solve an issue, or improve a certain aspect of their organization.

  • Comprehend the way in which Q-flow works, not from a technical point of view, but from the point of view of the role that Q-flow plays in the organization.

  • Know which are the most important components of Q-flow, what they are used for, and for which type of users they can be useful.

  • Know which manual to consult if they have any doubts about the way in which Q-flow works.

Organization of this manual

This manual is composed of the following sections:

  • What Q-flow is and what it is for: it explains Q-flow’s reason for being.

  • Q-flow and the organization: it explains how Q-flow works in the context of an organization. This section provides concrete examples of how Q-flow is used.

  • Q-flow components: it describes Q-flow’s components with an emphasis on the role that each one of them plays in the context of the organization and of Q-flow’s functions.

  • Q-flow study and documentation guide: it contains reading recommendations for those who are just beginning to familiarize themselves with Q-flow. It also presents a list of the manuals that comprise the Q-flow documentation, and what each one is for.

What Q-flow is and what it is for

Q-flow is a business process management tool. Every organization uses, implicitly or explicitly, processes to carry out their activities. A simple example of a process is the one used in many businesses:

  1. The customer enters the business.

  2. An employee serves them.

  3. The customer decides to buy a product.

  4. The employee who served them tells them to stop by the cash register to pay for the product.

  5. The employee who served the customer takes the product to a counter in which the selected product will be delivered to the customer.

  6. The customer goes to the checkout and pays for the product. At the checkout they give them a receipt.

  7. The customer presents the receipt at the counter, where they receive the product they bought and the invoice.

The process described is very simple, and every activity that it is composed of is carried out by human beings. Bigger and more complex organizations usually have more complex processes that include, apart from the activities that human beings do, activities that are carried out by IT tools. They also tend to handle more information and to include activities that, even if they are carried out by people, can be sped up by means of IT tools. Q-flow is a tool that executes those processes in a more efficient way by automating some activities and various aspects related to the interactions between its participants.

For example, if a process establishes deadlines for a task, Q-flow can control that said deadlines are met using alerts and reminders. If a process establishes that, in a specific moment notifications must be sent to certain people, Q-flow can send those notifications automatically. It can also interact with other IT tools used by the organization.

An example will help the reader to more easily understand the role that Q-flow plays.

Example: expenditure authorization process

There is a company in which every time someone wants to spend a certain amount of money, they must request authorization. If the expense that the person wants to incur is less than $5000, requesting authorization from the purchasing manager is enough. If the expense is above that amount, authorization from the general manager is also required.

John Doe needs to make a purchase. To request the corresponding authorization, he sends an email to the purchasing manager. If they reject the purchase, they simply reply to John Doe saying that the purchase is not approved. If they approve, they must decide based on the value of the purchase if they must ask for the general manager’s authorization. If the requested expenditure is above $5000, they forward John’s message to the general manager, who then replies whether they approve of the expenditure or not, and sends a copy of their response to the finance department.

The execution of this process would be more fluid and simple if the company had a computer system to facilitate it. Then, John Doe, instead of having to write a message, could fill a web form with the desired amount of money to spend and the expense reason. Once the web form had been filled, the system would send an email to the purchasing manager.

The decision to ask the general manager for authorization could be made automatically, given it only takes a simple operation to determine whether his authorization is necessary. This would prevent errors and annoyances. The purchasing manager would not have to remember the value starting from which the general manager’s authorization is required. And if the company had to change said value, it would be easier. A change such as modifying a database record would be enough, and there would be no need to inform the purchasing manager and the members of the finance department, or to make sure they were aware of said change.

That is the type of things that Q-flow does, with the advantage of allowing one to easily model various different processes, and to easily modify them. Meanwhile, a computer system tailor made for a company requires greater maintenance and development efforts. Q-flow is designed in a way that any process, no matter how complex it may be, can be modeled and executed under your control, without need of programming or, in the case of very complex processes or processes that use other IT tools, very little programming. A custom made tool implements a few processes, and if new ones are created, they must be built from scratch by a team of developers, with all the costs and risks associated with the development of a software tool.

The process described in this example is very simple, given that it is easier to understand a simple example than a complex one. But Q-flow can handle much more complex processes, for which the advantages of using it become more evident.

Facilities to improve processes

Having a tool that automatizes some aspects of the execution of processes creates opportunities to improve these processes. In the case of the example of the expenditure approval process, actions could be taken to reduce the need for the general manager to intervene. The fact that the conditions to demand the manager’s approval are so simple (that the value exceeds $5000) is in part because these conditions must be evaluated by human beings, and therefore their evaluation cannot be too tedious.

Suppose, for example, that the manager is loaded with work, and you want to dramatically reduce the number of purchase approval requests made to them. One way of doing this can be to categorize the expenses to identify additional conditions under which it would no longer be necessary to ask for the manager’s approval. For example, it is known that there are expenses above $5000 that are always approved by the manager. There is another set of expenses that are always approved by the manager, given that the cost is below $7500.

Let us suppose that when the categorization is finished, a table with five-hundred categories is created, each of which is associated with a value from which authorization from the manager is required to make the purchase. Employees cannot be asked to memorize the contents of the table, but a copy of it can be put in a place of easy access to any employee that needs to use it (for example, a web site to which everyone has access). In these conditions, the company might decide not to take on the task of categorizing the expenses to create said table, as it may be thought that the employees will not use it, will often make mistakes, or forget how to access to it.

But if the table can be put into a database and let an IT system automatically determine whether authorization from the general manager must be requested or not, the company will probably not hesitate to implement this improvement. Thus, users will not have to waste time checking the table each time they have to make a purchase, and the amount of unnecessary requests that the manager receives due to errors will decrease.

The use of this kind of tool also allows you to improve the control in processes. In this case, for example, it could happen that the general manager forgets to respond to an approval application. With a tool like Q-flow, this kind of control can be done automatically. Deadlines can be set so that Q-flow can automatically send alerts and reminders to those who must perform a task, to avoid delays in said tasks.

Because of its educational purposes, this example is very simple, and it is likely that it does not demonstrate in a fair manner the benefits that a company can get from having a business process management system. Medium and big companies tend to have much more complex processes than the one given in the example, and in these cases the benefits of a business process management system are more evident, especially when that system has tools that allows it to interact with the IT tools that are already present in the organization, like Q-flow.

Q-flow and the organization

Imagine that the company from the example from the previous section decides to use Q-flow. The general manager decides that the first process that will be managed with Q-flow will be the expense approval process from the example. The first thing to do, of course, is to install Q-flow. To do this, a server and a database are required. After this, the process must be represented in a way that can be interpreted by Q-flow, so that it can control its execution.

Representation of a business process in Q-flow

The following diagram, which was made with Q-flow’s business process designer, represents the process from the example.

Example process

Fig. 26 Example process

Next, we will explain how the diagram should be interpreted:

The first step, “Request authorization”, indicates the start of the flow. All flows have a start event, which is represented with a circle.

Start event

Fig. 27 Start event

One of Q-flow’s components is a web site that allows you, among other things, to start the execution of the created flows. In this case, the employee that wants to request approval for an expense would navigate to the Q-flow site and select the expense approval flow from a list of flows that they are authorized to start. Q-flow would show a form in which the employee could fill the necessary data to execute the flow: the value of the requested purchase and a brief comment that specifies the reason for the expense.

Once the user enters the data and sent the form, Q-flow starts the execution of the flow.

The second step of the flow is to ask the purchasing manager if the expense is approved by using a user task (“Does the purchasing manager approve of the expense?”).

User Task

Fig. 28 User Task

The execution of the task consists of the following:

  1. Q-flow sends an email to the purchasing manager.

  2. The email message contains a link. When the purchasing manager clicks on the link, they get access to a form in the Q-flow web site, in which they can answer whether they approve of the expense or not.

  3. The purchasing manager fills the form, indicating whether they approve of the expense.

Once the purchasing manager has answered if they approve of the expense or not, Q-flow executes the exclusive gateDid the manager approve?”, which has a diamond shape.

Exclusive gate

Fig. 29 Exclusive gate

An exclusive gate evaluates whether a condition is met or not for each possible path of the flow. If the condition is met for one of its exits the flow takes that path (and that path only). In this case, the response of the purchasing manager is what is evaluated. If the purchasing manager rejected the application, Q-flow executes the notification taskNotify of rejection”, which sends an email to the applicant to inform them that the application was rejected.

Manager rejects request

Fig. 30 Manager rejects request

If, on the contrary, the purchasing manager approved of the request, Q-flow runs another evaluation: Is the value greater than $5000?

Manager approves request

Fig. 31 Manager approves request

The gate “Is the value greater than $5000?” performs another evaluation: if the requested expense is greater than $5000, the general manager must be asked for authorization. Otherwise, the application is directly approved and the task “Notify of approval”, is executed, which sends an email to the applicant to notify them that their application was approved. It also sends a message to the finance department, so that their members are aware of the authorization.

Approval notification

Fig. 32 Approval notification

In the case that the approval of the general manager is necessary, Q-flow executes the task “Does the general manager approve of the expense?”, which sends them an email. The general manager accesses the response form in the same way that the purchasing manager did when the step that requested their authorization was executed: through a link in their email. Once the general manager has responded to the request, another exclusive gate is executed: “Did the general manager approve?”.

If the general manager approves of the expense, the applicant is notified, and the flow ends in an end event that indicates that the flow ended with an approval. If the general manager rejects the expense, the applicant is also notified and the flow ends in an event that indicates that the application was rejected.

Q-flow components

The simple example presented in the previous section allows you to identify some of Q-flow’s components.

  • The business process Web designer, which is a website in which the process diagrams are designed in BPMN notation. It specifies the behavior of the processes that must be executed by Q-flow.

  • The Q-flow engines, which are programs that run constantly, and they are in charge of controlling the execution of the flow, making it go from one step to another. They are also in charge of sending notifications to the users and evaluating conditions to determine the path that a process must follow from an evaluation step.

  • The web site, which contains the forms that users fill out to start or participate in processes.

  • The Q-flow Database, which stores the diagram, the flow information, and the participants’ responses. It also stores the flow data: in this case, it stores the value of the required expense, and the added comments.

A brief summary of how these components collaborate and interact with the users to take on the execution and control of the company’s processes could be the following:

  1. A user uses the business process designer to design the diagram that represents a process. Once the design is done, they publish the flow so that it is available in the website. The flow design is stored in the database.

  2. A user that wants to start a flow uses their browser to access the Qflow website and start a process based in the created design. The definition of a flow (the diagram and other additional data) is called template. The flow’s data is also stored in the database

  3. Q-flow engines execute the flow and assign tasks to the users that participate in them, according to what is specified in the template.

In addition to these components there are three administrative tools that should be mentioned here. Few users interact with them:

  • The organizational model Web manager: a website that allows you to define the hierarchical structure of the organization and Q-flow’s users’ accounts. For a person to be able to interact with a Q-flow process, they must have a user account, and said account is defined in the organizational model manager.

  • The business process manager: it allows you to perform actions on the flows, such as pausing them and making them go back.

  • The system administrator and monitor: it allows you to monitor the status of the different Q-flow sites and services, as well as manage system parameters, licenses, extended properties, notification services and instances.

Q-flow has other components, but in order to describe them technical details would have to be explained, which are outside of the scope of this manual.

Q-flow documentation and study guide

This manual is an introduction to Q-flow and it is recommended to read it before reading the other product manuals. Once this manual has been read, it is recommended to read the Q-flow tutorial. The tutorial explains the process of designing a simple flow and starting an instance based on it step-by-step. The business process designer manual starts with an explanation of the basic concepts of Q-flow process design, so it may be a good idea to read that section once the tutorial has been finished.

The following section has a list of Q-flow’s manuals and briefly describes each one of them. The goal of this section is to be a guide for the user that is looking for information about a specific aspect of the product.

Q-flow documentation guide

The Q-flow documentation is comprised of the following manuals:

  • Q-flow introduction: it is this manual.

  • Installation and configuration: it describes in detail the operating requirements of Q-flow, and it explains the product’s installation process step by step. Use this manual if you have already acquired Q-flow and need information about how to install it. If you are not quite familiarized with Q-flow, and want to try it, it is recommended to use the Express installation manual, which describes an easier installation process that allows you to quickly set up Q-flow in a single computer to test it.

  • Q-flow tutorial: it is complimentary to this manual. It explains how to design a flow in Q-flow and how to put it into operation step by step.

  • Web Site: it is the Q-flow website manual. The web site is perhaps the only tool that all Q-flow users will use, since it is through it that flows are started and generally interacted with.

  • Business Process Web Modeler: it is the business process web modeler’s manual. It explains very important basic concepts, and it has detailed instructions on how to design processes in BPMN notation, in addition to a complete reference of all the types of steps that can be part of the design of a process.

  • Organizational Web Model: it is the organizational model web manager’s manual, a website that allows you to create and manage Q-flow’s user accounts, define hierarchical relationships between them, and model the structure of the organization. In this website the security roles and groups are defined, which are essential elements to the administration of Q-flow security. Q-flow’s security model is also explained in this manual.

  • System administration and monitoring: it is the manual for the system administrator and its configuration, a website that allows you to monitor the state of the different sites and services of Q-flow. In addition, it offers the possibility of managing extended properties, system parameters and licenses. This manual details the different specific configurations of the previously mentioned elements.

  • Web services API: Q-flow web services API manual, especially oriented towards programmers who intend to use them.

  • Custom form design: users that start flows or interact with them use website forms. Q-flow generates standard forms, but it is possible to build custom forms. This manual has useful advice on developing custom forms.

  • Scripting Interface Reference: a description of the object model that Q-flow makes available to programmers who have to write code to run in the flows (code steps, code evaluation steps, event handlers).

  • Database model: description of Q-flow’s database structure oriented to programmers and database administrators.

  • Express installation: Q-flow quick installation manual. This method of installing Q-flow is very simple. It installs all the components of the product in the same computer and it allows you to put it into operation quickly. It is oriented mainly towards users who want to try the product and get familiarized with it.

  • Q-flow Enterprise Edition: it describes the differences between the standard version of Q-flow and the Enterprise version, which is meant for big organizations that use many processes, and that need a version with greater processing capacity and fault tolerance.

  • SOAP Web services (deprecated): Q-flow web services manual, especially oriented towards programmers who intend to use them.

  • Business Process Modeler (deprecated): it is the business process designer manual. It explains very important basic concepts, and has detailed instructions on how to design flows, in addition to a complete reference of all the types of steps that can conform the design of a flow. If you are just starting to get in touch with Q-flow, it is recommended to read the basic concepts section. This manual is not translated into English.

  • Business Process Administrator (deprecated): it is the business process administrator manual, a tool that allows you to perform operations on the flows, such as pausing them, resuming them, etc. It is an administrative tool. This manual is not translated into English.