Version 1.0 • October 2026CONFIDENTIAL
Technical Case Study • Enterprise Architecture

HID Converge Platform Modernization

Backend, Frontend & NGS Plugin Architecture Transformation

A consolidated case study covering backend modernization to Java 21 and Spring 6, hybrid Angular 20.3.30 migration, UI library replacement with PrimeNG and Apache ECharts, NGS plugin architecture redesign, App Store deployment, security remediation, and quality validation.

Scope:Backend ModernizationFrontend ModernizationPlugin ArchitectureDeployment
Technology:Java 21Spring 6Angular 20.3.30TypeScriptPrimeNGPostgreSQL
Core RuntimeJava 21 • Spring 6
Frontend & UIAngular 20.3 • PrimeNG
Plugin ModelNGS App Store Licensing
Security StrategySCA & SAST Remediated
HID Converge Architecture Diagram
Section 01

Executive Summary

HID Converge is a multi-tenant, web-based enterprise application supporting Human Identification and DNA forensic workflows. Over time, the platform accumulated legacy backend and frontend technologies, third-party UI dependencies and an older extension model. Security findings from SCA (Software Composition Analysis) and SAST (Static Application Security Testing) made technology modernization necessary, but the program was deliberately treated as a broader architecture transformation rather than a sequence of isolated vulnerability fixes.

The backend moved from Java 8 to Java 21 and from Spring Framework 4 to Spring Framework 6. The frontend moved from AngularJS 1.6.10 through an incremental hybrid migration to Angular 18, Angular 19 and the current Angular 20.3.30 implementation. Supporting infrastructure—including routing, authentication, shared services, UI components, grid rendering and charting—was modernized as part of the migration.

The modernization also addressed the NGS plugin model and deployment architecture. The legacy AngularJS-oriented runtime model was redesigned for modern Angular, while the NGS App Store direction introduced pre-installed applications with tenant-specific licensing. Frontend packaging, backend artifacts, startup sequencing and API compatibility were considered together so that application modernization did not create avoidable deployment or integration risks.

Holistic Strategy

Treated upgrade as comprehensive architecture modernization rather than superficial patching.

Hybrid Angular

Controlled progressive migration from AngularJS 1.6 through Angular 18, 19, to Angular 20.3.30.

NGS App Store

Shifted from volatile runtime plugin loading to pre-installed applications with tenant licensing.

Section 02

Project Background & Modernization Drivers

2.1 HID Converge Platform

The platform supports enterprise workflows for Human Identification and DNA forensics. Capabilities include:

DNA profile and case management
Evidence and sample tracking
Workflow and task management
Pedigree analysis
Profile searching and matching
Laboratory operations
File and attachment management
Comprehensive reporting & analytics
User, role and permission management
Multi-tenant application management
Audit and history tracking
Configurable extension points

The platform follows a modular architecture. Major backend modules include the Common module, Profile module, DNACase module and Platform module, while the user interface is implemented as a single-page application. The Common module supplies shared infrastructure and domain capabilities such as security, workflow, data management, application management, scheduling, reporting, templates and audit functionality.

2.2 Why Modernization Was Required

The primary trigger was the vulnerability footprint identified through SCA (Software Composition Analysis) and SAST (Static Application Security Testing) analysis. The application depended on older framework, library and build-tool generations. Fixing individual findings without changing the underlying technology stack would have left the platform dependent on an aging foundation and made future remediation progressively harder.

The program therefore used technology upgrades as a security and maintainability strategy. The intended outcomes were to reduce vulnerabilities associated with obsolete dependencies, establish a maintainable development platform, remove legacy frontend dependencies, modernize the plugin mechanism and move toward a controlled NGS application deployment model.

2.3 Modernization Objectives

ObjectiveFocus & Delivery Strategy
SecurityReduce the vulnerability footprint through supported framework and dependency versions.
TechnologyMove away from legacy Java, Spring and AngularJS generations.
MaintainabilityProvide current tooling, language features and component-based development.
FrontendReplace AngularJS and legacy UI mechanisms with modern Angular.
PluginSupport Angular-based NGS applications and parent/plugin integration.
DeploymentAlign packaging, installation, licensing and startup behavior.
Section 03

High-Level Architecture

The legacy high-level layering of the HIDC platform provided architectural context for the modernization program. The client layer, web/application layer, persistence layer and data layer were all affected to different degrees by the migration.

3.1 Architectural Interpretation

Client Layer

The legacy single-page application was based on AngularJS 1.6, UI Router, Bootstrap, jQuery, Angular Translate and browser-side state mechanisms such as Local Storage.

Web / Application Layer

