Event-driven, workflow-orchestrated microservice landscape
Wiener Wohnen is digitising its processes. As part of the team, we built Kotlin services, React frontends and the Kafka integration, and shared operations and DevOps.
- customer
Stadt Wien – Wiener Wohnen Kundenservice GmbH
- project_type
- Team augmentation · Enterprise

Situation
Wiener Wohnen Kundenservice (WrWKS) runs a large IT landscape for Wiener Wohnen's customer service. Applications and data flows were tightly coupled: every change had knock-on effects, scaling was hard and maintenance took a lot of effort. At the same time, more and more data needed to flow between systems in real time.
Our role
agsolutions worked on the project as part of the development team, involved in the team's processes and decisions. Our focus:
- Kotlin services with Spring Boot: developing, testing and evolving microservices
- React frontends for those services
- Kafka integration: producing and consuming events, interfaces between the services
- Kubernetes & DevOps: deployments, pipelines and operating the services
The architecture and results described here are the work of the entire team.
Architecture
The team opted for an event-driven microservice architecture:
- Loosely coupled services in Kotlin and Spring Boot, each covering one core business process
- Apache Kafka as the central event pipeline: services exchange data and state asynchronously, in near real time.
- Camunda BPMN models and orchestrates business processes across service boundaries.
- React frontends for the user interfaces
- Kubernetes for deployments, scaling and operations
What the architecture enables
Each team owns its services and deploys them independently. The services exchange data asynchronously via Kafka instead of calling each other directly. Camunda shows which step each process has reached.
Technologies used
- ArgoCD
- Apache Kafka
- Microservices
- Kotlin
- Keycloak
- Spring Boot
- Jenkins
- React.js
- Kubernetes