top of page

Key challenges and solution for migrating oracleform to Angular

  • Writer: Anand Nerurkar
    Anand Nerurkar
  • 3 hours ago
  • 4 min read

Key Challenges & How We Handled Them

1. Business Logic Locked in Forms & PL/SQL

  • Challenge:Oracle Forms often embed complex validations, triggers, and calculations inside the form itself or inside PL/SQL stored procedures. These are hard to discover and map.

  • Solution:

    • Reverse-engineer: Use Oracle Forms2XML or Ora2Pg to extract metadata.

    • Created a business rules catalog documenting validations, dependencie.

    • Collaborate with SMEs: Walk through the functionality with business users to validate extracted rules and took their signoff.

    • Refactor: Re-implemented business logic as REST APIs in Spring Boot using DDD principles for clean separation.API can be used across channels (web, mobile, APIs).

    • Unit-test: Validate correctness by comparing outputs with legacy system.

2. Stateful UI → Stateless Web

  • Challenge:Oracle Forms maintain state (session-based), but Angular + REST APIs are stateless.

  • Solution:

    • Introduce API gateways and JWT-based session tokens.

    • Use client-side state management (NgRx/Redux) for workflows and form states.

    • Design APIs to return minimal but sufficient data for front-end orchestration.


3.UI/UX Modernization

Challenge:Oracle Forms are not responsive and follow a transactional, form-heavy paradigm.

Oracle Forms have canvas, tabs, LOVs, and master-detail blocks, which don’t directly translate to Angular components.

End-users were used to certain shortcuts and workflows, so UX changes had to be gradual and intuitive.

Solution:User-Centric Design



    • Conducted UX workshops to identify pain points in existing UI.

    • Designed responsive Angular screens using Material Design with better navigation, search, and filtering.

    • Added keyboard shortcuts and hotkeys where possible to maintain user productivity.

    • Used component-driven design – reusable Angular components for (LOV → dropdown, canvas → grid layout). date pickers, etc.

    • Define Angular component library 

    • Use Material Design or PrimeNG for enterprise-grade UI controls.

    • Standardize UI templates for consistency and accessibility (WCAG compliance).

4. Tight Coupling with Database

  • Challenge:Forms directly access DB tables, bypassing abstraction layers.

  • Solution:

    • Introduce a service layer (Spring Boot microservices).

    • Encapsulate database calls into APIs.

    • Gradually deprecate direct DB calls and enforce access through APIs only.

5. Performance Optimization

  • Challenge:Oracle Forms work with bulk fetches & server-side processing. Angular + REST APIs may introduce latency.

  • Solution:

    • Enable pagination, lazy loading, and caching at the API and UI layer.

    • Optimize DB queries (indexes, execution plans).

    • Introduced caching (Redis) for reference data and LOVs.

    • Built REST APIs with pagination, filtering, and async calls to avoid UI freezes.

    • Use async/non-blocking APIs to improve throughput.

6. Validation & Regression Testing

  • Challenge:Risk of breaking business-critical workflows during migration.

  • Solution:

    • Build automated regression test suite (Selenium, Cypress for UI + JUnit for API).

    • Compare results of new system vs. legacy system side-by-side.

    • Conduct UAT with real business scenarios.

7. Security & Role Mapping

  • Challenge:Oracle Forms use database roles. Angular needs app-level RBAC.

  • Solution:

    • Implement centralized Identity & Access Management (Azure AD / Keycloak).

    • Map old DB roles to application roles, implement fine-grained authorization in APIs

    • Implemented OAuth2 + OpenID Connect (Azure AD / Keycloak).

    • Applied role-based access control (RBAC) at API and UI component levels.

    • Added audit logging for compliance (important for BFSI).

8. Change Management & User Adoption

  • Challenge:End users are familiar with Oracle Forms UI (keyboard shortcuts, workflows).

  • Solution:

    • Provide training sessions and sandbox environments for users.

    • Ensure UI parity with legacy system wherever possible before enhancing UX.

    • Implement feedback loop during pilot rollout.

9. Parallel Run & Data Consistency

Challenge:During phased rollout, some users used Oracle Forms while others used Angular UI. Data consistency and synchronization were critical.