Apache Tomcat hosted the Platform WAR and module JARs, with shared libraries providing security, workflow, data management and system utilities.

Persistence Layer

Hibernate 4.1.7 provided ORM capabilities, with Hibernate Envers supporting auditing and EhCache 2.6 used for second-level caching.

Data Layer

PostgreSQL provided the multi-tenant database model, including specialized audit tables, procedures, and triggers.

Section 04

Existing Technology Landscape

4.1 Backend Technology Landscape

AreaLegacy Technology / Capability
RuntimeJava 8
Web FrameworkSpring Framework 4
SecuritySpring Security 3
PersistenceHibernate 4
Application ServerApache Tomcat 8
DatabasePostgreSQL
ReportingJasperReports
SchedulingQuartz
BuildMaven
API DocumentationSwagger / Mangofactory

4.2 Frontend Technology Landscape

AreaLegacy Technology
FrameworkAngularJS 1.6.10
RoutingUI Router 1.0.6
UI FrameworkAngular UI Bootstrap / Bootstrap 3.3.7
DOM / UtilitiesjQuery 2.2.4
InternationalizationAngular Translate
BuildWebpack 2.4.1
TranspilationBabel 6

4.3 Modernization Targets

LayerModernized Direction
BackendJava 8 → Java 21; Spring 4 → Spring 6
FrontendAngularJS → Angular 18 → Angular 19 → Angular 20.3.30
GridKendo Grid → PrimeNG via application-level abstraction (nx-grid)
ChartsKendo Chart → ngx-echarts / Apache ECharts
Section 05

Backend Modernization

5.1 Java 8 → Java 21

The backend runtime was upgraded from Java 8 to Java 21. This was a foundational modernization step intended to establish a current long-term-support (LTS) Java runtime and to reduce dependence on obsolete platform generations. Because the application is a mature enterprise system, the change required compatibility analysis across framework integrations and dependencies rather than a simple build-file version change.

5.2 Spring Framework 4 → Spring Framework 6

Spring was upgraded from Framework 4 to Framework 6. Spring is deeply involved in the application through dependency injection, MVC, security, REST APIs and application infrastructure, so the upgrade affected foundational application behavior. The migration therefore required compatibility review and coordinated changes across the backend rather than isolated edits to the framework declaration.

5.3 Enterprise Capabilities Preserved

  • REST APIs and backend service contracts remained central to the platform integration model.
  • Security, role-based access control (RBAC) and multi-tenant application management remained core platform capabilities.
  • Persistence and transaction behavior continued to support the existing business workflows and database model.
  • Workflow, reporting, auditing and scheduled processing remained part of the backend validation scope.

5.4 API Compatibility & 5.5 Deployment Artifacts

The deployment and plugin design explicitly considered API compatibility. The goal was to minimize unnecessary disruption to existing endpoints while modernizing the surrounding infrastructure. Keeping business API changes separate from infrastructure modernization reduced the risk that the technology migration would become a simultaneous business-contract rewrite.

The architecture retained backend WAR/JAR artifacts as deployable components while separating frontend packaging into UI.war. This separation avoided unnecessarily duplicating frontend content inside backend application bundles and allowed the deployment model to evolve without discarding the existing modular packaging approach.

Section 06

Frontend Modernization

6.1 AngularJS → Modern Angular (Incremental Hybrid Migration)

The frontend migration began with AngularJS 1.6.10 and moved to Angular 18, followed by Angular 19 and the current Angular 20.3.30 implementation. The migration was incremental rather than a single rewrite. A hybrid architecture allowed Angular and AngularJS functionality to coexist while application areas were progressively converted.

The work involved more than converting syntax. AngularJS controllers, directives, services, templates, routing and dependency injection patterns had to be mapped to modern Angular concepts. Application startup, authentication, shared services and routing also required coordinated migration because these concerns cross-cut individual UI components.

6.2 Current Frontend Stack

TechnologyCurrent Direction
Angular20.3.30
Angular CLI / DevKit20.3.30 / 20.3.36
TypeScript5.8.3
RxJS7.8.1
UI ComponentsPrimeNG 20 + PrimeIcons
StylingBootstrap + SCSS
Internationalizationngx-translate
Chartsngx-echarts 20 / Apache ECharts

6.3 Migration Path & 6.4 Shared Infrastructure

The migration sequence created a controlled path from the legacy application to a maintainable modern Angular platform. The initial Angular 18 implementation provided the modern foundation; after stabilization, the framework was upgraded further to address additional SCA critical and high findings. The documented path is:

AngularJS 1.6.10Angular 18Angular 19Angular 20.3.30

