Installation and configuration

Introduction

This manual describes Q-flow’s installation requirements and the installation procedure of all its components. It also explains how to configure Q-flow.

Q-flow has a quick installation option (Express Installation), intended for those who wish to install Q-flow to test and evaluate the product. This installation process is simpler and requires less user involvement, since it installs all components in the same computer and needs less information to run. If you wish to install Q-flow in this manner, instead of reading this manual, read the Express installation manual.

To better understand the installation process, it is convenient to know which are Q-flow’s components:

  • Q-flow’s database

  • Backend services: they access the database and provide services to the web sites, web services and the client tools.

  • The web sites, which are sites used by the final users to design flows and manage the system and the organigram:

    • Q-flow’s web site

    • The web business process modeler

    • The web organization model manager

    • The system administrator and monitor

  • The web services

  • The client tools are applications that are used by users who design flows and take care of administrative tasks:

    • The business process modeler [deprecated]

    • The business process administrator

All of these components can be hosted in different computers. Installation of the web services is optional, given that they are only necessary if the organization wishes to develop an application that uses Q-flow as a base.

Manual organization

This manual is divided into the following sections:

  • Requirements for the standard installation: it describes the software and hardware requirements of each of Q-flow’s components.

  • Installation: it describes the prerequisites and permissions required to install each component and the procedure for installing them.

  • Licensing: it explains how to load Q-flow licenses.

  • Configuration: it explains how to use Q-flow’s configuration tool. It also describes the parameters that can be modified.

  • Installation of other components: it explains how to install and configure the directory synchronization service, which allows the periodic update of Q-flow’s organizational model based on the model defined in an LDAP-compatible directory.

  • Sizing: it discusses Q-flow sizing, analyzing various scenarios.

  • Architecture and deployment: it presents deployment options for Q-flow.

Requirements for the standard installation

This section describes the installation requirements of each one of Q-flow’s components. In order to run the Express installation, you must meet all of these requirements. For further information, see the Express installation manual.

Next, the software requirements are described. The hardware requirements are those of the required software. For example: all components of Q-flow require Microsoft .NET Framework 4.7.2. The hardware requirements of the components are the requirements of that framework.

Installation of Microsoft .NET Framework 4.7.2

All Q-flow components require .NET Framework 4.7.2 (or any posterior, compatible version, such as 4.8) to be installed. Users who only use Q-flow’s web site do not need to install any Q-flow component and thus, do not need to have the framework installed.

If at the time of installing a component it is detected that the framework is not installed in the computer in which the installation is being performed, a message will appear indicating that the 4.7.2 framework is required.

Microsoft .NET Framework 4.7.2 requirements

As all Q-flow components use Microsoft .NET Framework 4.7.2, its requirements are requirements for all Q-flow components. These are the following.

Software requirements

  • Any of the following operating systems for the client:

    • Windows 7 SP1

    • Windows 8.1

    • Windows 10

    • Windows 11

  • Some of the following operating systems for the server:

    • Windows Server 2008 R2 SP1 or higher

Hardware requirements

The Microsoft .NET Framework 4.7.2 hardware requirements are the following:

  • 1 GHz Processor or higher

  • 512 MB of RAM

  • 4.5 GB of free disk space

Web clients’ requirements

Q-flow users, those who participate in flows, design flow templates, manage Q-flow’s organizational model or administer and monitor the system will only need to have a web browser. They can also use an e-mail client to receive notifications about Q-flow that way, but this is not indispensable.

The web browser used by the users that participate in flows must be:

  • Google Chrome

  • Mozilla Firefox

  • Microsoft Edge

  • Internet Explorer 9 or higher

As for process designers, organizational model managers, and system administrators and monitors, the web browser should be:

  • Google Chrome

  • Mozilla Firefox

  • Microsoft Edge

  • Internet Explorer 10 or higher

Client tools requirements

The client tools (business process designer and business process administrator) only require that Microsoft .NET Framework 4.7.2 is installed on the computers on which they are installed. Also, they must have network access to the backend services.

Web server requirements

The web server is the server in which Q-flow’s web site will run. The same server can host the web services.

It has the following requirements:

  • Microsoft .NET Framework 4.7.2

  • Windows (any version compatible with Microsoft .NET Framework 4.7.2, but it cannot be Home or Starter editions).

  • Internet Information Services 7 or higher

Also, it requires some Windows components to be installed:

  • ASP.NET

  • Windows Authentication

These components can be installed without being enabled. For information on how to enable them, see the Enable IIS components section. The Windows edition that you use on the web server must be able to host these components. For example, the Windows authentication component cannot be installed on a computer running Windows Home or Starter edition. Therefore, you will not be able to use the integrated Windows authentication on that computer.

Enabling IIS components

The components of Internet Information Services (IIS) that are needed to install the web sites can be present without being enabled. In these cases, before executing the installer, you must enable the features required by Q-flow. This section explains how to do this in non server specific Windows versions. For Windows Server versions, the procedure is different.

  1. Open the Control Panel.

  2. In the Control Panel, go to Programs.

  3. Select the “Turn Windows features on or off” option.

  4. In the Windows Features window, turn on the following components:

    1. ASP.NET Internet Information Services/World Wide Web Services/Application Development Features/ASP.NET (see Fig. 113). From Windows 8 onwards, this is equivalent to activating the ASP .NET components in their available versions. In Fig. 114 the versions are ASP .NET 3.5 and 4.7.2, the ones available in Windows 10 and Windows 11.

    2. Windows Authentication: Internet Information Services/World Wide Web Services/Security/Windows Authentication (see Fig. 115).

    3. Static Content: Internet Information Services/World Wide Web Services/CommonHTTP Features/Static Content.

_images/image3.jpeg

Fig. 113 ASP .NET activation

_images/ActivationOfASPNET.png

Fig. 114 ASP .NET activation on Windows 11

_images/WindowsAuthentication.png

Fig. 115 Windows Authentication

Enabling IIS components on Windows Server

The components of Internet Information Services (IIS) that are needed to install the web sites can be present without being enabled. In these cases, before executing the installer, you must enable the features required by Q-flow. This section explains how to do this in Windows Server. For non server specific Windows versions, go to the Enabling IIS components section.

  1. Open the Server Manager.

  2. Select the Add roles and features option.

  3. In the Roles section select the following options:

    1. ASP.NET Web Server (IIS)/Web Server/Application Development/ ASP .NET 3.5 and 4.7 (see Fig. 116).

    2. Windows Authentication: Web Server (IIS)/Web Server/ Security/Windows Authentication (see Fig. 116).

    3. Static Content: Web Server (IIS)/Web Server/Common HTTP Features/Static Content

_images/image61.png

Fig. 116 Enabling ASP .NET and Windows Authentication for Windows Services

Backend server requirements

The backend server is where the services used by the other components of Q-flow run. This has the following requirements:

  • Microsoft .NET Framework 4.7.2

  • In case of using Oracle as a database: ODP.NET 12c. That component can be downloaded from Oracle’s website.

  • Windows (any version compatible with Microsoft .NET Framework 4.7.2, but it cannot be Home or Starter editions).

  • Internet Information Services 7 or higher

Also, it requires some Windows components to be installed:

  • ASP.NET

Optional:

  • SMTP mail server

  • Exchange mail server (delivery of e-mail messages)

Each Q-flow site accesses the BackendAPI using the http protocol, using standard ports, unless otherwise specified.

However, in case it is necessary to install any of the tools that are deprecated, each of them, including the web site and web services asmx, accesses its corresponding backend service through a specific port. These ports must be taken into account in the firewall configuration. By default, the ports corresponding to each tool’s service are shown in the following table:

Tool / Site

Port

Business Process Modeler

6000

Business Process Administrator

6006

WebForms/WebServices .asmx Web site

6003

Database