Solution:Coexistence Strategy

  • Enabled dual-write mode for APIs.

  • Built data reconciliation jobs for early detection of mismatches.

  • Conducted parallel UAT before cutover.


10. Authentication & Authorization

Challenge:Oracle Forms often rely on DB-level security. Migration requires modern RBAC & SSO.

Approach:

  • Integrated Azure AD / OAuth2.0 for single sign-on.

  • Externalized RBAC in microservices using Spring Security + JWT.

  • Implemented role-based menu rendering in Angular.


    KPIs Tracked

  • % Business Rules Migrated & verified by SMEs

  • % Test Automation Coverage for Angular UI & REST APIs

  • Response Time (ms) for APIs vs. Oracle Forms benchmark

  • User Adoption Rate post go-live

  • Defect Leakage Rate during UAT/Production


11.Deployment & CI/CD

  • Challenge:Earlier deployment was manual with Oracle Forms runtime; Angular + microservices required cloud-native DevOps.

  • Solution:

    • Set up Azure DevOps pipelines for build, test, and deployment of Angular and Spring Boot apps.

    • Used Docker + Kubernetes (AKS) for containerized deployment.

    • Implemented blue-green deployments to minimize downtime.

12.Delivery Approach (Sample)

  • Phase 1 – Discovery: Forms2XML extraction, rule cataloging, DB dependency mapping.

  • Phase 2 – API & UI Design: Build microservices, design Angular components.

  • Phase 3 – Iterative Migration: Migrate modules one by one, run dual-run comparison.

  • Phase 4 – Hard Cutover: Switch users after full regression pass.


Outcome

✅ Delivered Angular-based responsive UI with 70-80% reusability of business logic through REST APIs.

✅ Reduced future change efforts by decoupling UI from backend.

✅ Improved performance by 20-30% due to optimized APIs and caching.

✅ Enhanced security via SSO, RBAC, and audit logging.




🏛 Modernized Architecture Flow (Oracle Forms ➝ Angular + Spring Boot + API Gateway)

[ User Browser ]
       │
       ▼
[ Angular Frontend (SPA) ]
 - Replaces Oracle Forms UI
 - Implements responsive UX
 - Uses Angular Reactive Forms for validation
 - Calls REST APIs (JSON)

       │ HTTP/HTTPS (REST API Calls)
       ▼
[ API Gateway (Azure API Management) ]
 - Single entry point for all APIs
 - Enforces security (OAuth2/JWT)
 - Rate limiting, throttling
 - Request/response transformation

       │
       ▼
[ Spring Boot Microservices (Modularized by Domain) ]
 - LoanService (loan origination, evaluation)
 - CustomerService (KYC, profile mgmt)
 - PaymentService (disbursement, repayment)
 - RuleService (centralized business rules engine)
 - NotificationService (email/SMS)
 - Integrated with Kafka for async events

       │
       ▼
[ Database Layer ]
 - Migrated from Oracle to Azure SQL / PostgreSQL
 - Schema refactored (normalized, modular)
 - Stored procedure logic converted to:
     - Microservice business logic
     - Drools / Decision Tables (for rules)
     - or REST-based rule engine

       │
       ▼
[ External Integrations ]
 - Credit Bureau API
 - Payment Gateway
 - Core Banking System
 - Fraud Detection Service

🔑 Key Points in Delivery

UI Transformation

  • Oracle Forms ➝ Angular SPA with reusable components.

  • Converted UI triggers, validations to Angular reactive forms.

Business Logic Migration

  • Extracted PL/SQL logic from stored procedures.

  • Refactored into Spring Boot services & REST APIs.

  • Centralized rules using Drools or decision tables for maintainability.

Security & Governance

  • OAuth2 / Keycloak or Azure AD for SSO.

  • Role-based access control (RBAC).

CI/CD

  • Automated build & deployment with Azure DevOps pipelines.

  • Unit + Integration + Regression tests automated.

Performance

  • API Gateway caching + DB indexing to match Oracle Forms responsiveness.

 
 
 

Recent Posts

See All
why springbatch job??

Spring Batch Job Spring Batch is designed exactly for batch workloads  like Pro*C migrations. ✅ Advantages: Chunk-oriented processing...

 
 
 

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
  • Facebook
  • Twitter
  • LinkedIn

©2024 by AeeroTech. Proudly created with Wix.com

bottom of page