We in d.velop AG focus on a modern software architecture based on microservices among other things.
For example, d.3one is a collection of single microservices that interact and provide the user with DMS functionality in the user interface. Each microservice is a standalone application.
In the d.3ecm architecture, a microservice is referred to as an app.
Each d.velop product consists of its own apps which are specific for the product and which are installed using a product-specific setup. If, for example, an app was installed several times as separate app instances (e.g. for cluster operations or scaling purposes), all apps must have the same version.
Based on this architecture, you can decide freely according to the requirements of your server environment, which app should be install on which host how many times in the d.3ecm environment. This architecture design offers you maximum freedom to cover your specific requirements for the IT environment.
Besides the product-specific apps, there are the core apps that you need to consider separately.
Core apps in the d.3ecm architecture
There are a number of apps that are of crucial importance for many d.velop AG products in the d.3ecm system landscape. All the apps below are installed as infrastructure products using d.velop software manager and are not part of other d.velop products:
d.ecs http gateway
The d.ecs http gateway app is the core HTTP interface to all app in a d.3ecm environment. Any HTTP communication is done using this app. From a technical point of view, this is a reverse proxy. Each app is registered in the d.ecs http gateway app. The newly registered app can then be accessed by all the other apps under https://<BaseUri>/<AppName>. If you have to run several d.ecs http gateway apps in a d.3ecm environment, all d.ecs http gateway apps must be accessed under the identical base address. For each d.3ecm environment, there must be only a single base address.
d.ecs jstore
The d.ecs jstore app is a NoSQL database that caches frequently requested data from the d.3 server in the memory of the application server; such data includes, for instance, property values for frequently used documents. Thus the requested database accesses on the d.3 database are reduced and therefore the performance of the whole system is increased.
In addition, d.ecs jstore is used by the different d.velop components (e.g. d.3one, d.ecs monitor) to store data permanently.
d.ecs jstore is based on Redis (Remote Dictionary Server) and replaces Couchbase as cache storage, which was used until d.3ecm Version 8.0. Among other things, the app is easier to configure and, thus provides considerable advantages compared to the latest solution.
The d.ecs jstore app is installed on each Windows host on which a d.velop app is run.
In a d.3ecm environment, each single d.ecs jstore instance on a Windows host must be clustered in order to allow data communication.
d.ecs identity provider
The d.ecs identity provider app authenticates the users on behalf of each app. You can use systems like the Windows Active Directory service for authentication. The authorization of a user is done by each app.
d.ecs shell
The d.ecs shell app provides the common frame for the HTML interface of each app and implements a uniform look & feel user experience so that the interface of the apps is consistent and appears to be made in one piece. The app also provides access to the native functions of the host. In this context a host may be, for example, an e-mail application, an ERP application or even a browser.
Potential scenarios for a d.3ecm environment with d.3one
You can design your d.3ecm environment especially according to the requirements of your enterprise or organization. You can either use one single core application server at minimum or distribute the apps on different application servers. You can choose how to organize your d.3ecm environment based on your needs and requirements for your IT environment.
Example 1
The core apps were installed on a single application server, while the product-specific apps are installed on a different application server.
Example 2
The core apps are distributed on two application servers and the d.ecs http gateway app exists two times in the d.3ecm environment.
If there are questions regarding the cluster operation or scaling, contact your d.velop representative.