The requirements to be met by the equipment hosting the database are as follows:

  • Some of the Windows versions mentioned previously

  • Some of the following database managers:

    • SQL Server 2008 or higher

    • SQL Server 2008 Express or higher (not recommended for production environments)

    • Oracle 10g Release 2 or higher.

  • Optional:

    • Acrobat Reader 7.0.5 or higher (requisite to perform full-text searches of documents in PDF format).

    • Microsoft Filter Pack 2010 (requisite to perform full-text searches of documents in Office 2007 format or more recent versions of Office).

    • Full-text searches on files of other types require specific components (corresponding iFilter).

Hardware requirements depend on the database manager that is being used. See the database manager’s documentation to get more information.

Infrastructure requirements

  • SMTP or Exchange mail services

  • Active Directory (recommended), LDAP security provider or NTDomain

Permissions and user account requirements

  • You must have a database server account that allows the creation of new databases (SQL Server) or schemas and users (Oracle).

  • You must use a Windows account with sufficient permissions to act as a service: it must have the Log on as a service and Log on locally permissions active. The Act as a part of the operating system and Log on as a batch job permissions are also recommended.

  • To send notifications:

    • SMTP

      • A mail account must be provided for the service

    • Exchange

      • Create a MailBox for mail sending. This MailBox must be associated to the account created in the previous step (this applies if Exchange is being used)

      • Create a mail profile in the user profile and associate it to the MailBox created previously (only for Extended MAPI).

Installation

This manual explains the standard installation. If you wish to perform the simpler Express installation, please refer to the Express installation manual.

To install Q-flow:

  1. Execute the Setup.exe file found in the CD. If the user account control is active, Windows will ask if you wish to allow Setup.exe to make changes in your computer. Click “Yes”.

  2. The first screen of the installer (Fig. 117) shows two options:

    1. Standard Setup: standard installation. Select this option if you are installing a production environment or you wish to have control over the installation.

    2. Express Setup: select this option only if you wish to install the product on a single computer, for evaluation purposes. In case of using this type of installation use the corresponding manual.

This manual supposes that the installation being performed is the standard installation, not the express installation.

First screen of the installer

Fig. 117 First screen of the installer

  1. Fig. 118 shows the second screen of the installer. This screen shows, in the order they must be run, the installers for every Q-flow component. Those installers are the following:

    1. Database installer.

    2. Backend Services installer.

    3. Backend API installer.

    4. Web Services API installer.

    5. Web Site installer.

    6. Web Business Process Modeler installer.

    7. Web Organization Model Manager installer.

    8. Web System Administrator and Monitor installer.

Main screen of Q-flow's installer

Fig. 118 Main screen of Q-flow’s installer

Database installation on SQL Server

This section explains how to install Q-flow’s database on SQL Server.

Prerequisites

  • Some of the following database managers:

    • SQL Server 2008 or higher

    • SQL Server Express 2008 or higher

  • Microsoft .NET Framework 4.7.2 in the computer where the installation is running.

Permissions

The user that performs the installation must have the following permissions:

  • Permission to create databases (only necessary during installation)

  • It is not necessary to login to the database server in order to perform the installation.

Procedure

  1. Run the Q-flow installer, place the cursor over the “Database” icon and select the “SQL Server” option (see Fig. 118). This will start the database installer (Fig. 119). Click on the “Next” button.

_images/image9.png

Fig. 119 First screen of the database installer (SQL Server)

  1. In the new screen, if you are performing a new Q-flow installation, select the “Create new Q-flow database” option (Fig. 120). If, on the other hand, you already have a Q-flow database installed and you want to update it, select the “Update Q-flow database” option.

Click on the “Next” button.

_images/image10.png

Fig. 120 Second screen of the installer

  1. The following screen (Fig. 121) will prompt you to enter certain data:

    • Server name: it is the name of the database server.

    • Windows authentication: check this option if the SQL Server installation of the server whose name you entered above is configured to use Windows authentication, or if it uses mixed authentication, but you wish to connect using the current Windows user.

    • SQL Server authentication: mark this option if the SQL Server installation of the server whose name you entered above is configured to use mixed security. In this case, you will need to enter the User name and Password.

    • Database: it is the name you want to give to the database.

    • Test connection: it allows you to test the connection before continuing, to make sure the entered data is correct. The “Next” button will not be enabled unless you have tested the connection and found it to work.

Once the information has been entered, click on “Next”.

NOTE: remember that the user with which you connect to the database must have permissions to create a database.

_images/image11.png

Fig. 121 Database connection configuration

  1. The next screen (Fig. 122) allows you to configure the following properties:

  • Content properties

    • Language: Q-flow’s default language. The names of the system views and other predefined elements of the Q-flow database will be created in the selected language.

  • Default user properties

    • User name: the default user’s user name. The default user is the first Q-flow user that is created.

    • Domain name: the name of the domain that will be used to authenticate the default user.

    • Logon name: the name of the Windows user that corresponds to the default user.

Click on “Next” to continue.

_images/image12.png

Fig. 122 User and default language configuration

  1. The next screen (Fig. 123) allows you to configure the following properties:

    • Organization name: the name of your organization. Q-flow uses this name to validate licenses. Therefore, if you already have licenses, it is important that you use the same name you used to generate them. If you do not have licenses yet, when requesting them, remember that this is the name that should be used.

    • Web server name: it is the name of the server that will host Q-flow’s web site.

    • Virtual directory name: the name of the IIS web application that will host Q-flow’s web site.

Click on “Next” to continue.

_images/image13.png

Fig. 123 Organization name, server name and virtual directory configuration

  1. The following screen shows the information entered in previous screens. Review the information. If you find any incorrect information, click on the “Previous” button until you return to the screen in which you entered the information and modify it. Otherwise, click “Next” to start the installation.

_images/image14.png

Fig. 124 Database installation

Problem solving

This section describes some of the most common errors that can occur during the database installation.

The error shown in Fig. 125 appears when you are trying to update an existing database and the installer cannot find a database with the indicated name. In this case, make sure that you wrote the database name correctly. This error will appear when testing the connection.

_images/image15.png

Fig. 125 Wrong database name

If the error shown in Fig. 126 appears, make sure that the database server is accessible and working. This error should be very rare, given that the installer forces you to test the connection before continuing. If this error occurs, it is because the server was rendered inaccessible or had a problem after the connection was tested.

_images/image16.png

Fig. 126 Unable to establish connection to the server

The “Incorrect syntax near ‘XML’” error possibly means that the “CREATE XML SCHEMA COLLECTION” permission is missing.

Enabling full-text search

Q-flow provides the possibility to search for words and phrases in the content of attached files (full-text search). For this feature to be available, SQL Server’s full-text search service must be enabled. Keep in mind that, if your database engine is SQL Server Express, this feature will not be available, unless you have the SQL Server Express with Advanced Services version.

By default, SQL Server indexes the content of a limited number of files, so while it indexes documents with DOC and various other extensions, it does not index files in other common formats, such as PDF files by default. However, it is possible to make SQL Server index these other files by using iFilters, which are components that, once installed, allow you to get the content of a document in different formats.

For SQL Server to index files in Office 2007 format, or from a more recent version of Office, install the iFilter that can be downloaded from the following URL: http://support.microsoft.com/kb/945934/en-us.

For SQL Server to index files in PDF format, you must install Adobe Reader 7.0.5 or a more recent version of the product (installing the latest version is recommended), as long as you need the 32 bit version. If you need the 64 bit version, you must download it from the following address: http://ftp.adobe.com/pub/adobe/acrobat/win/11.x/PDFFilter64Setup.msi. It could also be necessary to add the path to the folder where the iFilter component is located to the “PATH” environment variable.

Once any of these components are installed, do as follows:

  • Run the following scripts in the database server:

    • exec sp_fulltext_service 'load_os_resources', 1

    • exec sp_fulltext_service 'verify_signature', 0

  • Restart the SQL Server engine service.

