What Futurize PB does: compress the timeline on the mechanical phases that are slow

Let me be direct about what Futurize PB does not do.

It does not remove the need for expert judgment.

AI-assisted conversion handles the bulk of the mechanical work — reading DataWindow definitions, generating API structures, producing frontend components against a defined style. It does this faster than a manual process. Significantly faster.

But the edge cases still require a developer who understands DataWindow semantics deeply. The constructs that don’t follow standard patterns. The computed columns with conditional logic that depends on business context the code doesn’t fully explain. The validation rules adjusted after an incident in 2009 that nobody documented.

Futurize PB flags these. It does not resolve them. That is the correct behavior.

It does not remove the need for parallel running.

The regression harness, shadow mode in production, the discipline of treating the legacy system as the source of truth until every output matches — all of this remains mandatory. Faster conversion does not mean lower validation standards.

It does not replace a hybrid team.

Futurize PB is designed for collaboration. Our team and your developers work together — we bring the methodology and the tooling, your team brings the domain knowledge and the institutional context. That combination produces better results than either side working alone.

What it does: compress the timeline on the phases that are slow because they are mechanical, not because they are complex.

That is a meaningful improvement. It is not magic.

 

You can find relevant information in the specific section: https://enable-dev.com/futurize-pb/

Follow us on LinkedIn.

With Futurize PB, you don’t have to shut down the whole application to migrate it

One of the most common reasons organizations delay a PowerBuilder modernization:

“We can’t shut down the whole application to migrate it.”

With Futurize PB, you don’t have to.

You convert only the parts of the application that need to run on web or mobile. The rest of the application keeps running — unchanged, reliable, serving the workflows it has always served.

The converted module integrates cleanly with the original application. Users get a modern web or mobile interface for the functions that need it. The back-office workflows that work perfectly on the desktop continue to work perfectly on the desktop.

This also means you can stage the business case. Start with the one module that most urgently needs mobile access, or the one workflow that a client has been requesting in a browser for three years. Prove the approach on a bounded scope. Then decide how far to take it.

For organizations running PowerServer, the path is even more flexible: move to cloud-hosted PowerBuilder first, then migrate specific modules to web as the business case justifies it.

The full migration is one option. A targeted, incremental improvement is another.

Futurize PB supports both.

 

You can find relevant information in the specific section: https://enable-dev.com/futurize-pb/

Follow us on LinkedIn.

The Futurize PB process is iterative by design.

The Futurize PB process is iterative by design.

Not one long migration program with a big-bang cutover at the end. A sequence of defined iterations, each delivering production-ready functionality.

Here is what a typical iteration looks like:

Step 1 — Policy definition. Architecture style for the backend, UX and component style for the frontend, integration approach with the main application. Defined once, reused across every iteration.

Step 2 — Scope definition. Complete windows selected for this iteration. Not partial objects — complete, testable units of functionality.

Step 3 — Test catalog. Before conversion begins, the expected behavior is defined. This is the regression baseline — the definition of “correct” that every output will be measured against.

Step 4 — Conversion. Futurize PB tools convert the specified windows — DataWindows, business logic, frontend components — against the defined styles and API structure. Frontend and backend simultaneously.

Step 5 — Manual completion. AI-assisted conversion handles the bulk. Human judgment handles the edge cases, the ambiguities, the constructs the tools flag as requiring review.

Step 6 — Transition to production.

The result: each iteration ships.
Each iteration is verified.
The application modernizes incrementally, in production, without waiting for the full migration to complete.
 

 

You can find relevant information in the specific section: https://enable-dev.com/futurize-pb/

Follow us on LinkedIn.

The question: could AI compress timeline without compromising quality? The answer is Futurize PB.

For several years, we have used a methodology called PB Open to modernize PowerBuilder applications.

Preserve the business logic. Replace the presentation layer. Run in parallel. Migrate module by module.

It works. The risk is managed. But the time is still significant.

The question we kept asking: could AI compress that timeline without compromising the rigor?

The answer is Futurize PB.

In a single statement: PB Open + AI = Futurize PB.

A set of tools designed to cut development time across every phase of a PowerBuilder modernization:

→ Explaining PB windows, pitfalls, and complex constructs — the archaeology problem, automated → Defining consistent styles for backend and frontend → Creating APIs based on defined architecture styles → Converting business logic → Converting PB windows and their contents to the defined frontend, connected to the defined API

Supported frontends: React, Vue.js, Angular, and others. Recommended backend: C# with .NET DataStore — to reduce PB logic conversion risk and time.

Futurize PB is not a product you buy. It is a methodology assisted by tools — used by our team to deliver faster, at no additional charge beyond LLM costs.

The methodology doesn’t change. The timeline does.

 

You can find relevant information in the specific section: https://enable-dev.com/futurize-pb/

Follow us on LinkedIn.

The right question is not “how do we cut the time?” It is “how do we cut the time on the right parts?”

AI is already changing parts of the modernization equation.

Reading DataWindow definitions. Generating API structures. Producing frontend components against a defined style. Work that was mechanical, exhaustive, and slow — AI handles a significant portion of it faster than any manual process.

That part of the timeline compresses. Meaningfully.

But there is a different kind of time in a PowerBuilder migration that AI does not touch.

The time it takes to run both systems against real production inputs and understand why the outputs diverge. The time it takes to trace a discrepancy back to a computed column expression modified in 2011 for a business reason nobody fully remembers. The time it takes to resolve it correctly — which requires understanding it correctly first.

This is not execution time. It is evaluation time.

And evaluation time is where the risk lives.

The organizations that compress this phase — for whatever reason, with whatever tools — are the ones that go live with a system that processes 99.9% of transactions correctly and discover the rest in a financial audit.

AI makes the build faster.
It does not make the validation faster.
Nor should it.

The right question is not “how do we cut the time?” It is “how do we cut the time on the right parts?”

 

You can find relevant information in the specific section: https://enable-dev.com/futurize-pb/

Follow us on LinkedIn.

The time problem that methodology alone doesn’t solve

The methodology is sound.

Preserve the business logic. Rehost it in .NET. Replace the presentation layer. Run both systems in parallel until every output matches.

Every serious PowerBuilder modernization practitioner knows this is the right approach.

The problem isn’t the methodology. The problem is the time.

Discovery alone — cataloguing every DataWindow, tracing every dependency, mapping every computed column — can take months on a complex application. Not because it’s intellectually difficult. Because it’s manual, exhaustive, and unforgiving. Miss one object, misread one expression, and you find out in production.

Then comes the conversion: window by window, business logic by business logic, API endpoint by API endpoint.

The methodology doesn’t compress. It requires what it requires.

Until AI changes the equation.

 

You can find relevant information in the specific section: https://enable-dev.com/futurize-pb/

Follow us on LinkedIn.

When did your PowerBuilder application last go through a security architecture review?

Your PowerBuilder application probably runs on implicit trust.

It was designed for a corporate network where users on the inside are trusted, database connections are direct, and there is no authentication boundary at the API layer — because there is no API layer.

That architecture made sense in 1998. In 2025 it is an attack surface, not a design choice.

Modern enterprise security requirements cannot be retrofitted onto a client/server PowerBuilder architecture without fundamental change:

Multi-factor authentication requires an identity layer the architecture doesn’t have. Token-based API authorization requires an API boundary that doesn’t exist. SIEM integration requires structured audit events at the transaction level — not available from a desktop client that talks directly to the database. Zero-trust network access requires every request to be authenticated at the service layer.

A properly executed modernization resolves all of this by design:

OAuth 2.0 with Azure AD or Okta issues JWT tokens. Every API call is authenticated and authorized by ASP.NET Core middleware. Fine-grained authorization — field-level visibility, transaction approval thresholds — is encoded in policy-based authorization. A full audit trail exists at the service layer, independent of the database.

The presentation layer replacement is what users notice. The security architecture improvement is what your CISO notices. The compliance exposure reduction is what your legal team notices.

When did your PowerBuilder application last go through a security architecture review?



You can find relevant information in the specific section: https://enable-dev.com/modernization

Follow us on LinkedIn.

