The Solution Server is written in NodeJS but also leverages the Python runtime that is provided by the ActiveGate. It includes an installation of NodeJS that ESA solutions (and your own ‘solutions’) may use.
The Solution Server supports both conventional Dynatrace extensions as well as ESA-style ‘Solutions’. It presents every solution/extension as a tile on its home page. Each tile provides access to ‘Documentation’, ‘Settings’, ‘Health’, and ‘Support’ pages. Clicking on a tile takes the user to the UI of that solution.
Note that any extensions present on the ActiveGate when the Solution Server is installed, and any extensions that are added later, are automatically discovered by the Solution Server. Solutions adhere to certain conventions that allows the ActiveGate to treat them as extensions, and the Solution Server to treat them as proxied applications.
The following types of solutions are supported:
- Static sites and SPAs: A collection of static HTML/JS/CSS files. The DSS will expose that as a Web application.
- **NodeJS applications: **A self-contained NodeJS application. The Solution Server will start (and stop) it, and proxies requests for it to the port at which it listens.
- NodeJS modules: Any NodeJS code that exposes a specific interface. The Solution Server will load such module and route requests to it for the services it provides.
- Other runtimes (Python, Go, etc.): A self-contained application that uses a modern runtime. The Solution Server will start (and stop) it, and proxies requests for it to the port at which it listens.
- Extensions: A traditional extension. It exposes the interface required by Dynatrace. The ActiveGate will load it and call its methods periodically.
Detailed user-oriented and developer-oriented documentation for the Solution Server is available from within its user interface.