Skip to content

user guide

assimbly edited this page Feb 12, 2021 · 102 revisions

User guide

The userguide explains Assimbly in detail. First part is about installation and logging. Further the guide follows the GUI of Assimbly. This GUI consists of:

  1. Main page (Flows)
  2. Settings
  3. Administration
  4. Account

At the end we discuss how to use clients.

Installation

Prerequisites

Java (Version 11)

Standalone

  1. Get the latest release.
  2. Open a terminal.
  3. CD to the directory which contains "gateway-[version].jar" (for example: cd C:\users\user\Download).
  4. Start the application:

java -jar gateway-[version].jar

See the Quick Start to start a local Assimbly from command line in detail.

Windows Powershell

Install Assimbly including Java using a Powershell script:

  1. Download the script.
  2. Open a Powershell and cd to download directory (for example cd "C:\users\myusername\Downloads").
  3. Run the script:

.\install_assimbly.ps1

Windows Service

Assimbly can also be installed as a Windows Service.

  1. Download winsw
  2. Rename "gateway-version.jar" to "gateway.jar"
  3. Rename winsw file WinSW.NET4 to "gateway.exe"
  4. Create a configuration XML file:
 <configuration>
	<!-- Mandatory fields -->
	<id>assimbly-gateway</id>
	<name>Assimbly Gateway</name>
	<description>Message gateway</description>
	<!-- Set alternative path to Java executable -->
    <!--<executable>D:\gateway\java\jdk11\bin\java.exe</executable>-->
	<executable>java</executable>
	<!-- Optional fields. For all options check: https://github.com/kohsuke/winsw -->
    <arguments>-Dserver.port=8090 -jar "gateway.jar"</arguments>	
	<startmode>Automatic</startmode>
	<logpath>%BASE%\logs</logpath>
	<log mode="roll-by-time">
	  <pattern>yyyyMMdd</pattern>
	</log>
 </configuration>
  1. Open CMD as administrator and cd to the gateway directory then use following command:

gateway.exe install

Note: Alternatively you can use nssm to install Assimbly as a Windows service.

Docker

Assimbly can also be started from Docker:

docker run --name assimbly -p 8080:8080 skin27/assimbly:latest

When started, the gateway can be reached at the following URL:

http://localhost:8080

More info

Logging

There are three ways to view the logging of Assimbly

  1. Command Line: When started from command line (with java -jar) you see the log in System.out.
  1. File System: The log file of Assimbly is by default created in the user.home directory:

        ${user.home}/.assimbly/%d{yyyy-MM-dd}.assimbly.log
    

(on Windows for example: C:\Users\username.assimbly\2019-01-01.assimbly.log). 3) GUI. It's also possible to view the log within the browser:

      Administration --> Log viewer

More info

Flows

What is a flow?

A flow moves data messages between endpoints. Its starts at the from endpoint and ends at the to endpoint. There can be multiple to endpoints as destination. If something goes wrong the message is send to an error endpoint. This endpoint is obligatory, so the message can always be delivered.

A flow is in the background executed as a Camel route, so why is it call a flow? There are two reasons for this:

  1. A Camel route supports all kind of integration patterns. So a flow is always a route, but not the other way around. It's a simplification of a route. For Assimbly we decide explicitly not to support all integration patterns, you need some kind of ESB or dataflow system for that functionality. We may support a simple filter or transform mechanism if really needed.
  2. A Java API (Assimbly connector) is build on top of the Camel implementation. So if needed one can implement another Integration framework like Spring Integration or create an own implementation.

Creating a flow

There are four ways to create a new flow:

1) GUI

The default way to create a new flow is to use the gui.

  • On the main page (flows) click the button "Create flow"
  • Give the flow a name.
  • There are various generic flow setting, that are explained in the 'i' (info)
  • From endpoint: For the source you need to choose component and URI. Use the question mark to get help and suggestions. The service is only available for some endpoints, for example to create a connection. Headers are always available.
  • To endpoint: This works the same as for the from endpoint. To only difference as that you can add more endpoints (maximum is 3).
  • Error endpoint: This works the same as for the from and to endpoint. The error endpoint is the destination if something goes wrong.
  • Save the flow.

