Skip to main content

HC3 bank · partner case

Extract the business. Convert with a blueprint.

A bank PHP estate of 2M lines — spanning PHP 3–era code through modern stacks. Partners use HC3 to extract business logic and transaction flows, get SME-validated output in ~1 month, then run a grounded PHP → Java conversion program.

Based on an anonymized customer engagement. The customer is not named. Metrics reflect that project’s outcomes; results vary by estate.

2M
lines of PHP
1 mo
code → SME-validated output
PHP 3→now
version span in estate
→ Java
target conversion blueprint

01 · Primary goal

Business logic extraction — not file migration.

The estate is not a folder tree to copy into Java. It is decades of rules, edge cases, and invariants buried in PHP. Partners start by extracting what the business actually does — then ask SMEs to validate — before any conversion wave.

02 · Pressure

Partners stall without an ontology.

At 2M LOC, tribal archaeology does not scale. Transaction flows cross modules and shared stores; debt and abandoned dependencies hide conversion risk. Without a trusted map, PHP → Java plans stay slideware.

PHP transaction flow

Follow the money path before you rewrite it.

  1. 01RequestChannels · APIs · batch entry
  2. 02Auth & sessionIdentity · entitlements · audit trail
  3. 03Domain servicesRules · products · account logic
  4. 04PersistenceSQL · ledgers · shared stores
  5. 05Side effectsMessages · reports · downstream systems

Java service boundaries · strangler waves

03 · Debt analysis

Technical debt · code quality · architecture debt.

Conversion without debt posture converts the mess. HC3 surfaces signals partners can act on — freeze, refactor, or rewrite — before Java cutover.

Debt classWhat HC3 surfacesPartner action
Technical debtDeprecated APIs, mixed PHP 3–era patterns beside newer modules, fragile deploy folklore.Prioritize freeze vs rewrite surfaces before any conversion wave.
Code qualityTight coupling, dead paths, duplicated business rules, thin or missing tests.Extract invariants first; convert only against verified behavior.
Architecture debtGod modules, layering violations, shared-DB coupling, framework archaeology.Draw service boundaries from real transaction flows — not org charts.

04 · Stabilize

Dependency bot and modernization blueprint.

DimensionBefore HC3With HC3
Dependency botTransitive / abandoned packages, CVE-prone libs, pin chaos across environments.Inventory of freeze vs replace candidates before Java cutover sequencing.
Modernization blueprintFile-by-file migration guesswork without a trusted map of business logic.Ordered packages: extract → stabilize → convert → verify with SME gates.

05 · Roadmap · effort · risk

Target architecture with honest workstreams.

WorkstreamEffort · riskHC3 mitigation
Business logic extractionFoundation · Missing edge cases in tribal knowledgeHC3 traces + SME validation in ~1 month on the live 2M LOC estate
Transaction flow mappingFoundation · Hidden cross-module blast radiusEnd-to-end request → effects graphs as conversion units
Debt & dependency postureStabilize · Converting on unstable librariesDependency bot + debt tables drive freeze / replace decisions
PHP → Java conversion wavesConvert · Big-bang rewrite without strangler seamsTarget architecture roadmap with sequenced Java service boundaries

06 · PHP → Java

Convert against verified behavior.

DimensionBefore HC3With HC3
Starting point2M LOC PHP spanning PHP 3–era through modern stacks; partner archaeology by hand.Extracted business logic and transaction flows, SME-validated in ~1 month.
Planning confidenceEffort and risk guessed from slides and tribal experts.Blueprint with debt, dependency, effort, and risk tied to live code evidence.
Conversion targetUnscoped “move to Java” without service boundaries.PHP → Java mapping patterns and a strangler roadmap partners can execute.

07 · Outcomes

Scale. Validation speed. Executable conversion.

Scale

2M LOC

A bank PHP estate at multi-million-line scale — too large for partner tribal knowledge alone.

Validation

1 month

From ingested code to SME-validated extraction and blueprint artifacts — not a multi-year discovery program.

Outcome

PHP → Java

A grounded conversion blueprint: transaction flows, debt posture, dependency freeze/replace, effort, and risk.

See it on your codebase

See Adapts HC3 on a multi-million-line PHP bank estate.

30-minute technical walkthrough with an enterprise architect. No slides · a live demo on real code.