Railway Event Processor: Abstractions for Safe Integrations in Event Sourcing

By Yeray Cabello

This research presents the Railway Event Processor, a proposed framework to handle third-party integrations in event-sourced or event-driven systems, addressing key challenges like orchestration, fault tolerance, concurrency handling, and communication. By introducing core concepts such as Task, Compromise, and Transition, the proposed language aims to bridge the gap between engineering and business teams, making the complexity of integrations visible and understandable. The design is applicable to event-oriented systems, with modifications necessary for non-event-oriented systems unless they follow the Command Query Responsibility Segregation principle. The ultimate goal is to build deterministic state machines for process orchestration.

Download full textFork in Github