Overview of the components and architecture of censhare WP


Components

In addition to the censhare Server, censhare WP is based on further 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

The Static Resource server is used to deliver Webpack bundles to the web browser after successful authentication. Webpack bundles contain static resources such as JavaScript files, for example for different UI languages or with customization information. 

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 however 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, comments, etc. 

The webpack files contain the user-language specific static files of the user interface. For each language, separate webpack files are necessary. Also, for any other customizations in the custom folder, separate webpack files are needed.

censhare Server

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

With censhare WP however, the Webserver is no longer embedded in the censhare server. Static resources are delivered  a separate component, the Static Resource Server. Requests from the web browser are only forwarded to the censhare Server if users authenticate via Keycloak. 

Google Cloud AI

The Google Cloud AI is an optional service that you can use together with censhare WP. 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.

Social media service

The Social Media service is an optional service that you can use together with censhare WP. With the social media management integration, users can plan, create, publish, and evaluate their social media activities entirely in censhare Web. If you use the Social Media Service, you can install it together with the censhare WP RPM package.

Architecture

censhare WP with censhare Web



censhare Client user login with Keycloak



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

Compare censhare WP and censhare



A comparison between censhare WP (left) and censhare (right) regarding censhare Web.


censhare WP

censhare 

Main entry point

Cloud Gateway

censhare Server

Authentication

Keycloak

censhare Server (embedded solution)

Web Server

Static Resource Server

censhare Server (embedded solution)

Web performance technology

Webpack

-

Clients

censhare Web, censhare Client (with Keycloak support)

censhare Web, censhare Client

Administration

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

censhare Admin Client