To verify that the file extensions are now indexed, execute the following SQL query:

SELECT document_type, path FROM sys.fulltext_document_types

This query shows a list of all the file extensions that are indexed by the full-text service.

Oracle database installation

This section explains how to install Q-flow’s database in Oracle.

Prerequisites

  • Oracle 10g R2 or higher.

  • ODP.NET 12c (can be downloaded on the Internet).

  • Microsoft .NET Framework 4.7.2 in the computer where the installation is running.

Permissions

The user that performs the installation must have the following permissions:

  • Permission to create databases (only necessary during installation)

  • It is not necessary to login to the database server in order to perform the installation.

Procedure

  1. Execute the Q-flow installer, place the cursor over the “Database” icon and select the “Oracle” option (see Fig. 118). Q-flow will display the screen shown in Fig. 127. Click on “Next”.

_images/image17.png

Fig. 127 Oracle database installer

  1. In the new screen, select “Create new Q-flow schema” and click on “Next”.

_images/image18.png

Fig. 128 Second screen of the Oracle database installer

  1. The next screen (Fig. 129) requires you to enter the following information:

    • Connection properties

      1. TNS name: the TNS that must be used to connect to the database server.

      2. User name: the user name used to connect to the database server.

      3. Password: the password corresponding to the aforementioned username.

    • Schema properties

      1. Schema: the name of the schema of the new data base (by default, Qflow5).

      2. Schema password: the password of the aforementioned schema.

      3. Data TableSpace: the path and file name that will be used to create the data tablespace on the database server. The name of the created tablespace will be “TD_<Schema name>”. If the installer is executed on the Oracle server, the <ORACLE_BASE> and <SID> marks are replaced by the corresponding paths in that server.

      4. Index TableSpace: the path and file name that will be used to create the tablespace of the indexes for the new schema in the database server. The name of the created tablespace will be “TI_<Schema name>”. If the installer is executed on the Oracle server, the <ORACLE_BASE> and <SID> marks are replaced by the corresponding paths in that server.

      5. Temp TableSpace: the temporal table space (by default, TEMP)

_images/image19.png

Fig. 129 Connection and schema properties

  1. The next screen (Fig. 130) allows the configuration of the following properties:

  • Content properties

    • Language: Q-flow’s default language. The names of the system views and other predefined elements of the Q-flow database will be created in the selected language.

  • Default user properties

    • User name: the default user’s user name. The default user is the first Q-flow user that is created.

    • Domain name: the name of the domain that will be used to authenticate the default user.

    • Logon name: the name of the Windows user that corresponds to the default user.

Click on “Next” to continue.

_images/image20.png

Fig. 130 User and default language configuration

  1. The next screen (Fig. 131) allows the configuration of the following properties:

    • Organization name: your organization’s name. Q-flow uses this name to validate licenses. Therefore, if you already have licenses, it is important that you use the same name that you used to generate them. If you do not have licenses yet, remember that this is the name that must be used.

    • Web server name: it is the name of the server that will host Q-flow’s web site.

    • Virtual directory name: the name of the IIS web application that will host Q-flow’s web site.

Click on “Next” to continue.

_images/image21.png

Fig. 131 Organization name, web server name and virtual directory configuration

The following screen shows the information entered in previous screens. Review the information. If you find any incorrect information, click on the “Previous” button until you return to the screen in which you entered the information and modify it. Otherwise, click “Next” to start the installation.

_images/image22.png

Fig. 132 Database installation.

Backend services installation

Prerequisites

  • Microsoft .NET Framework 4.7.2

  • Optional: Messaging service client (SMTP or MAPI)

  • In case of using Oracle: ODP.NET 12c or higher (it can be downloaded from the internet).

Permissions

  • For the installation:

    • Local administrator with permissions to login interactively on the server (to install).

  • To run the services (permissions of the user that will run the services):

    • Run as a service

    • Execute as batch process

Procedure

  1. Run the Q-flow installer and select the “Backend Services” option. Windows will start the backend services installer (Fig. 133).

_images/image23.png

Fig. 133 Backend services installer

  1. Click on “Next”.

  2. In the following screen (Fig. 134), on the “Folder” field, type the path of the folder where you want to install Q-flow’s backend services. If you wish to install the services for all users in the computer, check the “Everyone” option. Otherwise, check the “Just me” option. Click on “Next”.

_images/image24.png

Fig. 134 Selection of the folder to install Q-flow’s backend services.

  1. At this step (Fig. 135), everything will be ready to perform the first part of the installation. Click on “Next” to continue.

_images/image25.png

Fig. 135 Previous screen to the first part of the installation

_images/image26.png

Fig. 136 Execution of the first part of the installation

  1. Once the first part of the installation is finished, a window will appear (Fig. 137) that will require you to enter a username and password. This is the user that will execute the backend services (if in doubt, see the section on required permissions). The user name must be preceded by the name of the domain to which it belongs and a slash (in the figure, the domain name is “soft”).

_images/image27.png

Fig. 137 Service login configuration

  1. Next, a screen will appear (Fig. 138) that will allow you to configure various parameters of the service:

  • Data base properties

    • Data provider: the database provider (for example, SQL Server).

    • Server name: the name of the server that hosts Q-flow’s database. It must have been installed previously.

    • Database name: the name of the Q-flow database created with the database installer.

    • Integrated security: it specifies if the backend services must be connected to the database using integrated security. If the option is checked, Q-flow will connect to the database with integrated security, with the user that executes the service. Otherwise, the installer will enable two text boxes to enter the SQL Server username and password to be used to connect to the database using SQL Server security.

  • Notification services: select the mail services that you want to use. You can choose more than one, and later configure the users of Q-flow to use different services. After being installed, these services must be correctly configured from the System Administration and Monitor site, check the manual to see the necessary configuration.

    • SMTP: it uses SMTP for sending mails. The mail step (see the business process modeler manual for more information) uses the settings of this service. Therefore, if you do not install it, you should at least add the system configuration manually, as explained on the “Service configuration” section.

    • Extended MAPI: Extended MAPI mail, to use with Windows Exchange. It does not require Microsoft Outlook nor the Exchange Web Services, instead using native interfaces from Windows.

    • Exchange Web Services: it uses Exchange through the Exchange Web Services API. This is the recommended option to use with Exchange, given that it uses a Microsoft API supported by that company, which avoids potential compatibility issues.

    • Firebase Push Notifications: it uses Firebase to send notifications to user devices by using push notifications.

  • Deprecated services: you are allowed to select deprecated services, which are services that are no longer being maintained. That is why, unless they are necessary, it is recommended not to install them. In the case that you need any of them, simply select it in the installer.

Check the option “Start backend services when setup completes” if you want the installer to automatically start the backend services once the installation finishes. Otherwise, uncheck it.

Press the “Test connection” button to check that Q-flow can establish a connection with the database using the information provided. If the test fails, check the information, correct it and test the connection again.

_images/image28.png

Fig. 138 Application parameters

When you are done entering the information and checking the connection, click on “OK”.

  1. Once the mail services have been configured, Q-flow will finish the installation of the backend services (Fig. 139).

_images/image29.png

Fig. 139 End of the installation of the backend services

Installation of the backend API

Prerequisites

  • Microsoft .NET Framework 4.7.2

  • IIS

  • ASP.NET 4.5

Permissions

  • Local administrator, with permission to login interactively on the server

  • Permission to create virtual directories or write to the defined virtual directory

Procedure

  1. Run the Q-flow installer and select the “Backend API” option. This brings up a window, like the one in Fig. 140 Backend API installer.

_images/image30.png

Fig. 140 Backend API installer

  1. Click on “Next”.

  2. In the same screen (Fig. 141), choose the IIS site in which you want to install Q-flow’s site and the name of the virtual directory to be used. You must also select the Application pool. Click on “Next”.

