Modernization / Murata Electronics Singapore

C# / AS400 Data-Generation Optimization

Redesigned a legacy C# data-generation workflow and introduced a concurrent Java retrieval service, reducing a 26,000-record operation from about five hours to under 20 seconds.

Problem

The WinForms application repeatedly retrieved dependent data from multiple systems while generating records. Sequential access, repeated lookups, and AS400 file locking made the workflow slow and difficult to scale.

My Role

Investigated the bottleneck, tested a database-view approach, redesigned the data-access flow after platform limitations blocked that option, and delivered the C# and Java integration.

What I Built

  • Replaced repeated per-record retrieval with a small set of joined queries so each required data set is loaded once per operation.
  • Replaced repeated linear searches with hash-map indexing for O(1) access.
  • Parallelized independent retrieval work.
  • Replaced the RPG retrieval path with a concurrent Java service called by the existing C# WinForms application.

Tech Stack

C# / .NETWinFormsJavaAS400SQLMultithreading

Impact

  • Reduced 26,000-record processing from about five hours to under 20 seconds.
  • Processed 60,000 records in about two minutes.
  • Reduced AS400 file-locking pressure and supported concurrent retrieval requests.
  • Delivered immediate performance relief while the full web application and AS400 data migration remain planned.