Apache Camel - basics
Apache Camel integrations are defined within your application's jvm/-script-config/{app-name}-camel.kts file.
Apache Camel integrations are defined within your application's jvm/-script-config/{app-name}-camel.kts file.
Every Genesis application is different, but all Genesis applications share a common architecture. The best way to understand the purpose of all the main elements of this architecture is to familiarise yourself with the server components and the web front-end.
You define a Consolidator service in a consolidator.kts file. Within the file, you can define as many Consolidators as you like. Each one is specified in a Consolidator block of code.
To create custom endpoints, you need to define a gpal file with the name web-handler.kts.
The fields dictionary is where you specify all the fields you need for your data model.
Tables of data will be critical to your application, from simple tables of currencies or locations to more complex ones that contain trade or order information (for example).
Whereas tables tend to be groups of related information, a view is a way of looking at data - in many cases, literally. If you want to show all the trades you have done, then you might want to take some of that data from a table of trades, but you might want to add data from one or more other tables - currency details or counterparty IDs, for example.
Where to define
Let's make things really simple.
Configuration
Dynamic rules
Let's make things really simple.
Field types
Creating a new component
It is important to know that the Genesis low-code platform uses system-generated versions of these system files.
Let us now mention another important system file, Genesis Router. The Genesis Router module controls the routing of the messages between the back end and the front end of your application. You can configure this in the file genesis-router.kts.
The system-definition file, genesis-system-definition.kts, is the basis of all the configurations, scripts, data models, etc.
Now let us consider a few files that are vital for configuring your application.
Every application must have a -service-definitions.xml file. This is where you specify the ports of the various processes. The ports are used to communicate internally between these various processes.
What is the Genesis low-code platform?
Once you are happy with your data model, you can build your database.
With a database and two modules (a Data Server and an Event Handler) in place to supply data to the front end, we can now build our server.
So how would you go about creating something like that?
Now, let's just take stock.
There are some simple commands that enable you to start and stop your server.
A Data Server supplies real-time (streaming) data to the front end of your application.
A Request Server supplies static data to the front end of your application.
Applications must respond immediately to different types of input: inputs from users, messages from other systems, market-data updates and internally calculated analytic signals. These inputs are events.
Authentication
You define your State Machine as a specific type of Event Handler.
In your application's tables-dictionary.kts file, you need to define every table that your application needs. Let us look at a very simple example definition. This contains a single table with three fields in it.
To give your front end a wide range of visual possibilities, the Genesis low-code platform provides a wide range of Web Components. These are built on top of Microsoft FAST.
A view definition is made up of joins and fields.
Broadly speaking, the process can be summarised as follows:
To view or use your Genesis application, you need to create one or more web pages. On each of these pages, you need to have components that display information or enable the user to interact with the application. For example:
Previously, we showed you how to create a new page. Now we shall add a data grid.
The package.json file is auto-generated for you by the CLI, based on your answers to the prompts.
What you need to know to start
This page looks at the npm commands for building a project.
In financial organisations everywhere, there are spreadsheets that are effective tools, but which pose a significant operational and compliance risk.
Once you have the Genesis low-code platform, you can develop and deploy your own applications at speed, from the simplest of internal systems to complete exchanges.
You don't have to be bound by your existing systems at all. If you have a need for a new application, which looks too ambitious for now, the Genesis low-code platform could make that a realistic proposition in a realistic timeframe.
You can build complete new trading platforms that integrate with multiple internal and external systems. These are applications with clear user interfaces, highly sophisticated features; they can be specified and built to meet exactly the security and regulatory requirements you require.
Self-contained systems (aren't you bored by the term "silo") remain a big blocker for anyone looking for efficiency.