_images/image31.png

Fig. 141 Selecting the folder to install the backend API.

  1. At this point (Fig. 141), everything will be ready to perform the first part of the installation. Click on “Next” to continue.

_images/image32.png

Fig. 142 Previous screen to the first part of the installation

_images/image33.png

Fig. 143 First part of the API installation

  1. Once the first part of the installation is complete, a window will appear (Fig. 143) that will require you to enter the path in which you have installed the backend services.

_images/image34.png

Fig. 144 Selection of the folder in which the backend services were installed.

If you have installed the backend API in a different server than the backend services, a folder containing the corresponding system.config file will be requested.

  1. After a few seconds, Q-flow will finish the installation of the backend API (Fig. 145).

_images/image35.png

Fig. 145 End of backend API installation

Installation of Q-flow’s web services

Prerequisites

  • Microsoft .NET Framework 4.7.2

  • IIS

  • ASP.NET 4.5

Permissions

  • Local administrator, with permission to login interactively on the server

  • Permission to create virtual directories or write to the defined virtual directory

Procedure

To install the web services, do as follows:

  1. Run the Q-flow installer and select the “Web services” option. This brings up a window like the one in Fig. 146.

  2. Click on “Next”. This brings up a window like the one in Fig. 147.

_images/image36.png

Fig. 146 First screen of the web services installer

  1. The second screen asks for the following data:

    • Site: it is the IIS site where you want to install the web services.

    • Virtual directory: the name of the virtual directory where the web services will be installed. If the virtual directory does not exist, it will be created by the installer. The virtual directory must be configured to use integrated security (if the directory is created by the installer, the security will be correctly set by the installer).

    • Application Pool: select the Application pool that you want to use for the web services.

_images/image37.png

Fig. 147 Second screen of the web services installer

  1. Click on “Next”. This brings up a window that announces that the installation is ready (Fig. 148).

  2. Click on “Next”. The installer brings up a window that shows the installation progress (Fig. 149).

_images/image38.png

Fig. 148 All set to install the web services

_images/image39.png

Fig. 149 Installation in progress

  1. After some time, the installer will prompt a window that asks for information about the location of the backend Web API (Fig. 150). Type on the “Server name” field the name of the server where the backend Web API is located. Then, modify if applicable the Virtual directory, Port and Protocol, by default the correct values are loaded. Finally, click on “OK”.

  2. The installation of the web services is done.

_images/image40.png

Fig. 150 The installer will ask for information about the location of the backend services

_images/image41.png

Fig. 151 Installation finished

Web site installation

Prerequisites

  • Microsoft .NET Framework 4.7.2

  • IIS

  • ASP.NET 4.5

Permissions

  • Local administrator, with permission to login interactively on the server

  • Permission to create virtual directories or write to the defined virtual directory

Procedure

To install Q-flow’s web site, do as follows:

  1. Login on the server and run the Q-flow installer.

_images/image42.png

Fig. 152 Web site installer icon

  1. Select the icon shown in Fig. 152. This will start the web site’s installer (Fig. 153). Click on “Next”.

_images/image43.png

Fig. 153 Web site’s installer

  1. In the following screen, choose the IIS site in which you want to install Q-flow’s site and the name of the virtual directory to use (see Fig. 154). You must also select the Application Pool.

_images/image44.png

Fig. 154 Site, virtual directory and Application Pool selection.

  1. At this point (Fig. 155), everything will be ready to start the installation. Click on “Next” to start the installation.

_images/image45.png

Fig. 155 All ready to install

_images/image46.png

Fig. 156 Execution of the installation

  1. Once the installation is finished (Fig. 156), you must indicate the name of the server that hosts the backend Web API (Fig. 157). Then, modify if it corresponds the Virtual directory, Port and the Protocol, by default they will have the correct values.

_images/image47.png

Fig. 157 Site parameters

Click on “OK”.

  1. At this point, the installation should finish (Fig. 158). Click on “Close”.

_images/image48.png

Fig. 158 Installation complete

Error solving

If you are having problems accessing the web site, it is possible that you have not modified the site’s Application Pool configuration to use at least ASP.NET 4.0 with integrated pipeline (that configuration is compatible with .NET Framework 4.7.2). Change the configuration and try again.

_images/ApplicationPoolConfiguration.png

Fig. 159 Correct configuration of the Q-flow site Application Pool.

Web organizational model manager installer

Prerequisites

  • Microsoft .NET Framework 4.7.2

  • IIS

  • ASP.NET 4.5

Permissions

  • Local administrator, with permission to login interactively on the server

  • Permission to create virtual directories or write to the defined virtual directory

Procedure

To install the Q-flow web organizational model manager, do the following:

  1. Login on the server and run the Q-flow installer.

_images/image50.png

Fig. 160 Web OMM installer icon

  1. Select the icon shown in Fig. 160. This will start the web organizational model installer (Fig. 161). Click on “Next”.

_images/image51.png

Fig. 161 Web OMM installer

  1. In the following screen, choose the IIS site in which you want to install it and the name of the virtual directory to be used (see Fig. 162). You must also select the Application Pool.

_images/image52.png

Fig. 162 Site, virtual directory and Application Pool selection.

  1. At this point (Fig. 163), all is ready to start the installation. Click on “Next” to start the installation.

_images/image53.png

Fig. 163 All ready to install

_images/image54.png

Fig. 164 Execution of the installation

  1. Once the installation is finished (Fig. 164), you must indicate the name of the server that hosts the backend Web API (Fig. 165). Then, modify if it corresponds the Virtual directory, Port and the Protocol, by default they will have the correct values.

_images/image55.png

Fig. 165 Site parameters

Click on “OK”.

  1. At this point, the installation should finish (Fig. 166). Click on “Close”.

_images/image56.png

Fig. 166 Installation complete

Error solving

If you are having problems accessing the web site, it is possible that you have not modified the site’s Application Pool configuration to use at least ASP.NET 4.0 with integrated pipeline (that configuration is compatible with .NET Framework 4.7.2). Change the configuration and try again.

_images/ApplicationPoolConfiguration.png

Fig. 167 Correct configuration of the Q-flow site Application Pool.

Web business process modeler installation

Prerequisites

  • Microsoft .NET Framework 4.7.2

  • IIS

  • ASP.NET 4.5

Permissions

  • Local administrator, with permission to login interactively on the server

  • Permission to create virtual directories or write to the defined virtual directory

Procedure

To install the web business process modeler installation, do the following:

  1. Login on the server and run the Q-flow installer.

_images/image57.png

Fig. 168 Web BPM installer icon

  1. Select the icon that is shown in Fig. 168. This will start the web business process modeler installer (Fig. 169). Click on “Next”.

_images/image58.png

Fig. 169 Web BPM installer

  1. In the following screen, choose the IIS site where you want to install it and the name of the virtual directory to be used (see Fig. 170). You must also select the Application Pool.

_images/image59.png

Fig. 170 Site, virtual directory and Application Pool selection.

  1. At this point (Fig. 171) everything will be ready to start the installation. Click on “Next” to begin the installation.

_images/image60.png

Fig. 171 All ready to install

_images/image611.png

Fig. 172 Execution of the installation

  1. Once the installation is done (Fig. 172), you must enter the name of the server that hosts the backend Web API (Fig. 173). Then, modify if necessary the Virtual directory, Port and the Protocol, by default they will have the correct values.

_images/image62.png

Fig. 173 Site parameters

Click on “OK”.

  1. At this point, the setup should finish (Fig. 174). Click on “Close”.

_images/image63.png

Fig. 174 Installation complete

System Administrator and Monitor installation

Prerequisites

  • Microsoft .NET Framework 4.7.2

  • IIS

  • ASP.NET 4.5