2) Import from Gateway settings

Under settings --> gateway there is an import button where a XML configuration can be imported.

3) Clone

When clicking on the name of flow in the main page you get a view of the flow configuration. When clicking on the "Clone" button the wizard opens with this configuration. There you can change every part of the configuration (for example giving the flow a new name) and save the configuration.

4) REST API

The REST API can be called. For this four resources need to be called, namely: flow, from endpoint, to endpoint and error endpoint.

Endpoints

An endpoint is source or destination of a flow. An Assimbly endpoint consists of three parts:

  1. URI
  2. Header
  3. Service

URI

With an URI (Uniform Resource Identifier) an endpoint can be configured. The URI is set up the same way as in Camel:

scheme://context?options

  • scheme: To identify the component
  • context: To set the source or destination
  • options: Options for the component

For example in Camel you can have to following URI:

file:/pathToDirectory?directoryMustExist=true

In Assimbly you select the scheme "file" then set the context "/pathToDirectory". Below the context you choose options if needed.

FromEndpoint

Components

When you need more information about the components and its options you can click on the Camel button. This links to the latest Camel Component Reference. The Assimbly buttons links to the components information on this wiki. The Assimbly wiki enhances the Camel documentation with explanation, examples and screenshots.

Running a flow

A flow have 5 basic actions:

  • Start
  • Stop
  • Pause
  • Resume
  • Restart

From the main page the actions which are available have active buttons. When you start a flow you can see the status of flow change from inactive to active. In case of an error the status button gets red. You can hover the status button to get more info.

Settings

Settings are configuration that can be used in flows.

Gateway

In Assimbly a gateway is collection of flows. The flows are moving messages between endpoints. Basicly Assimbly is a message gateway with the following characteristics:

  1. Link: it's a link between endpoints, allow them to share information and bypass certain protocols.
  2. Portal: it's a point of access.
  3. Message: Messages are central. Messages mostly have a payload (for example a XML) and some headers.

Assimbly gateway tries to fulfill these characteristics as it acts as a portal for one or more endpoints. These endpoints are for example an application, a broker or a location. Endpoints that are linked together form a flow.

More info on Gateway

Broker

On the broker page you can configure and manage an embedded ActiveMQ Broker. Bother ActiveMQ Classic (v5) en ActiveMQ Artemis are supported.

More info on Broker

Headers

Message headers are properties messages. Each property consist of key/value. Values can be set as a constant or with a scripting language (jsonpath, xpath, groovy and simple).

More info on Headers

Services

Services can be used by endpoints for example to set up connection to a remote database or broker. For these endoints the service is required, otherwise the service field is diabled

More info on Services

Environment variables

Environment variables make is possible to set values specific for an environment. When the variable is set it can be used with a flow.

More info on Environment Variables

Offloading

Offloading is a special "to endpoint" where a copy of a message is send to.

More info on Offloading

Security (TLS)

Assimbly has SLL/TLS support build-in. This can be used by several components like SFTP/FTPS or HTTPS4. In most cases nothing has to be done in the flow and certificates can be centrally managed:

More info on Security (TLS)

Administration

Administration contains pages to administer Assimbly

  1. User Management Add, Edit or Delete users. User have either admin rights (manage and configure flows) or user rights (only manage flows).
  2. Metrics Application metrics like CPU, Memory and number of threads.
  3. Health Health endpoint like DiskSpace. Also available as REST Endpoint.
  4. Configuration The application configuration (application.yml). This can be overwritten on startup.
  5. Maintenance At the maintenance page you set a flow into maintenance mode. Choose the time the flows are paused. When the timer is finished the flows are automatically started again.
  6. Audits Audit log of login of users.
  7. Logs Application log of each class.
  8. Log viewer Shows the last lines of the log file.
  9. API All REST API endpoints.
  10. Database Database client (not in production mode).

Clients

REST Client

Assimbly has an extensive REST API. This means that all functionality in the GUI can also be call from any REST client. More information can be found:

How to call Assimbly from an external REST client?

Hawtio

Hawtio is a web console to monitor and manage Java applications.

Usage:

Clone this wiki locally