The modernization is the foundation. The transformation is what you build on top of it.

A successfully executed PowerBuilder modernization is not a destination. It is the moment everything that was structurally impossible becomes possible.

The API-first backend now serves multiple surfaces simultaneously — a web application, a mobile app, a partner integration, a data pipeline. With the original PowerBuilder runtime, each of those would have required a separate architecture. Now they share one.

Performance becomes optimizable. The original application likely retrieved entire DataWindow result sets to the client before filtering at the display layer. The modernized system pushes filtering and aggregation into the database or a Redis caching layer. Expensive computed queries run once and are cached. Reports that took minutes take seconds.

Security posture transforms. The original system ran on a corporate network with implicit trust. The modernized system enforces OAuth 2.0 authentication at every API boundary, supports multi-factor authentication, generates a full audit trail at the service layer, and integrates with enterprise SIEM tooling. This is not a patch — it is a structural improvement.

Recruiting becomes normal. Any competent .NET or React developer can maintain and extend the system. You are no longer searching for a specialist who remembers what PowerScript looks like. The talent pool goes from a handful of senior developers to every software engineer in your market.

None of this is an add-on. It is what you get when the business logic — the actual asset — runs in a modern runtime rather than a proprietary one.

The modernization is the foundation. The transformation is what you build on top of it.

 

You can find relevant information in the specific section: https://enable-dev.com/modernization

Follow us on LinkedIn.

“How do we know the new system is correct?”

“How do we know the new system is correct?”
 
That question gets asked in every modernization project. The wrong answer is: “We’ll test it.” The right answer is a methodology, not a promise.
Parallel running is that methodology.
 
Here is how it works in practice:
Phase 1 — regression harness before migration begins. An automated test harness drives both the original PowerBuilder application and the new API with identical inputs and compares their outputs — retrieve results, computed column values, validation outcomes. Every divergence is a defect. No module moves forward until outputs match completely.
Phase 2 — shadow mode in production. As each module is migrated, a subset of real production transactions is processed by both systems simultaneously. The legacy system’s output is authoritative. The new system runs alongside it, silent, proving its behavior under conditions no test environment fully replicates.
Phase 3 — gradual promotion. Only when a module is demonstrably stable in shadow mode — with zero divergence over a meaningful transaction volume — does it get promoted to primary status and its legacy equivalent retired.
 
The result: a cutover that is never a single event.
Each module earns its promotion individually.
No single night when everything is at risk
 
Parallel running is not a precaution. It is the only systematic proof that the migration worked.

 

You can find relevant information in the specific section: https://enable-dev.com/modernization

Follow us on LinkedIn.

Before a single line of new code is written, you need to know exactly what you are dealing with.

Before a single line of new code is written, you need to know exactly what you are dealing with.
Not approximately.
Precisely.
 
This is the discovery phase — and skipping it is the most expensive mistake a PowerBuilder modernization program can make.
 
Here is what a rigorous discovery produces:
Step 1 — Export and parse all .pbl libraries. Every DataWindow object, window, function, and global variable catalogued programmatically. Automated tools do this in hours, not weeks.
Step 2 — Categorize by type and complexity. Standard retrieval DataWindows. Composite reports. Dynamic DataWindows that use Modify() at runtime. Nested structures. Each category carries a different migration risk profile.
Step 3 — Build the dependency graph. Which DataWindows are used by which windows. Which windows are called from which menus. This is the map that tells you which modules can migrate first and which must wait.
Step 4 — Identify high-risk objects. Computed columns with complex expressions. DataWindows that have been modified dozens of times. Objects whose behavior is inferrable only from institutional memory or production observation.
Step 5 — Produce the effort model. Module by module, based on actual complexity data. This is the document a project sponsor can plan against — not a guess, not a range, a structured estimate.
 
Discovery is not overhead. It is the foundation that makes everything downstream reliable.

 

You can find relevant information in the specific section: https://enable-dev.com/modernization

Follow us on LinkedIn.

We've never lost a business rule. Not one.

Before you approve a rewrite budget, talk to us first. A free 30-minute technical scoping call could save you years.

Book a free scoping call →