Skip to content

deployment

assimbly edited this page May 17, 2022 · 3 revisions

Assimbly can be set up for different types of deployment. There are many ways to perform a deployment of the gateway and this depends on the use case and environment. Typically a standalone gateway is set up for development. A single gateway with database for test and multiple gateways for acceptance or production.

Java

  • Asismbly Gateway needs Java 8 (1.8) until version 3.0.0
  • Assimbly Gateway needs Java 11 from version 3.1.0

Standalone gateway

Assimbly can be deployed as a standalone application. This can be done if you need easy installation (as explained in the user guide) for example on your laptop, development server or application server.

Standalone Setup

Typical environments

laptop, development

Setup

The easiest is to put the startup parameter:

java -jar gateway{version}.jar

in a .bat or .sh file and run from the terminal.

Check the user guide for all installation options.

Single gateway

Another setup is to use a central database like MySQL or PostgreSQL. In this setup each instance has the same configuration. You're also able to run a flow on multiple servers (if the protocols used in the flow allow it) or use another instance as backup instance.

CentralDatabase_Setup

Typical environments

Test

Setup

  1. Have a database running with the schema 'gateway'. For example in MySQL:

CREATE DATABASE gateway;

  1. Run the gateway with for example a Windows Service or Linux Daemon. For example
java -jar gateway{version}.jar 
        --spring.datasource.url=jdbc:mysql://localhost:3306/gateway 
        --spring.datasource.username=myUsername
        --spring.datasource.password=myPassword

The url is a JDBC url of an external database (for example MySQL, PostgreSQL, Oracle or MSSQL)

Multiple gateways

In this setup (available from 1.8) you can startup an instance with a specific gateway name. If the name doesn't exist the gateway automatically is created, otherwise a new instance is used (similar to the setup above). When another gateway is created this will show and run only the flows of this gateway instance.

Assimbly_MultipleGateway_Setup.jpg

Typical environments

Acceptance and production

Setup

  1. Have a database running with the schema 'gateway'. For example in MySQL:

CREATE DATABASE gateway;

  1. Run the gateway with for example a Windows Service or Linux Daemon.

For example a instance "Gateway1" (Can be any name)

java -jar gateway{version}.jar 
        --application.gateway.name=Gateway1
        --server.port=8083
        --application.gateway.base-directory=/path/todir
        --spring.datasource.url=jdbc:mysql://host:3306/gateway 
        --spring.datasource.username=myUsername
        --spring.datasource.password=myPassword

And another instance

java -jar gateway{version}.jar 
        --application.gateway.name=Gateway2
        --server.port=8084
        --application.gateway.base-directory=/path/todir
        --spring.datasource.url=jdbc:mysql://host:3306/gateway 
        --spring.datasource.username=myUsername
        --spring.datasource.password=myPassword

Note that the instance can run on the same server (and then can have the same port) or on another server.

The url is a JDBC url of an external database (for example MySQL, PostgreSQL, Oracle or MSSQL)

  1. When running in this mode, each gateway instance has its own flows, but shares other settings (services, headers, certificates)

Multiple gateways (Microservices)

Assimbly is a JHipster application. We may support Jhipster microservices setup in the future (see https://www.jhipster.tech/microservices-architecture/)

Assimbly_Cloud_Setup.jpg

Clone this wiki locally