A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://seb-server-setup.readthedocs.io/en/latest/overview.html below:

Website Navigation


Overview — SEB Server Setup documentation

Overview Overall Architecture

SEB Server is an enterprise server application consisting of several services mostly written in Java and uses Spring and Spring Boot as a main-framework but also NodeJS and Vue framework for graphical user interface components.

The image below shows the overall architecture of the SEB Server which is basically split into two main parts, a webservice and a Graphical User Interface (GUI) service. This two services can be deployed together in one server instance or they can be deployed separately with the ability to scale the webservice for example up to the specified needs.

The webservice uses a well defined REST API interface over HTTP and mainly JSON as a data structure for communication. The webservice also implements OAuth2 as a standard authorization and authentication method.

The GUI service is written in Java and uses Eclipse RAP to create the HTML front-end and connect to and uses the REST API of the webservice. While the webservice has no user-session based state and externalize state as much as possible (except some internal caching) to make horizontal scaling possible, the GUI service has a session-state for the logged in users as it comes with the RAP framework.

In Version 2.X of SEB Server there are two additional services for the new screen proctoring feature. The two services are separated webservice API and graphical user interface service just like the existing sebserver services. The separation is due to the needed possibility to individually scale each component when needed or separate data bases for SEB Server and screen proctoring since screen proctoring needs much more disk space when used.

There are basically two different setups for SEB Server. One that bundles all up to run SEB Server on one dedicated host including or excluding data storage. And a cloud based setup where each service runs individually and also can be scaled individually. For both setups a setup example and sample configuration are provided by this guide.

The image below shows a fully bundled setup were all is fit together within one Docker-Compose setup and a Docker Network

Services: A - F

Connections and Routing: 1 - 9

The following diagram shows cloud based setup where all services are setup separately running within scalable pods and are externally connected within dedicated DNS names and URLs while an Ingress (or similar routing service) makes the TLS termination and internal routing / load balancing to the running services.

Installation Repository

The installation and setup of SEB Server depends on the service needs and the local IT environment and infrastructure that exists and can be used. Because the setup can vary from a simple in-house all-in-one server setup to a setup that serves many institutions and must be horizontally scalable, the seb-server-setup repository contains pre-configured docker-based SEB Server setups for the most common cases and can easily be extended by adding new installation setups.

The seb-server-setup repository structure contains different setups-configurations separated for the different needs. Currently only docker-based installations are supported. On the second directory level installation purpose categories like “demo” for setting up a SEB Server for demonstrations or “prod” for final productivity setup are defined. The third and forth directory level, if existing, names then different SEB Server setups like “bundled”, “cloud”. Below is an example of the seb-server-setup directory structure.

At each endpoint (e.g.: docker/prod/bundled/basic/) there is a root installation directory with docker-files for the services, a docker-compose definition and a “config” directory containing service related configurations like Spring configuration for the SEB Server, MariaDB configuration for the database and/or reverse proxy configuration.

Bundled setups also comes with a .env File within the installation directory with the all the environment settings that has to be set at least for the specific setup when it should be setup with all the default configuration defined by the example. This usually are passwords, connection details and external DNS mapping settings.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.3