
This paper presents a comparative analysis of three prominent technologies for implementing state machines in Java for Request for Quote (RFQ) negotiation processes: Spring State Machine, AWS Step Functions, and Camunda. RFQ negotiations in financial markets require robust, scalable, and flexible systems to manage complex workflows. State machines have emerged as a powerful tool for handling these intricate processes. The study evaluates each technology based on three critical criteria: scalability, ease of implementation, and persistence capabilities. Through detailed examination and practical examples, we explore how each solution addresses the unique challenges of RFQ negotiation workflows, including the management of buyside and sellside states, and the handling of event-driven transitions. Our analysis reveals that while Spring State Machine offers a lightweight solution for simple, single-instance applications, it faces challenges in distributed scenarios. AWS Step Functions, with its event-driven capabilities excels in cloud-native environments, offering excellent scalability and seamless integration with other AWS services. Camunda emerges as a strong contender for complex RFQ systems, providing a balance of scalability, ease of implementation, and robust persistence, along with the benefits of BPMN support. The findings of this study provide valuable insights for developers and architects tasked with designing and implementing RFQ negotiation systems. We conclude that the choice of technology should be based on specific project requirements, existing infrastructure, and team expertise, with Camunda and AWS Step Functions standing out as strong options for complex, event-driven RFQ negotiation workflows.
Request for Quote (RFQ), Spring State Machine, state machines in Java
Request for Quote (RFQ), Spring State Machine, state machines in Java
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
