You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'd like to start a discussion around next generation of Event Engine. I start with a summary of What, followed by details about the Why
What
Next version of Event Engine should be a collection of small libraries focused on different aspects of event-driven architecture, optimized for usage in cloud environments with a strong focus on serverless. Rapid Application Development will no longer be achieved by an engine implementation with descriptions and abstractions, but instead will make use of visual modeling in InspectIO and its code generation capabilities.
A project developed with Event Engine could look similar to a monorepo managed with Nx.dev. The monorepo is visualized and organized on an InspectIO Event Map with a connection to a Cody Server sitting in the root of the monorepo.
We will provide a skeleton for the monorepo, InspectIO Metadata Templates, various Cody hooks and also service templates/skeletons for different kinds of EDA services, like a command handling-, query-, projection- and process manager service.
Based on information received from InspectIO the Cody server can automatically install such services into the monorepo and generate all necessary boilerplate code. The services can then be deployed as serverless functions and use cloud infrastructure for storage, communication, etc.
Why
Event Engine was designed to enable Rapid Application Development with full-featured Event Sourcing. Event Engine Descriptions are optimized to reduce boilerplate code as much as possible and act as documentation/overview at the same time. This allows you to develop complex business logic nearly as fast as CRUD logic. But it also has its price. The public API of Event Engine is simple and easy to understand even for devs who never worked with this technology before. But under the hood Event Engine is a complicated beast. Event Engine Flavours offer a lot of customization options, but it is another layer on top of an already heavy layer.
With InspectIO now supporting code generation, we can move descriptions from source code to the Event Map and replace abstractions by code generation so that the generated source code is clean, simple and organized in a very thin layer which is the monorepo itself. This combined with well documented cloud infrastructure is a very powerful combination and should be our focus in the future.
The text was updated successfully, but these errors were encountered:
I'd like to start a discussion around next generation of Event Engine. I start with a summary of What, followed by details about the Why
What
Next version of Event Engine should be a collection of small libraries focused on different aspects of event-driven architecture, optimized for usage in cloud environments with a strong focus on serverless. Rapid Application Development will no longer be achieved by an engine implementation with descriptions and abstractions, but instead will make use of visual modeling in InspectIO and its code generation capabilities.
A project developed with Event Engine could look similar to a monorepo managed with Nx.dev. The monorepo is visualized and organized on an InspectIO Event Map with a connection to a Cody Server sitting in the root of the monorepo.
We will provide a skeleton for the monorepo, InspectIO Metadata Templates, various Cody hooks and also service templates/skeletons for different kinds of EDA services, like a command handling-, query-, projection- and process manager service.
Based on information received from InspectIO the Cody server can automatically install such services into the monorepo and generate all necessary boilerplate code. The services can then be deployed as serverless functions and use cloud infrastructure for storage, communication, etc.
Why
Event Engine was designed to enable Rapid Application Development with full-featured Event Sourcing. Event Engine Descriptions are optimized to reduce boilerplate code as much as possible and act as documentation/overview at the same time. This allows you to develop complex business logic nearly as fast as CRUD logic. But it also has its price. The public API of Event Engine is simple and easy to understand even for devs who never worked with this technology before. But under the hood Event Engine is a complicated beast. Event Engine Flavours offer a lot of customization options, but it is another layer on top of an already heavy layer.
With InspectIO now supporting code generation, we can move descriptions from source code to the Event Map and replace abstractions by code generation so that the generated source code is clean, simple and organized in a very thin layer which is the monorepo itself. This combined with well documented cloud infrastructure is a very powerful combination and should be our focus in the future.
The text was updated successfully, but these errors were encountered: