Skip to content

Industrial application

Migration of a specialist solution

Industry
Manufacturing
Status
Successfully migrated
Duration
2 months
Author
Bernhard Reiter
Published

Migration of a VFP 6 desktop application with highly complex proprietary calculations for a specialized industrial use case. The full logic was validated 1:1 and transferred into a modern web application to preserve its precision.

Questions that come up in exactly this kind of project

The following points are regularly decisive for this type of legacy system - and the reason a migration rarely fails because of the programming language.

What about VFP specifics such as `SET ANSI`/`EXACT`?

These commands fundamentally change how VFP compares data, for example `SET EXACT` for string comparisons. We understand that semantics in detail. During the audit, we identify those `SET` commands and preserve the behavior through `golden master` tests, meaning automated test cases that validate the legacy behavior 1:1 so the new system remains functionally identical.

Our app uses VFP's 'optimistic buffering'. How does that work on the web?

Excellent question. This is one of the core challenges in web migrations. VFP's `TABLEUPDATE()` conflict handling, where a record has been modified by someone else, must be modeled explicitly in the new system. On the web, this is typically handled through concurrency control: when a record is loaded, it receives an invisible token (an ETag). On save, the server checks whether that token still matches. If it does not, because somebody else saved first, the operation is blocked and the user is informed. That creates a safe and transparent process for preventing data conflicts.

We use tools such as `xCase`, `Stonefield Query`, `FoxBarcode`. Ring a bell?

Absolutely. We know the VFP ecosystem inside out. Database models from `xCase` are a valuable source for reverse engineering. We are familiar with reporting tools such as `Stonefield Query`, barcode generators such as `FoxBarcode`, and strategies for `Cryptor`-encrypted DBFs. We also know the common ActiveX controls from vendors such as `DBITech` or `Codejock`, as well as their modern web-based alternatives.

How do you safeguard performance on the web? VFP is very fast locally.

That is a valid concern. The gap between local DBFs and web latency is real. We address performance through (1) a clean API architecture instead of direct database access, (2) intelligent caching of master data and (3) optimized queries and index design. Together with you, we define performance targets (KPIs) for your most critical screens and business processes.

Does this sound like your system?

Then let us spend 45 minutes on it. No obligation, no cost, and an honest assessment at the end - including when that assessment is: keep running it safely for now.

Request a strategy call

Back to the overview