Developer training - fundamentals
Creating financial markets technology today is fundamentally broken – too slow, expensive and high-risk. Genesis is revolutionising software delivery within the financial markets so that any coder can create reactive, performant and compliant applications in days.
The aim of this page is to give you a high-level understanding of the Genesis low-code development platform, taking you through what it is, why it is and what it does. This will include the following topics:
- why we created the Genesis Low-code platform
- what the Genesis platform is
- building blocks and components
- platform tooling
- architecture and technology
- application elements
- demo
Genesis low-code platform
What is a platform?
One definition of a platform is a complete software programming development environment and underlying subsystem (Forbes, 2015). This could be a combination of language, runtime, libraries, and supporting tooling. It's more than just a framework but might include one. In practice, it is anything that you can build upon.
The Genesis Low-code platform has specific software architecture, application design, deployment, monitoring and levels of abstraction available. These fundamentals have been purpose-built to help accelerate developers, and to offer as much flexibility for use-cases as possible.
What is a low-code platform?
"A low-code application platform is an application platform that supports rapid application development, one-step deployment, and execution and management using declarative, high-level programming abstractions, such as model-driven and metadata-based programming languages. They support the development of user interfaces, business logic and data services; improve productivity; and are typically delivered as cloud services."
Gartner, 2022
The Genesis Platform is targeted at developers. We help them to decrease time-to-market, increase application velocity and lower the cost of development.
What can I build with the Genesis Platform?
While being flexible enough to cover most application use-cases, it also provides some foundational components for high-performance, low-latency applications. Central to our architecture is an event-driven system that can scale to millions of events per day with easy fan-out to connected web clients.
Here are some examples:
Non-functional
- real-time data subscriptions
- low-latency feed ingestion
- high transaction volume
- secure APIs
- high availability and clustering.
- integration with LDAP or SAML (SSO)
Data
- aggregated data views
- ad-hoc req/response queries
- stream data from/to external relational databases
- full audit trail is automatically provided
Application
- event handlers for applying custom business logic
- permissioned access
- workflow and auditing requirements
- responsive, rich user workflows and UI
Functional
- process financial instruments
- event-driven processing triggered by user actions or rules
- calculation of positions, data consolidation in general
Building blocks
Back to the definition
A low-code application platform is an application platform that supports rapid application development, one-step deployment, and execution and management using declarative, high-level programming abstractions, such as model-driven and metadata-based programming languages. These features support the development of user interfaces, business logic and data services. They improve productivity, and the resulting products are typically delivered as cloud services.
Core platform components
The core platform components form a common base; they work with other platform elements to enable enterprise-ready features with very little build effort.
Here are some examples for you to consider:
BUILDING BLOCKS / COMPONENTS | CAPABILITIES |
---|---|
Auth Manager, Perms Manager | Provides industrial-strength authentication and entitlements management. |
Cluster | Enables high-availability and horizontal scaling. |
Router, Connect, Services Repository | UI connectivity and load balancing to server services. |
Database API, NOSQL, SQL | High-performance persistence supporting next-generation database technologies. |
Technical components
The technical components enable you to develop scalable apps quickly and efficiently, based on event-driven architecture and real-time data distribution.
Examples of technical components are:
EXAMPLE BUILDING BLOCKS / COMPONENTS | CAPABILITIES |
---|---|
Transactional, Handler | Process high throughput and highly complex transactions. |
Event Handler | Allows event-driven architecture and complex event processing. |
Data Server | Real-time data distribution in highly performant, low latency and complex structures. |
Consolidation Manager | Efficient data consolidation and analytics. |
Business integration
With our expertise, we can combine business with technical components to provide key functionality and connections for working in financial markets:
EXAMPLE | CAPABILITIES |
---|---|
FIX | FIX messaging. |
Bloomberg TOMS | Bloomberg TOMS for treasury trading. |
Murex | Integration with legacy vendor Murex. |
ION Trading | Integration with the Fidessa OMS. |
Pershing | Comprehensive integration to Nexus. |
SS&C Geneva | Trades, positions, balances & margin requirements. |
Custom components
Custom components configure purpose-specific microservice components that extend functionality while remaining scalable. This allows you to :
- create using your choice of languages, including Java, Groovy, or R
- enable seamless app functionality with database access, component management, and component orchestration
- deliver lasting benefits with resilience and scalability