By default, all components of Coffalyser.Net are installed on the same computer. However, the components of Coffalyser.Net can be split over separate computers, which allows more sophisticated setups with advantages such as better scalability and maintainability. This article will explain the basics behind Coffalyser.Net's components to allow you to pick a suitable setup for your organisation.
The three components of Coffalyser.Net
Coffalyser.Net has three main components:
- The Coffalyser.Net client application with which users interact.
- The Coffalyser.Net database, which stores all information including data and user accounts.
- The Coffalyser.Net server service, which facilitates the communication between one or more clients and the database.
Examples of configurations
There is no requirement for the three components to be on the same computer, which means that there are many different possible configurations. The figure below shows several examples that are discussed in more detail below the figure. It is important to note that these examples do not describe all possible configurations. These examples have been chosen because they best illustrate the most common scenarios.
- All three components are installed on the same computer. This is the default installation procedure, which is best suited for users who do not have to share data. The default installation procedure is designed for users without (much) computer knowledge. There is no limit to the number of users who may install Coffalyser.Net this way within a network, but this setup tends to be difficult to maintain in terms of updates and backups as the number of users increases.
- A second user within the same network may install just the client and connect to the server service on the first user's workstation. All clients automatically discover server services within their network (provided that network security settings allow this; see below), so the second user can connect to an existing server service rather than entering the Configuration Wizard to create their own server service. Because Coffalyser.Net allows multiple users and organisations within one database, this offers a simple way to collaborate within a small team. It also slightly simplifies updates and backups.
- In the previous example, the first user's workstation effectively functioned as server. For better control, it is often advisable to move that role to a separate application server within the network. This can be achieved by installing Coffalyser.Net on the application server, and allowing clients on all workstations to connect to the central server service. The clients can be installed on individual workstations, but can also be made available via a network share (see below).
- In addition to the previous example, the database may be hosted on a separate database server. This is often advantageous in organisations that already have a central SQL Server, and allows Coffalyser.Net to benefit from any existing procedures related to scalability, maintenance and backups. A general description of the steps that are necessary for such a setup is included further on this article.
- The system of user rights and organisations that allow different teams to work using the same server service and database without interfering with each other's data may not always be sufficient. One way to completely split different teams (or different types of data) is to create multiple separate databases (which may or may not be hosted on the same SQL Server instance). As each server service can only connect to a single database, this requires an equal number of server service components. Prior to Coffalyser.Net v.210226.1433, this required multiple (virtual) application servers as each computer could only hold one server service. As of Coffalyser.Net v.210226.1433, there is a manual way to run multiple server services on the same computer.
Using a network share to distribute the client application
The Coffalyser.Net client application does not require installation as long as the prerequisites are present (see system requirements; this mainly concerns the .NET Framework). This means that if you host the server service and database components centrally, such as in examples C through E above, no installation is required on the workstations of individual users. Instead, you can distribute the installation directory of Coffalyser.Net to each workstation via a network share. You can do this simply by copying the program files to an existing network share, or by creating a new network share from the installation directory.
Practical example using an application server, database server and network share
The precise steps to follow will depend heavily on the specifics of your network and your chosen approach. However, using the Installation Manual for general instructions about the configuration of Coffalyser.Net, the procedure is not extremely complicated. This section lists the general steps that you would perform when using an application server and dedicated database server (example D from the figure above), and when making the client available to workstations via a network share.
- Install Coffalyser.Net on the application server. Enter the Configuration Wizard to set up the connection to the database server. Use the procedure for installation with an existing SQL Server in the Installation Manual for guidance.
- Install the license and verify that the setup works.
- Copy the files from the installation directory (C:\Program Files (x86)\MRC-Holland\Coffalyser.Net by default) to a network share, or make the installation directory available as a network share.
- Users on workstations can simply start CoffalyserClient.exe from the network share and connect to the central server service, which should be visible in the Server Selection dialog.
Required network settings for client–sever communication
Coffalyser.Net communicates using TCP (for client–server service communication) and UDP (for server service discovery) via port 1231. You may need to modify network security settings in order for clients to connect to a central server service and for automatic server service discovery to work. In particular, you may need to enable communication via port 1231 in the firewall of the computer that hosts the server service. Enabling communication on port 80 from the computers that run the clients to MRC Holland's servers is also advisable, as this allows automatic updating of licenses and the sheet library.
If clients do not automatically discover a server service on your network, you can try adding the server service manually to the client by pressing Add Server in the Server Selection dialog and by specifying the appropriate hostname (preferred) or ip-address.
Using an existing dedicated SQL Server
Coffalyser.Net requires elevated rights on the database server during initial setup (including the ability to execute a CREATE DATABASE statement). If you do not wish to (temporarily) grant these rights, you can also migrate an (empty) database to the database server and connect to it in the Configuration Wizard. If you do not yet have a database, you can create one using a default dummy installation in a virtual environment or on a laptop, or you can contact us for an empty database.
Coffalyser.Net supports two authentication modes: Windows/integrated authentication (Windows account credentials), and SQL Server authentication (username and password). If you plan to use Windows/integrated authentication, then it is relevant to know that the account that runs the Coffalyser.Net Server service is the account that will be used to log in to SQL Server. By default this is the Local System account. The configuration wizard does not offer the option to select a different account, but this can easily be changed in the Windows Services app. Because the server service's configuration files are stored in the profile directory of the user, you may need to reconfigure the server service after changing the account that runs it.
Supported versions of SQL Server can be found in the system requirements.
If you need more information or if you have specific questions, please contact us.