censhare WP improves the performance of the web-based censhare client. The Webpack technology of censhare WP reduces the communication and traffic between the web browser and the censhare Server. Webpack facilitates to transfer static resources to the web browser.

This is the censhare WP section of the Administration Guide. The articles in this section are relevant:

  • If you are a Solution Developer or Project Manager.
  • If you want to install and configure censhare WP on a staging or production instance.

If you are a developer and want to install censhare WP on your local machine, develop and commit your changes to the censhare WP Git project, see the censhare WP section in the Developer Guide.

As of censhare 2020.3, the web-packed censhare WP is available as BETA program. If you are interested in participating in the BETA program, please contact our product management!

Context

  • censhare WP and censhare Web can be used in parallel.

  • censhare WP uses Webpack to bundle static resources.

  • censhare WP requires Keycloak for the authentication of users.

  • To use Webpack and Keycloak, censhare WP integrates additional services.

  • censhare WP uses systemd to run additional services.

  • censhare WP uses Keycloak as external authentication. Keycloak is published under the free Apache 2.0 license. It allows to integrate external authentication providers or methods such as LDAP or SAML.

BETA program

  • censhare WP and the external authentication with Keycloak are available for censhare 2020.1 as BETA program. If you would like to be part of the BETA program, please contact Product Management. The program involves beta testing and providing your feedback about deployment, scalability, and operation to censhare.

  • If you are a BETA tester, we would love to hear your feedback on the documentation so we can make it better.

Introduction

To use censhare WP (BETA), you must install the RPM package of censhare 2020.1 BETA. The installation package comprises the censhare Server, the Static Resource Server (SRS), the CloudGateway, and a Keycloak authentication server. The censhare Server works as before.

Better performance

Due to the Webpack technology, censhare WP increases the performance of the web-based client.  Webpack is a module bundler that reduces load and traffic between the censhare Server and the clients.

The static resource server provides static files from Webpack. The CloudGateway is the single entry point and handles all communications between the clients and the censhare Server.

External authentication methods

censhare WP uses Keycloak as an identity and access management solution. To use the external authentication solution with the censhare webbased client, you need to install censhare  WP. The external authentication with Keycloak can also be used with the censhare Client and the censhare Admin Client. Existing authentication methods can be used as before for censhare Web, the censhare Client, and the censhare Admin Client.

Users can work with censhare Web and their censhare Clients as before.

If you already use Keycloak in your organizational network, you can use your existing Keycloak instance. In this case, you must add and configure the censhare realm on your Keycloak server. Ask our support for an installation package without Keycloak, if you do not need to install Keycloak bundled with the censhare platform.

Google Cloud AI

The Google Cloud AI is not an integral part of censhare WP (BETA). However, you can use it with censhare WP or censhare Web. It is required if you use Google services Google Natural Language, Google Cloud Vision, or Google Video AI. If you use one of the Google analysis tools and censhare WP, you can install Google Cloud AI together with the censhare WP RPM package.

Architecture


censhare WP architecture:

  • Keycloak (authentication)

  • Cloud Gateway: Main entry point for the web browser.

  • Static Resource Server: It is needed for Webpack.

  • Webpack: bundles static resources to serve them to the web browser.

  • censhare Server (application server)

The Cloud Gateway and the Static Resource Server are additional services that are needed for Webpack and Keycloak. Both services are delivered as RPM packages for installation and use systemd to run as a service. systemd is a system and service manager for Linux operating systems.

Keycloak and censhare Server are also available as RPM packages.

Components

Cloud Gateway

The Cloud Gateway is the entry point to censhare. The Cloud Gateway hides and protects all other components to the outside. The Cloud Gateway routes requests from the web browser to following components::

  • censhare Server

  • Static Resource Server

  • Keycloak

The Cloud Gateway is based on Spring Cloud, a Java framework used to develop service oriented application.

Authentication server

Instead of censhare Server, Keycloak authenticates users at login. Keycloak is an Identity and Access Management (IAM) solution that is developed and distributed under the free Apache 2.0 license. 

Keycloak can be set up as a gatekeeper for the censhare internal user management, or with external protocols and identity providers, for example LDAP or SAML.

Static Resource Server

After successful authentication, the static resources of the censhare user interface are transferred to the web browser. The static resources are delivered by the Static Resource Server as Webpack bundles.

Webpack

Webpack is a web application package format. The censhare web interface builds on TypeScript, a JavaScript based scripting language, and the open source Angular framework. Thousands of JavaScript files are transferred on request and executed in the Web Browser. The HTTP protocol also only allows a few simultaneous request. This creates a huge overhead that requires additional time and bandwidth. It slows down the communication between censhare Server and the web browser.

To improve performance, censhare WP downloads the JavaScript files once at the beginning of the communication and stores them. Whenever a JavaScript file is needed, it is already there and can be executed immediately. 

censhare WP uses Webpack as format for the download. All JavaScript files and all dependencies are combined into several Webpack bundles. These bundle files are then compressed by various techniques such as removing white space, etc. 

censhare Server

The censhare Server is the application server to provide the requested data to the web browser. The censhare Server can be used with the new censhare WP, and with censhare Web as before. 

With censhare WP, static resources are not delivered via the censhare Server. Requests from the web browser are only forwarded to the censhare Server if a user has been authenticated via Keycloak. 

censhare Client with Keycloak support

Keycloak authentication with the censhare Client

censhare Client with Keycloak support can use Keycloak for authentication. 

When users log in at the censhare Client, they are redirected to a browser window with a log-in page (Keycloak). After successful log-in, the censhare Client communicates directly with the censhare Server.

Compare censhare WP and censhare Web

Architecture used with censhare WP (left) and censhare Web (right)

Main differences:


censhare Web

censhare WP

Main entry point

censhare Server

Cloud Gateway

Authentication

censhare Server (embedded solution)

Keycloak

Web Server

censhare Server (embedded solution)

Static Resource Server

Web performance technology

-

Webpack

Clients

Web Browser, censhare Client

Web Browser, censhare Client (with Keycloak support)

Administration

censhare Admin Client

censhare Admin Client (with Keycloak support), Keycloak admin web interface

Result

  • You understand the architecture of censhare WP.

  • You know which components exist and have a basic understanding of their functionality.

  • You understand the differences between censhare WP and censhare Web.