Apache Camel - advanced
Automatic import
Automatic import
Apache Camel integrations are defined within your application's jvm/{app-name}-script-config/{app-name}-camel.kts file.
System definitions
Reading from an SFTP server
The Genesis Platform supports the use of Apache Camel in order to integrate with external systems, using its plethora of components.
To create integration tests for your Apache Camel routes, you need to create service tests by extending the AbstractGenesisTestSupport class and specifying the relevant application-name-camel.kts file as the scriptFileName.
Before diving into the core concepts, let's start with how to set up the Genesis HTTP Client in your project.
Introduction
Request context
To create custom endpoints, you need to define a gpal file called web-handler.kts.
Gpal custom endpoints require no configuration beyond the web-handler.kts file. No modifications to the processes.xml file are required. Files will be picked up automatically by the Genesis Router from the /script folders.
The example below is a collection of custom endpoints supporting SAML authentication. The LoginPostEndPoint, LoginUrlRequestEndPoint, LogoutEndPoint, and MetadataEndPoint all extend this AbstractSamlEndPoint.
Integration testing
Enriching data from the Genesis database
Where to define
Configure processes.xml file
Here is a full example of ingesting trades:
Genesis Data Pipelines enable you to stream data into and out of your Genesis application. If you are looking to integrate your application with an external database or file system, this module should be your first consideration. If Data Pipeline does not offer you the solution you need, we suggest using Apache Camel to create the integration.
To test a data pipeline you need:
The generateSQLToRDB script
Configuration
GenesisToDb must be configured in your application-processes.xml file. The following is an example of how to do this:
Oracle Sample
The GenesisToDb module enables you to stream data from the Genesis low-code platform to classic RDBMS databases, such as Oracle or MSSQL.
You can not programmatically test integrations configured using the GenesisToDb module. However,
The Genesis HTTP Client offers many approaches to making HTTP requests, catering for different use cases and preferences. This section covers the three main approaches:
The following Excel functions are currently supported by ExcelToGenesis.
The Genesis low-code platform enables you to convert existing Excel spreadsheets into Genesis data models.
This page shows you how to create a Gateway to connect to a remote system using the FIX (Financial Information eXchange) protocol.
Streamer
While the standard architecture of the FIX gateway is more than sufficient for most use cases, it is not ideal for more demanding architectures.
The FIX Xlator is a plugin for the Streamer and Streamer client, which enables type-safe handling of FIX messages. It also gives access to a set of vital integration features, such as FIXIN, EXECUTIONREPORT and CUSTOM_FIX.
If your application needs to integrate with external systems through a gateway, you need to be able to interpret incoming messages in the format of the external system. Equally, you need to be able to reformat information from your Genesis application when you send messages out to that system.
This page shows you how to create a Streamer.
This page shows you how to create a Streamer Client. It also looks at the syntax of the two types of Streamer Client that are available:
The Genesis HTTP Client is designed to simplify integration with external REST services in the Genesis Platform. It provides an intuitive DSL for making HTTP requests, so that you can integrate Request Servers and Event Handlers with external applications.
GenesisJunit is only available from version 8 of the Genesis Server Framework (GSF).
Database and service tests
This page gives details of the configuration requirements common to adaptors for all vendors.
Installation
Email routes
The Genesis platform provides a mechanism for creating pop-up toast notifications on screen in the app. Any notifications sent to the Genesis Screen Gateway will be sent as a toast pop-up notification.
Microsoft Teams provides a mechanism for exposing its channels to a remote system via webhooks.
Symphony is a secure instant messaging service focused on financial companies.
Open API support was introduced in version 7.0 of the Genesis platform.
This section demonstrates practical examples of using the Genesis HTTP Client in various Genesis components and common use cases.
Authentication
Authentication
There are two important files in your application that contain configuration information:
The Genesis low-code platform automatically exposes all the resources you have configured as REST endpoints via the Genesis Router. Unless configured otherwise, all requests require a valid SESSIONAUTHTOKEN HTTP header. A SESSIONAUTHTOKEN is retrieved after successful user authentication.
The REST Endpoints created by the Genesis low-code platform reflect your application's business logic. These endpoints can be configured through the Genesis Router.