Permissions

  • Local administrator, with permission to login interactively on the server

  • Permission to create virtual directories or write to the defined virtual directory

Procedure

To install the Q-flow web system administrator and monitor, do the following:

  1. Login on the server and run the Q-flow installer.

_images/image64.png

Fig. 175 Web SAM installer icon

  1. Select the icon shown in Fig. 175. This will start the system administrator and monitor installer.

_images/image65.png

Fig. 176 Web SAM installer

  1. In the following screen, choose the IIS site where you want to install it and the name of the virtual directory to use (see Fig. 177). You must also select the Application Pool.

_images/image66.png

Fig. 177 Site, virtual directory and Application Pool selection.

  1. At this point (Fig. 178), all is ready to start the installation. Click on “Next” to begin the installation.

_images/image67.png

Fig. 178 All ready to install

_images/image68.png

Fig. 179 Execution of the installation

  1. Once the installation is done (Fig. 179), you must indicate the name of the server that hosts the backend Web API (Fig. 180). Then, modify if it corresponds the Virtual directory, Port and the Protocol, by default they will have the correct values.

_images/image69.png

Fig. 180 Site parameters

Click on “OK”.

  1. At this point, the installation should finish (Fig. 181). Click on “Close”.

_images/image70.png

Fig. 181 Installation complete

Error solving

If you are having problems accessing the web site, it is possible that you have not modified the site’s Application Pool configuration to use at least ASP.NET 4.0 with integrated pipeline (that configuration is compatible with .NET Framework 4.7.2). Change the configuration and try again.

_images/ApplicationPoolConfiguration.png

Fig. 182 Correct configuration of the Q-flow site Application Pool.

Tool installation

Prerequisites

  • Microsoft .NET Framework 4.7.2

Permissions

  • Local administrator, with permission to login interactively on the client computer.

Procedure

Q-flow provides two Windows tools: the Business Process Modeler and the Business Process Administrator. These tools are being substituted by the different web sites, however, they can still be used.

To install the Business Process Modeler:

  1. Login on the computer and search for the tool’s installers in the installers folder, depending on the language, for example: “~/Tools/English/BPMSetup.msi”. To start the installation open a Windows console as an administrator and then run it. This will start the Business Process Modeler installation (Fig. 183). Click on “Next”.

_images/image711.png

Fig. 183 Start of the Business Process Modeler installer

In the second screen (Fig. 184), specify the folder where you want to install the tool. Choose also if the tool must be available only for the user that is executing the installation or if all the users of the computer will be able to access it. Click on “Next”.

_images/image72.png

Fig. 184 Installation folder selection

  1. At this point (Fig. 185) everything will be ready for the installation. Click on “Next”.

_images/image73.png

Fig. 185 All ready to install

_images/image74.png

Fig. 186 Installation in progress

  1. When the screen shown in Fig. 187 is displayed, the installation will be finished. Click on “Close”.

_images/image75.png

Fig. 187 End of the Business Process Modeler installation

In order to install the other tools, proceed in the same way. All of them have the same requirements and are installed in the same way, by running the .msi file of the corresponding installer and following the instructions that are presented on screen.

Tools’ language

Q-flow’s tools are available in three languages:

  • Spanish

  • Portuguese

  • English

The installer is available in these same languages.

Manual installation of notification services

If Q-flow’s notification services were not installed during the installation of Q-flow’s services, and you wish to install any of them, you must do it manually.

The manual installation of a mail service has two stages:

  1. Creation of the Windows service

  2. Configuration of the service

Creation of the Windows service

The InstallUtil tool is used for creating a Windows service, which is provided by the .NET Framework. This tool is an executable file that can be found in the system disk, inside the .NET Framework folder. To run it:

  1. Open the Windows Command Prompt tool (Start, Run, “cmd”).

  2. Navigate to the folder where the InstallUtil tool is located. It can be found on the .NET Framework folder, usually C:\Windows\Microsoft.NET\Framework64\v4.0.xxxxx (xxxx can vary; the folder can be named, for example, v4.0.30319). Example: run the following command: “cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319”.

  3. Run “InstallUtil” followed by the complete path of the file that corresponds to the mail service that you want to install. The notification services files are located in the folder where Q-flow’s backend services are installed, typically C:\Program Files (x86)\Urudata\Q-flow Backend Services. The following table shows which file corresponds to which service.

Service

Service file

SMTP

Qframework.Listener.SMTP.exe

ExtendedMAPI

Qframework.Listener.ExtendedMAPI.exe

ExchangeWS

Qframework.Listener.ExchangeWS.exe

FcmPushNotifications

Qframework.Listener.FcmPushNotifications.exe

Example: to install the SMTP service, assuming that the drive unit is “C” and that the files are in the default location, the command to run would be the following:

InstallUtilC:\Program Files (x86)\Urudata\Q-flow Backend Services\Qframework.Listener.SMTP.exe

Once the command has been executed, a dialog box will be displayed which allows you to enter the credentials with which the service must be executed.

_images/image76.png

Fig. 188 Configuration of the account that will run the service

  1. Enter the user name, password and password confirmation of the user that will be used to execute the service.

Configuration of the notification service

Once the service has been created, it is necessary to register it in Q-flow’s configuration so that it may be available to users. To do this, use the System Administrator and Monitor. For more details on how to use it, see the corresponding manual.

After these modifications are made, restart the engine service and make sure that the notification service that you just installed is running.

The new service will appear in the “User notification services” section of the user property panel in the Organizational Model Manager (see the corresponding manual). There, you can enable notifications for each user via the new service.

Files corresponding to each installer

The Q-flow installer (Setup.exe) opens a screen from where it is possible to run the installers of Q-flow’s components. Therefore, it is not usually necessary to manually run the installers of each component. However, knowing which file corresponds to which installer can be useful. The files that correspond to each of the installers are the following:

  • Database installer (SQL Server): DatabaseSetup_SqlServer.exe

  • Database installer (Oracle): DatabaseSetup_Oracle.exe

  • Backend services installer: BackendSetup.msi

  • Backend API installer: BackendAPISetup.msi

  • Web site installer: MvcSiteSetup.msi

  • Web Business Process Modeler installer: BpmMvcSiteSetup.msi

  • Web Organizational Model Manager installer: OmmMvcSiteSetup.msi

  • System Administrator and Monitor installer: SamMvcSiteSetup.msi.

  • Web services API installer: WebServicesAPISetup.msi

Deprecated

  • Business Process Modeler installer: BPMSetup.msi (it is found inside a folder with the name of the installer’s language, in the Tools folder).

  • Business Process Administrator Installer: BPASetup.msi (it is found inside a folder with the name of the installer’s language, in the Tools folder).

  • Web services installer: WebServiceSetup.msi

  • Web site installer (WebForms): DesktopFormsSiteSetup.msi

Updating Q-flow

This section explains how to install a new version of Q-flow in a computer in which Q-flow is already installed. Make sure that all packages, templates and other elements are checked in (see the changes control sections on the business process modeler manual).

Updating the database

To update the database, run the Q-flow installer, select the “Database setup” option, and select the “Update Q-flow database” option (SQL Server, Fig. 189) or the “Update Q-flow schema” option (Oracle, Fig. 190). For more information about the first steps, check the “Database installation on SQL Server” or “Oracle database installation” sections, depending on the installation.

_images/image77.png

Fig. 189 Updating the database (SQL Server)

_images/image78.png

Fig. 190 Updating the database (Oracle)

Updating the backend services

Before updating the backend services, it is convenient to back up the “System.config” file, to avoid losing any changes made in the configuration.

To update the backend services, you must uninstall the existing ones and install the new ones. To do this, use the “Add or remove programs” tool.

