Preamble
This article describes the recommendations for the user stations or the client’s network in order to properly execute the client hosted Timesquare On Premise solution.
All people involved in the project must take note of this document, and make sure that Timesquare solution is compatible with the specificities of the client's IT infrastructure.
In all instances, Holy-Dis recommends a technical study of the architecture to be implemented in order to perfectly address all the project’s array.
All the information included in this article is provided for your convenience and built on our clients-based experiences. These are subject to change without notice by Holy-Dis and cannot in any way engage its responsibility.
Under no circumstances will the responsibility of Holy-Dis be engaged in case of malfunction of the solution related to non-compliance with the technical requirements provided here.
Overview of Timesquare multi-tier architecture
Technical referencing procedure
Timesquare is designed as a next generation web-oriented architecture with a special focus on scalability and User Experience (UX):
- API First design
- Reactive SPA (Single-Page-Application)
- Horizontal scalability
All Timesquare components can be deployed on multi-node cluster mode..
Timesquare technical referencing procedure (TSQ-AT-R)
Deployment mode
Timesquare is designed to be deployed in cluster mode or simplified mode. In order to ensure high availability and scalability for Timesquare, cluster mode deployment is recommended (see technical procedure TSQ-AT-R).
Timesquare components
Timesquare consists of four inseparable logical components:
- T-WEB: Component in charge of interactions with the user using the services provided by T-API. It only contains web elements (HTML, Javascript, CSS, Images, etc.) that can be deployed on a standard web server (eg: Apache HTTP, NGINX, etc.) or same servlet container (eg: Apache Tomcat).
- T-API: Component providing APIs in charge of all the functional requests and all the security controls (eg: authentication and authorization). It contains Timesquare binary codes with an integrated application server running on a JVM (Java Virtual Machine).
- T-BUS: Component in charge of all functional and technical coordination between Timesquare ‘various instances.
- T-Moteur: Component in charge of planning optimization and legalization calculations.
The following two components are optional:
- T-Datamart: Timesquare Decisional / Datamart is a standalone Java solution with a JDBC connection to Timesquare relational database. It feeds the target database for decision-making use.
- T-Webservice: Timesquare webservice API that exposes part of Timesquare services to third-party applications.
The other standard components listed in the technical procedure TSQ-AT-R are not provided within Timesquare.
Third-party components requirements
Third-party components required
Standard components are not included in Timesquare deliverables, but they are essential for the proper operation of the solution. Here is the list of third-party components required by Timesquare in a typical deployment:
- Web browser: A modern browser with HTML 5 and Javascript ES2015 support at a minimum is required. Holy-Dis supports access to its software through Edge, Firefox, Chrome and Safari browsers as long as regular maintenance (excluding extended maintenance) is provided by their publishers. Insofar as the updates of these browsers are generally done automatically, Holy-Dis recommends the use of major versions of these solutions.
- ADC (Application Delivery Controller): This component is required for the load balancing, reverse-proxy, TLS termination, etc. in the case of a single URL or in multi-instance mode.
- Web Server: This component is required for T-WEB hosting, but optional in a simplified deployment mode.
- Data Server: This component is mandatory to run Timesquare.
- Java runtime (JRE): This component is mandatory to run Timesquare.
- Kafka: This component is essential for the proper functioning of Timesquare. Timesquare is compatible with versions of Kafka 2.0 or higher. Kafka must be installed on a Linux operating system.
- Zookeeper: This component is essential for the proper functioning of Kafka. Kafka provides an embedded version of Zookeeper in its package and installs it along with Kafka. However, it is recommended to install the standard version of Zookeeper rather than using the version embedded by Kafka, especially for using My Timesquare. It is strongly recommended that Zookeeper be installed on a Linux operating system.
- SSL Certificate: This component is mandatory for security in TLS.
- SMTP server internal to your company: In order to configure email notifications, it is necessary to use an SMTP server internal to your own infrastructure (with user/password authentication or with a token). The configuration can be carried out by your IT team or by Holy-Dis (charged option). The table below details the properties to configure:
| Key | Value |
|---|---|
| tsq.mail.collab.active | Email notification for Collab (example: true) |
| spring.mail.host | Mail server host (example: smtp.holydis.com) |
| spring.mail.username | Sending email account (example: tsq@holydis.com) |
| spring.mail.password | Sending account password (example: ****) |
| spring.mail.properties.mail.transport.protocol | Protocol (example: smtp) |
| spring.mail.properties.mail.smtp.port | Mail server port (example: 25) |
| spring.mail.properties.mail.smtp.auth | YES / NO authentication (example: true) |
| spring.mail.properties.mail.smtp.starttls.enable | Activate StartTLS protocol YES / NO (example: true) |
| spring.mail.properties.mail.smtp.starttls.required | StartTLS mandatory protocol YES / NO (example: true) |
It is also possible to plan an integration with the Microsoft Graph solution for sending and receiving emails as part of a SaaS database.
Compatibility matrix
Here is Timesquare components compatibility matrix with third-party software (OS, Java, database, etc.).
| Operating System (OS) | Java | Browsers | Databases | |
|---|---|---|---|---|
| T-WEB | Windows Linux |
N/A | Browsers supporting ES2015 and HTML5 | N/A |
| T-API | Windows Linux |
JRE 17 / JDK 17 | N/A | Oracle 19c MS-SQL Server 2012 - 2019 MySQL, MYSQL 8.0 |
| T-BUS | Linux | JDK 17 | N/A | N/A |
| T-Moteur | Windows | N/A | N/A | Oracle 19c MS-SQL Server 2012 - 2019 MySQL, MySQL 8.0 |
| T-Datamart | Windows Linux |
JRE 17 / JDK 17 | N/A | Oracle 19c MS-SQL Server 2012 - 2019 MySQL, MySQL 8.0 |
| T-Webservice | Windows Linux |
JRE 17 / JDK 17 | Oracle 19c MS-SQL Server 2012 - 2019 MySQL, MySQL 8.0 |
Important: Please contact the technical teams in the event of an update of the Server OS and database versions compared to the version validated by Holy-Dis at the time of installation.
Client station requirements
Timesquare
Timesquare meets the standards of flexible web design. The solution adapts to the diversity of display environments. Items change shape and position without compromising the integrity of the overall page design.
Therefore, Timesquare is multi-devices: it can be equally displayed on PC or tablet (in landscape mode).
Here is the list of components required by Timesquare:
-
Web browser: A modern browser with HTML 5 and Javascript ES2015 support at a minimum is required. Holy-Dis supports access to its software through Edge, Firefox, Chrome and Safari browsers as long as regular maintenance (excluding extended maintenance) is provided by their publishers. Insofar as the updates of these browsers are generally done automatically, Holy-Dis recommends the use of major versions of these solutions.
- Spreadsheet and PDF reader: For reporting tables in XLSX format and editions in PDF format. Timesquare is compatible with Microsoft Excel and Adobe Acrobat for viewing/reading documents produced by the solution as long as regular maintenance (excluding extended maintenance) is provided by their respective publishers.
Note: It is important to note that some antivirus software and / or their settings are likely to block flows necessary for a proper use of some features. For example, real-time HTTP flows can be poorly managed by some antivirus software, those flows are mandatory to allow the Timesquare’s notification system to work.
The minimum configuration required is indicated in the table below.
| Operating System | Microsoft / Linux / Apple OSX |
|---|---|
| Processor | 4 CPU |
| Memory | 8 Go |
| Display resolution | 1280 x 768 and beyond |
To date, Chromebook and by extension Chrome OS are not among the tested operating systems compatible with Timesquare.
Note: Regarding screen resolution, it is important to note that the "Retina" technology available in some Apple brand devices multiplies the number of pixels for a similar resolution on a standard screen. Thus, for a higher number of pixels, there is a lower resolution. This is why the display of Timesquare on these media may not be optimized.
"Javascript" and "Files downloading" options must be activated.
To access the Help Center, which is hosted by Zendesk, a SaaS solution external to Timesquare servers, you need to have an internet connection.
Regarding the processor and memory required, this information is provided as a guide. In any case, display performance is also dependent on browser load, as well as overall usage of the working environment.
On a daily basis, it is highly recommended to work on only one Timesquare page / tab at a time. More specifically, I avoid working on the same item (person, task, etc.) on multiple pages / tabs simultaneously. Indeed, this can cause synchronization problems, in particular in the event of validation or data recording.
As a reminder, a page / tab corresponds to a user session.
My Timesquare
My Timesquare is the solution dedicated to employees. It meets the standards of responsive design. It automatically adjusts the display of the web page to the size of the terminal screen used.
Therefore, My Timesquare is multi-devices: it can be equally displayed on a PC, a tablet (in portrait or landscape mode) or a smartphone.
Here is the list of components required by My Timesquare:
-
Web browser: A modern browser with HTML 5 and Javascript ES2015 support at a minimum is required. Holy-Dis supports access to its software through Edge, Firefox, Chrome and Safari browsers as long as regular maintenance (excluding extended maintenance) is provided by their publishers. Insofar as the updates of these browsers are generally done automatically, Holy-Dis recommends the use of major versions of these solutions.
- Spreadsheet and PDF reader: For reporting tables in XLSX format and editions in PDF format. Timesquare is compatible with Microsoft Excel and Adobe Acrobat for viewing/reading documents produced by the solution as long as regular maintenance (excluding extended maintenance) is provided by their respective publishers.
Mobile mode is automatically activated for resolutions below 992px horizontally, so for a smartphone or tablet in portrait mode for example.
The technical requirements of Desktop mode are identical to those of the Timesquare solution.
Mobile mode is suitable for regular smartphones on the market running IOS or Android with a minimum resolution of 375 x 600px.
The connection to My Timesquare is made from the same URL as Timesquare.
Servers requirements
Web Server
T-WEB component is deployable on standard web servers such as:
- Apache HTTP
- NGINX
The minimum configuration required is indicated in the table below.
| Space disk | 10 Go |
|---|---|
| RAM / CPU | To be qualified depending on the server selected |
| Network connection | To be qualified depending on the number of users and the intensity of use |
| Operating System | OS supported by the Web Server selected (eg: Windows Server 2019 or recent Linux Server) |
| Web Server | Apache HTTP, NGINX, etc. |
T-API Server
Timesquare T-API is provided with an integrated applicative server. The T-API hosts must comply all the minimum requirements indicated in the table below.
| Space disk | 20 Go |
|---|---|
| RAM/CPU | To be qualified depending on the number of users and the intensity of use |
| Network connection | To be qualified depending on the number of users and the intensity of use |
| Operating System |
|
| Software | Java Runtime 17 (JRE or JDK 17) |
T-BUS Server
The T-BUS hosts must comply all the minimum requirements indicated in the table below.
| Space disk | 40 Go, SSD recommended |
|---|---|
| RAM/CPU | To be qualified depending on the number of users and the intensity of use |
| Network connection | To be qualified depending on the number of users and the intensity of use |
| Operating System |
Linux 64-bit Server |
| Software | Java Runtime 17 (JRE or JDK 17) |
T-Moteur Server
Timesquare splits loads across different instances of the engine. Depending on the types of requests, the engine performs synchronous processing (legalization calculation per person) or asynchronous processing (optimization calculation).
The minimum configuration required is indicated in the table below.
| Space disk | 10 Go |
|---|---|
| RAM/CPU | To be qualified depending on the number of users and the intensity of use |
| Network Connection | To be qualified depending on the number of users and the intensity of use |
| Operating System | Windows Server 2012 to 2019 |
| Software | N/A |
Database Server
The database server hosts all solution data.
The minimum configuration required is indicated in the table below.
| Space disk | To be qualified depending on the data volume |
|---|---|
| RAM/CPU | To be qualified depending on the number of users and the intensity of use |
| Network Connection | To be qualified depending on the number of users and the intensity of use |
| Software |
|
| Text Encoding | Unicode |
The use of another RDBMS (Relational Database Management System) will require a compatibility check with JDBC 4 standards and the existence of DBExpress drivers for connectivity with the engines. It must then be confirmed by Holy-Dis technical services.
Timesquare must have its own schema and a dedicated user with proprietary permissions on this schema.
For more information on recommended sizing, please refer to the Database sizing section.
Recommended hardware configurations
Timesquare server sizing
The hardware configuration required for the proper running of the solution depends on several factors:
- Number of users
- Number of scheduled persons
- Availability requirements
- Functional scope
TYPE 1 Configuration (Mono-host)
When in a simple use case (up to 50 users, 500 persons scheduled, no requirement on high availability), Timesquare components can be deployed on a single host machine. It can be a VM or a dedicated physical machine.
Timesquare component concerned:
- T-WEB
- T-API
- T-BUS
- T-Moteur
The minimum configuration required is indicated in the table below.
| Space disk | 60 Go, SSD recommended |
|---|---|
| RAM/CPU | 8 Go RAM, 4 CPU 2GHz+ |
| Network Connection | To be qualified depending on the intensity of use |
TYPE 2 Configuration (Multi-hosts)
Timesquare is designed for the deployment in cluster mode with multiple hosts as recommended in the technical procedure TSQ-AT-R. In this deployment mode, the following components can be deployed on several hosts forming 4 distinct clusters:
- T-WEB Cluster in active / active mode
- T-API Cluster in active / active mode
- T-BUS Cluster in active / active mode
- T-Moteur Cluster in master / slave mode
These 4 clusters can share the same hosts to optimize the use of resources. For larger scopes, please contact Holy-Dis who will propose a custom architecture.
Database sizing
A separate server hosting the database is recommended for Timesquare installations.
This one can be shared.
The volume depends on the use of the solution, the number of employees to be scheduled and the history to keep.
Connectivity and network
The client is responsible for the connectivity and network of the installation.
Installation and configuration
During the implementation of the solution, Holy-Dis intervenes for the installation and configuration of Timesquare software components.
It is up to the client to provide the required hardware installation, configuration and "Third Party Components" services mentioned in the previous chapters, as well as security configurations such as TLS and Firewalls.
Remote maintenance
In order to optimize the assistance and interventions of our teams thus guaranteeing the control over the solution, Holy Dis requires access to take remote control of Timesquare servers. This authorization is essential during product testing period.
The technical means suggested, and commonly used, are:
- A TSE client, accessed through an account with limited privileges
- An sFTP client configured with an Holy-Dis account, allowing secure access to the sFTP server of the Holy-Dis network and reserved for our clients
- A remote access software: Teamviewer
Datamart: Minimum dedicated configuration
For further information on the configuration required, please refer to the Datamart Configuration and Technical Requirements.
Integration to Third Party Systems
Web Services
For further information on the configuration required, please refer to the Web Services article.
Imports / Exports
For further information on the configuration required, please refer to the Imports / Exports article.
Comments
0 comments
Please sign in to leave a comment.