Using Spring Cloud Contract and WireMock for Parallel Development to Modernize WebSphere Applications
In large-scale modernization projects, team coordination and delivery speed can often be affected by imbalanced workloads and service dependencies. This was the case during our IBM WebSphere migration project at IBA Group, where back-end services were undergoing a full re-architecture, while the front-end (built on React.js) was largely stable and ready for enhancements.
This article shows how Spring Cloud Contract, combined with WireMock, helped the IBA Group Team achieve parallel development between UI and back-end teams. This approach increased autonomy, reduced delays, and maintained a consistent service interface. Here you can read how we quickly set up contract-based integration tests to validate service compatibility.
Table of Content
The Challenge: Uneven Workload Distribution Across Teams
With the front-end built on React.js and requiring minimal changes, our UI team was ready to start early. However, the heavy lifting of migrating the server-side (from IBM WebSphere to Spring Reactor–based microservices) limited the availability of working APIs for the UI to interact with.
It presented a familiar challenge – either delay UI progress or find a way to simulate stable back-end behavior.
IBA Group’s Solution: Contract-Based Mocks with WireMock
To overcome this bottleneck, our team implemented Spring Cloud Contract with WireMock. This approach allowed us to:
- Use pre-defined API contracts to generate stubbed responses
- Run a lightweight mock server locally or in containers
- Allow UI developers to build and test without delays
The result was complete autonomy between teams, reduced idle time, and faster validation of front-end logic against expected service responses.
How We Set It Up: A Practical Example
We created a sample project, spring_contract_wiremock, to demonstrate this approach.
Project Structure
- /src/main/java: core application logic
- /src/main/docker: Docker Compose setup for containerized environments
Key Implementation Steps
1/ Add the Spring Cloud Contract WireMock dependency
2/ Enable WireMock in the Spring Boot App
3/ Use the Stub JAR Generated from Part 1
This JAR contains the contract-generated response mappings and makes them accessible to the WireMock server.
4/ Configure Static Stub Mappings in application.yml
5/ Validate WireMock Stub Mappings
You can check the available stubs by running:
Make a Decision
IBA Group integrated Spring Cloud Contract and WireMock, which allowed teams to work in parallel using mock services that reflect real API contracts. This approach reduced project delays, improved team autonomy, and supported earlier testing and UI refinement – even before the real services were fully implemented.
Legacy systems often stand in the way of agility, growth, and progress. At IBA Group, we guide enterprises through modernization with confidence. Our team draws on real-world experience, clear patterns, and tools like Spring Cloud Contract to cut risks and speed up delivery.
Whether you’re just starting your modernization strategy or already in progress, learn more.