Once the new version of the backend services has been installed, use the System.config file backup and compare it to the System.config file that was installed, you can modify the latter to restore the configuration from before the update. It is not recommended to replace the new System.config file with the backup, as there might be parameters that were not contained in the backup file that are necessary for the new version of Q-flow to work. The proper way is to modify the new System.Config file so that it is consistent with the backup file and has the configuration changes that it had.

Upgrading the web sites

Before updating each web site, it is convenient to back up the pages of Q-flow that have been modified, as these will be overwritten when the new version of the site is installed.

Once the update is completed, the installed pages must be compared to the ones that were backed up and they must be modified to be consistent with the backup and compatible with the new version of Q-flow.

It is not necessary to back up custom forms, as the installer does not delete them.

If modifications have been done to the web.config file, it is convenient to back up the file before updating. Once the update is complete, the web.config file must be modified to be consistent with the backup and reflect the changes that were previously made.

If you wish to maintain the WebForms site and allow the use of custom forms of this site, you must update it manually. To do this, uninstall it using the “Add or remove programs” tool. Then, run DesktopFormSiteSetup.msi, which is found on the installation folder. This must be done from a Windows console ran as an administrator.

Updating the web services

For web services the same considerations apply to the web.config file as for the web site.

To update them, uninstall them by using the “Add or remove programs” Windows tool. Then, install the new version with its installer.

If you wish to keep the Web services.asmx, install them by running WebServiceSetup.msi that can be found in the installation folder. This must be done from a Windows console ran as an administrator.

Updating the client tools

To update the client tools (business process modeler and business process administrator), uninstall them by using the “Add or remove programs” Windows tool. Then, install them by using the installer of Q-flow’s new version.

Uninstalling and repairing Q-flow components

To uninstall a Q-flow component, run the corresponding installer and select the “Remove…” option. For example, to uninstall the business process modeler, you must run the installer of said tool. Because the tool is already installed, two options will be available: “Repair Q-flow BPM” and “Remove Q-flow BPM”. Select the second option, and the tool will be uninstalled. The repair option can be used to fix installation problems, checking that all the necessary files exist and that the system’s configuration is correct. For example, if any files of an installed component were deleted, this option will install the missing files.

Alternatively, all of Q-flow’s components, with the exception of the database, can be uninstalled from the control panel. To do this, use the “Uninstall a program” option, under “Programs”.

To delete the database, use its installer and select the “Remove Q-flow Database” option. It is recommended to back it up before proceeding, unless you have only used it for tests and there isn’t any important data stored in it.

Licensing

The usage of Q-flow is free if the number of users is less than or equal to 10, using the default tenant. Organizations in which more than ten users use Q-flow must get a license to use it. This section of the manual explains how to load the license.

Licensing is given by server, tenant and number of enabled users. The server is identified by: name, port and VirtualDirectory of the BackendAPI. License files must be available for each server where backend services are installed.

It is possible to load licenses in the System Administrator and Monitor, in the “License Viewer” view (see Fig. 191). To know more about this site read the System Administrator and Monitor manual.

_images/LicensesPanel.png

Fig. 191 License viewer

The view shows the list of installed licenses in the current tenant. For each license in the list, it indicates:

  • The license’s type

  • The name of the organization for which the license was generated

  • The server’s name

  • The number of users enabled by the license

  • The license’s expiration date

  • The license’s status

The status of a license can be valid, invalid or expired.

To add a license, click on the Add button (“+” icon). This will open a window that will allow you to select the license file (Fig. 192). Q-flow license files have the .qlic extension.

_images/LoadLicense.png

Fig. 192 Loading licenses

Choose the file corresponding to the license that you want to load and click on “Open”. This will add the license to the list.

Configuration

This section explains how to configure Q-flow. Q-flow configuration is stored in the System.config file in the installation folder of Q-flow’s backend services and on Q-flow’s database. Q-flow provides a configuration tool that makes it easy to modify the System.config file. The System Administrator and Monitor site can be used to manage the configuration that is stored in the database.

In order to run Q-flow’s configuration tool run the ConfigurationEditor.exe file. For changes made with the configuration tool to take effect, restart the backend services whose parameters were modified.

Configuration tool

Fig. 193 shows the screen of Q-flow’s configuration tool. The screen is divided in two parts:

  • Parameter tree: it is found on the left.

  • Edit panel: it is found on the right and on the figure it appears blank. When the user clicks on some of the elements that appear on the parameter tree, the edit panel will show the data of the selected element, and will allow you to modify it.

_images/image81.png

Fig. 193 Configuration tool

Parameter tree options

The parameter tree has the following branches:

  • System parameters: it shows Q-flow’s system parameters. System parameters are predefined parameters that control various aspects of Q-flow’s functionality

  • Database configuration: the database’s configuration.

  • Attachment properties: the properties of attached files.

  • Redis configuration: the Redis connection configuration. It is necessary if you use Redis as the cache type.

System parameters

Each system parameter has a key that identifies it (a name) and a value. The format of the value depends on the system parameter.

Most of the system parameters are stored in the database and can be configurated in the System Administrator and Monitor site, to see more about the configuration of system parameters see the System Administrator and Monitor manual.

In the tree you can find the parameters that can be seen in Fig. 194. These are the only system parameters located in the System.config file since they are needed before connecting to the database.

_images/image82.png

Fig. 194 System.config file parameters

Parameter key

Description

QueryCommandTimeout

It indicates the time in seconds for which a database query that returns values, is considered unresponsive. The value is 60 by default, and modifying it is not recommended.

NonQueryCommandTimeout

It indicates the time in seconds for which a database query that does not return values, is considered unresponsive. The value is 60 by default, and modifying it is not recommended.

MaxDBConnectionRetries

The limit of attempts to reconnect to the database before returning an error.

FilterMultivalued

A Boolean that is “False” by default. It indicates if searches made on views look for values in the different instances of a datum or just in the first one. Q-flow is optimized to filter only by the first instance, so if you modify it, the performance of these queries may be impaired.

CacheType

A string that indicates the type of cache to be used in the Backend. The possible values are: “Default” or “Redis”. “Default” is the default value and will use an in memory cache. If “Redis” is selected, a Redis cache will be used and its connection must be configured, to do this see Redis configuration.

Database configuration

To modify the database configuration, select the “Database configuration” element of the parameter tree. This makes the edit panel show the configuration properties of the database (Fig. 195).

_images/image83.png

Fig. 195 Database configuration

The configuration properties of the database are the following:

  • Database:

    • Provider: the database provider. Can be SQL Server or Oracle.

    • Server: the name of the server in which the database is hosted.

    • Database: the name of the Q-flow database.

  • Authentication:

    • Integrated security: if this option is checked, Q-flow will connect to the database using integrated security (Windows user).

    • User: if the option “Integrated Security” is not checked, this property indicates the user name that Q-flow must use to connect to the database.

    • Password: if the option “Integrated Security” is not checked, this property indicates the password that Q-flow must use to connect to the database with the user name indicated in the “User name” field.

  • Connection properties:

    • Timeout: it specifies the timeout in seconds of the connection to the database.

The Test connection button allows you to test the connection data to ensure that it is correct.

Redis Configuration

To modify the Redis configuration, select “Redis configuration” on the parameter tree. This makes the edit panel show the configuration properties of Redis (Fig. 196).

_images/image84.png

Fig. 196 Redis Configuration

The configuration properties of Redis are the following:

  • Server: The connection URL to the Redis instance. For example: redis-instance.azure.cloud.redislabs.com:11855.

  • Password: The password that Q-flow must use to connect to the Redis instance.

  • Retry timeout: The number of seconds to wait, when an error is detected in the connection with Redis, to retry the connection. When a failure in the connection with Redis is detected, in memory cache is used until the connection can be reestablished.

The Test connection button allows you to test the connection data to ensure that it is correct.

Login configuration with Google and Microsoft

Login configuration with Google