Routing and authentication were migrated alongside application modules rather than treated as isolated UI concerns. Shared services and component patterns were redesigned for Angular dependency injection, providing stronger typing and tighter compilation guarantees.

Section 07

UI & Plugin Architecture Modernization

7.1 Kendo Grid → PrimeNG (nx-grid Abstraction)

One of the largest frontend migration challenges was removing the legacy Kendo-based grid. The Case Dashboard grid was configuration-driven and combined UI behavior with AngularJS-specific templates and expressions. A direct component replacement would not have preserved the complete behavior model.

The migration redesigned the rendering layer while preserving business behavior across:

Column configuration
Sorting & Multi-sort
Column Filtering
Pagination controls
Row selection
Select-all behavior
Row actions & menus
Detail child views
Conditional cell rendering
Links & navigation
CSV / Excel export
Custom cell templates
Custom header templates
User preferences & state
Dynamic column toggling

PrimeNG was adopted through an application-level grid abstraction, including the nx-grid approach. This creates a stable application contract above the underlying third-party component and reduces direct coupling between feature code and the UI library implementation.

7.3 Kendo Chart → ngx-echarts / Apache ECharts

The charting layer was also modernized. Legacy Kendo chart functionality was replaced with ngx-echarts and Apache ECharts. The migration required updating chart configuration, rendering integration and Angular component usage while retaining the intended graphical representation of application data.

7.4 Plugin Architecture: From AngularJS Runtime to Modern Angular

The Converge platform supports extension mechanisms for additional applications and functionality, including NGS (Next-Generation Sequencing) applications. The legacy plugin model was tightly coupled to the older AngularJS runtime. Modern Angular uses Ahead-Of-Time (AOT) static compilation, so the old dynamic registration approach could not simply be carried forward.

The modern architecture introduces explicit plugin startup services, registration, plugin context, mount points, extension points and component resolution/registry mechanisms. This makes parent/plugin interaction a defined architectural contract and allows Angular-based NGS applications to integrate cleanly with the modernized parent application.

7.5 Why This Matters: The UI and plugin migrations demonstrate that framework modernization is an architectural exercise. Shared components, third-party libraries and extension contracts must be migrated as first-class concerns because they can contain more application-specific behavior than the framework itself.
Section 08

NGS App Store, Deployment & Licensing

8.1 Deployment Direction: Pre-Installed vs Dynamic Downloading

The NGS App Store architecture favors pre-installed NGS applications with tenant-specific licensing rather than dynamically downloading and installing applications after user login. This model provides a more controlled deployment lifecycle while keeping activation behavior tied to licensing.

8.2 Packaging Model

Artifact / ConcernRole & Responsibility
UI.warFrontend packaging for the platform UI and modern Angular integration.
Backend WAR/JARDeployable backend modules and services.
Database scripts / templatesInstallation and configuration support for NGS applications.
LicensingTenant-specific activation and application availability.
Startup sequencingEnsures required platform/dependency services are available before installation.

8.3 Startup Sequencing Pipeline

A significant design risk was installation occurring before dependent platform services were available. The expected sequence was represented and enforced as:

1Platform Availability
↓
2Required Platform Dependencies Initialized
↓
3Nexus / Supporting Repositories & Services Active
↓
4NGS Application Installation & Database Migration
↓
5NGS Application Licensed Availability for Authorized Tenants

8.4 Proof of Concept & 8.5 Parent / Plugin Integration

A proof-of-concept approach was used to validate the proposed deployment architecture before full commitment. The POC covered deployment behavior, database script installation, plugin installation, dependency sequencing, backend API compatibility and interaction between Converge and NGS modules. This reduced the risk of implementing a deployment model that later required major rework.

The deployment design keeps frontend and backend concerns aligned without forcing them into a single artifact. The parent application provides the hosting environment and integration contracts, while NGS applications can be packaged and activated under the controlled App Store model.

Section 09

Migration Approach & Technical Challenges

9.1 End-to-End Migration Flow

STEP 01Existing ApplicationBaseline evaluation of legacy stack
STEP 02Technology AssessmentDependency and version tree mapping
STEP 03Security AssessmentSCA & SAST vulnerability auditing
STEP 04Java 8 → Java 21Backend runtime upgrade & compilation
STEP 05Spring 4 → Spring 6Core framework & context modernization
STEP 06AngularJS → Angular 20Incremental hybrid frontend migration
STEP 07Kendo → PrimeNGnx-grid abstraction & chart migration
STEP 08Plugin ModernizationAOT-compatible NGS plugin runtime
STEP 09Parent IntegrationContract alignment & startup flow
STEP 10Testing & ValidationAutomated unit, integration & functional QA
STEP 11Modernized HIDCProduction rollout with zero regressions

