Schleupen.CS 3.0 – Architecture and Framework
The Schleupen.CS software solution is a distributed application with numerous functional and technical components, aimed at providing a standardized and configurable software solution for the energy and water sector across different market roles. The "Architecture and Framework" team works directly with the enterprise architect and handles all cross-cutting concerns of the backend. The team's tasks involve creating cross-team best practices, design patterns, and a framework for over 100 developers, so that the architecture is implemented as consistently as possible across the many different applications.
- Development and consolidation of the application architecture
- Reducing dependencies between teams through better modularization of the framework
- Development of SOAP services for platform components
- Analysis, design, and implementation of a new deployment solution based on Puppet
- Writing and automating CoffeeScript (a JavaScript dialect) unit tests
Legacy Pub-Sub Solution
To comply with legal requirements for smart meters (intelligent electricity meters), it was necessary to establish a communication solution between Schleupen.CS 2.0 and 3.0. This had originally been excluded from the initial architecture but became necessary for business reasons.
- Concept for asynchronous communication between separate systems
- Mapping Pub/Sub queues in a database
- Implementation of generic receiver and sender solutions
Stabilization of Asynchronous Communication – Business Components
When distributed systems communicate asynchronously and messages are lost, it is very difficult to find out where they go missing. Since the previous project had shown that the errors were no longer in the platform components, the team's task was to provide solutions within the framework to support the business developers.
- Concept and implementation of the Transaction Outbox Pattern in the framework
- Documentation of the Transaction Outbox Pattern
- Training sessions on idempotency and the Transaction Outbox Pattern
Stabilization of Asynchronous Communication – Platform
When distributed systems communicate asynchronously and messages are lost, it is very difficult to find out where they go missing. The task of the project was to analyze the existing code and identify and fix weaknesses in the platform components. Solutions were also developed to increase the confidence of testers and developers in the platform components.
- Concept and implementation of the Test Message Pattern