To enable the login with Google it is necessary to configure the domain in Google’s administration console. The Google account in which the configurations are done must be the one that acts as the service provider.

  1. Create a new project.

  2. Go to the Credentials window.

  3. Click on “Create credentials” and select “OAuth client ID”.

_images/image85.png

Fig. 197 Menu to activate OAuth for Google login

  1. Then, select the “Web” option and add the authorized redirection URIs of the sites of Q-flow that you wish to authorize, as shown in the following figure:

_images/image86.png

Fig. 198 Add authorized URIs for Google login

In the example figure, the redirection URI that corresponds to the web business process modeler is shown. To add the other sites, you must change the WebServerName and Site values in the URI to their corresponding values.

https://{WebServerName}/{Site}/signin-google

The default URIs are:

  • Web Site: https://UrudataSoftware.com/Qflow/signin-google

  • Web business process modeler: https://UrudataSoftware.com/QflowBPM/signin-google

  • Web Organizational Model Manager: https://UrudataSoftware.com/QflowOMM/signin-google

  • System Administrator and Monitor: https://UrudataSoftware.com/QflowSAM/signin-google

  1. When you click on “Create”, the Client ID and Client Secret keys will be generated.

  2. Then, you must go to the web.config file of the corresponding site and add, in the appSettings section, the Google sign in settings with the generated Client ID and Client Secret values.

    <appSettings>
       <add key="MicrosoftClientId" value="<MSCLIENTID>" />
       <add key="MicrosoftClientSecret" value="<MSCLIENTSECRET>" />
    </appSettings>
    

    Google sign in configuration

Microsoft login configuration

To activate the login with Microsoft you must first go to the Azure portal. The Microsoft account in which the settings are applied must be the account that acts as the service provider.

  1. Go to the “App registrations” section (you can access it by searching for it on the portal’s general search bar).

  2. Select the “New registration” option.

_images/image88.png

Fig. 199 Microsoft Azure Application registration (step 1)

  1. Add the Redirect URI of the site that you want to add as shown in Fig. 200. The URI type must be Web.

_images/image89.png

Fig. 200 Microsoft Azure Application registration (step 2)

  1. Once the application has been registered a Client ID will be generated, which will be needed for the configuration.

    1. To add more redirection URIs click on the link next to the “Redirect URI” of the application that you just registered. In the previous image the redirect URI corresponding to the web business process modeler is shown. To add the other sites you must change the WebServerName and Site for corresponding ones.

    https://{WebServerName}/{Site}/signin-microsoft

The default URIs are:

  • Web site: https://UrudataSoftware.com/Qflow/signin-microsoft

  • Web Business Process Modeler: https://UrudataSoftware.com/QflowBPM/signin-microsoft

  • Web Organizational Model Manager: https://UrudataSoftware.com/QflowOMM/signin-microsoft

  • System Administrator and Monitor: https://UrudataSoftware.com/QflowSAM/signin-microsoft

_images/image90.png

Fig. 201 Access redirect URIs

  1. Then, go to the “Certificates & secrets” section of the side menu.

_images/image91.png

Fig. 202 Certificates & secrets (step 1)

  1. Select the “New client secret” option in the “Client secrets” group. Generate the Client secret that you will need for the configuration.

_images/image92.png

Fig. 203 Certificates & secrets (step 2)

Once these steps have been completed, you must go to the web.config file of the corresponding site and add, in the appSettings section, Microsoft’s sign in settings with the generated Client ID and Client secret values. The following image shows the configuration that must be modified:

<appSettings>
   <add key="MicrosoftClientId" value="<MSCLIENTID>" />
   <add key="MicrosoftClientSecret" value="<MSCLIENTSECRET>" />
</appSettings>

Microsoft sign in configuration

Configuration in OMM

Once the login configuration has been completed, you must go to the OMM site and add an OAuth type security provider. To see how to add a new security provider go to the “Security providers” section of the Web Organizational Model manual.

Then, for a user to be able to log in directly with Google or Microsoft, they must have their Google or Microsoft email address as the value of the login field, depending on which one corresponds. For more information about this field and how to modify it go to the “User properties” section of the Web Organizational Model manual.

Once the configuration is finished, the user will be able to log in to the corresponding application with their Google or Microsoft account.

Optimization of the web site’s performance

This section explains how to make adjustments on Internet Information Services (IIS) to improve the performance of the web site. This applies to any web site hosted on IIS. The two methods described are the use of expires headers and HTTP compression.

Expires headers

The first visit to a web site can require several HTTP requests to load all of its contents (scripts, style sheets, images, etc.). Expires headers make the content cacheable, which avoids sending unnecessary HTTP requests on subsequent visits to the site.

From the IIS Manager it is possible to assign expires headers both on the server level as well as site and application level. In any case, you must open, in Features View, the HTTP Response Headers option, and through the context menu, select the Set Common Headers… option.

_images/image94.png

Fig. 204 Expires headers configuration (step 1)

_images/image95.png

Fig. 205 Expires headers configuration (step 2)

This makes the IIS Manager open a window like the one on the next figure. In it, check the Expire Web content option and define an expiration criterion as shown in the image.

_images/image96.png

Fig. 206 Expires headers configuration (step 3)

Compression

The compression of HTTP responses reduces their size, which lowers the site’s response time.

When a browser handles compressed responses, their requests to the server include a header named Accept-Encoding, which indicates which compression algorithm it accepts.

If the server uses compression on its response, it includes the Content-Encoding header to indicate in which way the response has been compressed.

A proxy that receives a request without the Accept-Encoding header cannot serve a file that was sent in response to a request that did have it (and vice versa)

IIS uses two different types of compression:

  • Static compression: it is applied to static files such as images, HTML pages and documents. All HTTP responses of the same file are identical: they consist of taking the file from the hard drive and sending it. The content of an HTML page, for example, is always the same; it is not generated every time a request to send it is received. This is different to, for example, the response of a request from an ASPX page, whose content is different every time a response must be sent, and it is generated when a request is received. Since the content of static files does not vary, it is possible to compress them once and store them in cache, in order to save resources (CPU) on the server, because it does not have to compress them each time when they must be sent as a response to some request.

  • Dynamic compression: it is applied to dynamic files, such as ASPX pages whose content is different when responding to different requests. For these files, the content must be compressed every time a request is received. Therefore, the result of compressing the resources of this type is not cacheable, and if the server makes intensive use of the processor, the CPU load imposed by the dynamic compression can result in degraded performance on the site. In this case, you must evaluate if it is convenient to reduce the size of responses at the cost of greater use of the CPU.

To be able to activate compression on IIS, first you have to enable the feature on Windows, on the window that allows you to activate and deactivate Windows characteristics (see Fig. 207; the Enable IIS components section explains how to access that window).

_images/image97.png

Fig. 207 Enable compression on Windows

From the IIS Manager it is possible to configure compression on a server level as well as per site and application. In any of these cases, open the Compression option in the Features View and define the desired compression criteria (static and/or dynamic).

_images/image98.png

Fig. 208 Compression option in IIS

_images/image99.png

Fig. 209 Enabling compression in IIS

To confirm the changes, click on Apply.

Installing other components

Installing the directory synchronization service

Q-flow includes a directory synchronization service that allows synchronizing the Q-flow organizational model with LDAP compatible directory services.

To install said service:

  1. Open Windows command prompt tool (Start, Run, “cmd”). For Windows Vista and newer versions, you must run said tool as an administrator.

  2. Navigate to the folder in which the InstallUtil tool is located. By default it can be found at \WINDOWS\Microsoft.NET\Framework64\v4.0.xxxxx (xxxxx can vary; the folder can be called, for example, v4.0.30319). Example: run the command “cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319\”.

  3. Run “InstallUtil” followed by the complete path of the Qflow.Listener.DirectorySynchronization.exe file. For example, if the Q-flow services were installed at C:\Program Files (x86)\Urudata\Q-flow Backend services, you must run the following command:

InstallUtil "C:\Program Files (x86)\Urudata\Q-flow backend services\Qflow.Listener.DirectorySynchronization.exe”

  1. Running this command will open a window in which you must enter the user name and password of the account with which the service being installed will be executed (it is the same window that appears when installing the other backend services; see Fig. 188). In general, that account is the same that is used to run the other services. Enter the user name and password and click on “Accept”.

  2. After this, the installation will continue and will be ready after a few seconds.

  3. To check that the service was correctly installed, open the Windows services window and check that the “Q-flow directory synchronization listener” service is installed.

  4. Start the service.

Configuration of the directory synchronization service

To configure the directory synchronization service, you must modify the Qflow.Listener.DirectorySynchronization.exe.config file (Fig. 210). Said file is located in the backend services installation folder.

_images/image100.png

Fig. 210 Directory synchronization service configuration file

The parameters that can be configured are the following:

  • DirectorySynchronizationPeriod: it specifies the time period in seconds between each synchronization with the directory services. By default it is 3600 (1 hour).

  • DirectoriesToSynchronize: a list of FQDN, separated by commas, of the directories that you want to synchronize with. It is empty by default, so synchronization is performed with all directories.

  • OutputGatheredData: if it is set to “true”, it writes a file in the services folder that includes the collected information of the directory services. It can be useful to analyze the synchronized information in the event of an error. The generated file is called “DirectorySynchronizationOutput.xml” and it is in the same folder as the service.

  • SynchronizeUsersWithoutEmail: if it is set to “true”, it considers and imports the users that do not have email accounts. By default, its value is “false”, since these accounts are not usually associated with individuals.

  • DisableNotFoundUsers: if it is set to “true”, it disables those users who are in the organizational model, but not in the directory. By default, its value is “false”.

Installation of iFilter for full-text searches on PDF documents

This section explains how to install the iFilter that allows you to perform full-text searches of PDF in Q-flow documents.

The iFilter installer can be downloaded in the following URL:

http://ftp.adobe.com/pub/adobe/acrobat/win/11.x/PDFFilter64Setup.msi

Once the installer is downloaded, run it and follow the instructions. Once the component has been installed, follow the next instructions:

  1. Add the path in which the component was installed to the PATH environment variable. The path must include the “bin” subfolder.

  2. Restart SQL Server’s services and full-text search.

  3. In SQL Server, run: sp_fulltext_service ‘load_os_resources’, 1

  4. Check the installation by running the following command: EXEC sp_help_fulltext_system_components ‘filter’. If the installation was performed successfully, in the result there must be a record with the value “.pdf” for the “ComponentName” column.

Dimensioning

The dimensioning of the Q-flow support systems must be done largely based on the dimensioning of the base software to be used (relational database, internet server and messaging server).

When users outside the organization use the Q-flow web site, the security infrastructure complementary to the system must be foreseen, such as firewall and security mechanisms with digital certificates that allow the creation of a secure site. Such mechanisms generally imply an additional load on the processing capacity of the web server.

As for Q-flow’s disk storage, this requires the following space to be assigned:

  • Space in system disks: 200 MB

  • Storage of structures on the relational database: it is recommended to have a space of 10 GB available.

  • Growth of the relational database:

    • Variable, in average 30kb per process.

    • Storage in the attachments repository: the size of the files to store plus 40% of structures and indexes (if full-text search for documents is not used, the additional 40% is reduced to an additional 2%).

Note that, regarding the space necessary on the disk, in addition to the already mentioned aspects, the space for backup should be taken into account (for example, the space used by the Transaction Log). This is not taken into account in the data mentioned above, since it depends on the backup policy of each organization and on the database engine being used.

To get more information about these aspects, see your database engine’s manual.

Examples of a Q-flow server’s dimensioning:

Users

Flows started per day

Process life time

Web server on the same computer

DB on the same computer

Recommended computer

10

10

1 week

Yes

Yes

Inter Core2 Duo

2 Ghz

2 GB RAM

100

100

1 week

Yes

Yes

Intel Core i5

2 Ghz

2 GB RAM

100

1000

1 week

Yes

No

Intel Xeon E3

3.2 Ghz

2 GB RAM

RAID disk subsystem

1000

1000

1 week

No

No

Intel Xeon E3

3.2 Ghz

4 GB RAM

RAID disk subsystem

In scenarios of very scarce interaction, such as initial implementation stages or settings with little workload, it is recommended to implement Q-flow as an additional service on the existing infrastructure.

If the number of simultaneous active flows exceeds 50.000, it is recommended to separate the engine and application services, implementing specialized servers for flow processing, managing application requests and notification services. This configuration requires a specific factory-made sizing.

Architecture and deployment

Q-flow has a SOA (Service Oriented Architecture) type of architecture. It has a set of services that group similar functionalities, conforming the backend layer. The backend services are uncoupled from each other, and provide functionality to the Frontend layer, which is the layer that the users interact with.

The communication between the Frontend and the Backend is done through messages, so that it is possible to distribute the components of the architecture on several servers, which makes it possible to maintain a high level of scalability and fault tolerance.

The frontend layer is composed of the following components:

  • Business Process Modeler (design tool)

  • Organizational Model Manager (administration tool)

  • Business Process Administrator (administration tool)

  • System Administrator and Monitor (administration tool)

  • Q-flow Web Site

Each frontend application communicates with a WebAPI on the backend, which manages its requests. The flow execution service or “flow engine” can also be found on the backend layer. This service is responsible for making the flows advance.

Other services included on the backend are:

  • The notification services, responsible for sending messages through different mail servers.

  • The directory synchronization services, which allow you to keep the organizational model data synchronized with the company’s security provider (for example, Active Directory).

_images/ArchitectureDiagramOfQflow.png

Fig. 211 Q-flow architecture diagram

Some deployment options

This section describes some of Q-flow’s deployment options, according to its basic architecture, and can be used as a guide when evaluating alternatives and making decisions about Q-flow’s deployment in your organization.

Simple deployment

In this scenario, all of Q-flow’s services are running on the same server, although they consume network services such as those provided by the database, mail and directory services. It is recommended that these services be hosted on different servers, but nothing prevents them from being hosted in the same server as the Q-flow services.

The following scheme is commonly used as a development environment.

_images/SimpleDeploymentDiagram.png

Fig. 212 Simple deployment diagram

Standard deployment

In this scenario, Q-flow’s services are divided into two groups: backend and frontend.

Backend services cannot be clustered by Q-flow itself, but it is possible to set up a Windows cluster to achieve the same goal. The frontend services, on the other hand, can be put on various servers to set up a farm using NLB (Network Load Balancing). This makes fault tolerance possible in this layer, and provides load balancing.

This type of scenario is generally used by medium-level implementations of Q-flow, which generally do not have fault tolerance in all layers.

_images/StandardDeploymentDiagram.png

Fig. 213 Standard deployment diagram

Enterprise deployment

In this scenario, fault tolerance exists in all layers. It is used by large implementations that require high availability.

In this case, the architecture is comprised of:

  • a layer called frontend, in which you can have several web servers that provide fault tolerance and load balancing.

  • a backend layer, which can have various servers in Active/Active cluster mode. It is worth noting that the backend services that have load balancing and fault tolerance internally are the flow engine and the notification services. The other services that are part of the backend must be set on a Windows NLB farm to achieve the same effect.

This type of scenarios occur on large implementations that require fault tolerance on the production environment. It is common to set a similar scenario for the pre-production or homologation environment

This type of deployment requires a Q-flow “Enterprise” license.

_images/StandardDeploymentDiagram.png

Fig. 214 Enterprise deployment diagram

In all the scenarios presented, it is possible to run the Q-flow services on virtualized servers.