Client: The largest vision company in the United States, with more than 80 million members
Development Category: Analysis, Project Recovery, Enhancement
Services Performed: Architecture Analysis, Technical Strategy, Application Development
Client Overview
A national provider of vision insurance benefits, this client supports more than 80 million members across the United States. With a longstanding presence in the healthcare industry, the client sought to modernize its core payment claim batch processes to improve scalability, performance, and maintainability.
Engagement Summary
Keyhole Software was engaged to evaluate and modernize a set of Spring Batch-based processes that had previously been migrated from COBOL by another consulting firm. The initial migration introduced maintainability and performance challenges due to a direct, procedural-to-object-oriented translation of legacy COBOL logic.
Architecture Assessment & Strategic Planning
The engagement began with an architecture health check performed by a Keyhole Spring Batch SME. This involved a deep technical analysis of the Spring Batch ecosystem in use—examining job structures, chunk processing, restartability, error handling, and memory usage.
While the assessment affirmed Spring Batch as a strong enterprise framework, it also uncovered architectural pitfalls that resulted from mimicking COBOL structures. Keyhole’s recommendation was to rewrite the batch jobs with an object-oriented-first mindset, treating COBOL code only as a functional spec. This would lead to simpler POJOs, improved chunking, reduced memory consumption, and a more maintainable system.
Implementation & Team Support
As often in our work at Keyhole Software, our work with this client was extended to continue through the proposed strategic rewrite.
Following the assessment, the client extended the engagement to execute the proposed rewrite. Keyhole provided a senior technical leader to continue as part-time project manager and architectural guide, along with two full-time consultants to support development.
The team focused on producing reusable Spring Batch design patterns, refactoring batch logic to reduce unnecessary complexity, and aligning implementation with Spring Batch conventions.
Key Contributions
- Refactored batch job logic for scalability, reliability, and maintainability.
- Optimized in-memory usage and implemented chunk-oriented processing.
- Reduced complexity introduced by 1:1 COBOL rewrites.
- Established reusable batch job patterns to guide broader modernization efforts.
- Supported productionization of new batch jobs and assisted with strategic rollout.
Outcome
The modernized batch jobs significantly improved runtime performance and reduced operational risk. The client benefited from a scalable, maintainable foundation for future enhancements and a more efficient distributed Java-based system to replace its legacy COBOL infrastructure.