9.2 Major Technical Challenges

ChallengeWhy It Required Architectural Design
Legacy dependenciesPrimary frameworks were coupled to older libraries and tooling generations.
AngularJS migrationAngularJS and modern Angular use materially different application models.
Kendo migrationGrid configuration mixed UI rendering, callbacks, templates and business behavior.
Plugin architectureParent and plugin applications required compatible modern Angular integration contracts.
Deployment sequencingApp Store installation depended on platform and supporting services being ready.

9.3 Key Architectural Decisions

Modernize the technology stack rather than patching individual vulnerabilities indefinitely.
Adopt Java 21 and Spring Framework 6 as the backend foundation.
Use an incremental Angular migration path to reduce the risk of a full frontend rewrite.
Use PrimeNG and an application-level grid abstraction to replace the Kendo dependency.
Redesign plugin integration around explicit startup, registration, context and mounting mechanisms.
Pre-install NGS applications and use licensing-based activation for controlled distribution.
Section 10

Security, Testing & Quality Validation

10.1 Security Modernization

Security improvement was a primary driver of the program. Older frameworks and third-party dependencies contributed to findings from SCA and SAST. The chosen strategy was to address the underlying technology generations so that a significant portion of obsolete-dependency risk could be reduced while creating a platform that can continue to receive incremental security updates.

The Angular migration also established a path for progressive remediation: AngularJS → Angular 18 → Angular 19 → Angular 20, with future supported-version upgrades available as required. The objective is not to treat security as a one-time migration milestone, but to make continued dependency maintenance practical.

10.2 Testing & Validation Scope

AreaRepresentative Validation Scope
BackendStartup, REST APIs, security, database access, transactions, workflows, reporting, scheduled jobs.
FrontendStartup, routing, rendering, forms, grids, filtering, sorting, pagination, selection, actions, exports.
Plugin IntegrationRegistration, initialization, mounting, parent/plugin communication, backend API interaction, licensing.
Quality ToolingJUnit, Mockito, Spring integration tests, DB/controller integration tests, Jasmine, Protractor, Checkstyle, PMD, FindBugs, JaCoCo, SonarQube.

10.4 Validation Principle

The migration must be validated at both technical and functional levels. A successful build alone is insufficient: application startup, business workflows, security behavior, UI interaction, plugin lifecycle and deployment behavior all need validation because the modernization crosses multiple architectural boundaries.

Section 11

Outcomes, Lessons Learned & Future Evolution

11.1 Key Outcomes

DimensionModernization Outcome
BackendJava 8 → Java 21; Spring Framework 4 → Spring Framework 6.
FrontendAngularJS 1.6.10 → Angular 18 → Angular 19 → Angular 20.3.30.
UIKendo Grid → PrimeNG (nx-grid); Kendo Chart → ngx-echarts / Apache ECharts.
ArchitectureLegacy AngularJS plugin model → Angular-compatible plugin architecture.
DeploymentLegacy plugin deployment → pre-installed NGS applications with tenant licensing.
SecurityReduced vulnerability exposure through technology and dependency modernization.

11.2 Lessons Learned

1Framework migration is not code translation: legacy constructs must be mapped to modern architectural concepts.
2Third-party libraries can become the largest migration challenge when application behavior is embedded in configuration and templates.
3Plugin contracts should be treated as first-class architecture concerns from the beginning of a migration.
4Backend and frontend deployment cannot be designed independently when applications are packaged and installed together.
5Security remediation can provide an opportunity to modernize the wider technology and development platform.

11.3 Future Evolution

The modernized foundation supports incremental Angular upgrades beyond Angular 20, continued dependency remediation, further removal of legacy frontend infrastructure, additional UI modernization, stronger plugin standardization and increased automation around compatibility and security validation.

Section 12

Conclusion & Source Basis

The HID Converge modernization transformed an aging enterprise platform across its backend, frontend, UI and extension layers while keeping the existing business capabilities and modular deployment model in focus. The move to Java 21 and Spring 6 modernized the backend foundation, while the AngularJS-to-Angular migration established a current TypeScript-based frontend and enabled the replacement of legacy Kendo components with PrimeNG and Apache ECharts.

Equally important, the project treated plugin integration and deployment as part of the modernization rather than as downstream concerns. The Angular-compatible plugin architecture, controlled NGS App Store model, tenant-specific licensing and startup sequencing provide a stronger foundation for extensibility and operational consistency. The result is a platform better positioned for ongoing security remediation, maintainability and incremental evolution.

HID Converge Platform Modernization • Version 1.0
Book Technical Consultation