Skip to main content

Technical questions

What a technical team asks before migrating.

Straight answers to the questions in every technical assessment: architecture, data, triggers, security, testing, delivery, and team.

Architecture

What does the target architecture look like — Angular plus Spring Boot — compared to JFB 3.0?

You move from a form-driven runtime to a decoupled web architecture: Angular owns the interface, and Spring Boot owns business logic, persistence, and transactions.

See the technical detail

JFB 3.0 mixes interface, logic, and data in a single runtime. The target architecture separates those responsibilities into layers with clear contracts.

  • Angular delivers a modern web interface, with reusable components and one uniform visual standard.
  • Spring Boot concentrates business rules, transactions, and data access, exposed as a REST API.
  • Typed contracts between layers: each part is tested, scaled, and evolved on its own.

Business behavior is preserved. What changes is where it lives — and how easy it is to maintain.

Database

What happens to the database logic — the packages and stored procedures?

Your PL/SQL can stay where it is. What changes is who calls it: only the Spring Boot back end, behind a gateway — Angular never talks to Oracle directly.

See the technical detail

Packages that have worked for years are not rewritten for the sake of rewriting.

  • Proven procedures are kept: Spring Boot calls them behind a business-oriented API.
  • Oracle details stay isolated: typed data travels outward, never database internals.
  • Only what adds value moves: a rule moves to Spring when it can be tested without Oracle and its equivalence verified.

Less risk today, and the freedom to decouple the database tomorrow.

Triggers

How are form-level triggers and Oracle built-ins like Commit_Form or ROLLBACK handled?

Triggers are never copied line by line: they are migrated by meaning. Commit_Form becomes a transactional API operation, and ROLLBACK becomes a controlled exception.

See the technical detail

Every trigger is classified by what it actually does, and that intent is implemented in the right layer.

  • Navigation and interface → the Angular lifecycle.
  • Validation → in the form to guide the user, and on the back end as the final authority.
  • Transactions → Spring Boot services: committing is a business operation, not a button.

The result behaves like the original — and ends up documented and tested.

Security

How do you handle logging, exception handling, validation and security?

Angular guides the user; Spring Boot protects the system. Every validation and authorization decision is made on the back end, with centralized audit and errors that never expose internals.

See the technical detail
  • Double validation: on the front end as a usability aid, on the back end as the rule that actually decides.
  • Controlled exceptions: a global handler translates every failure into a clear, safe message.
  • Structured logging: correlation identifiers to audit every operation end to end.

Disabling a button is never a security decision: security lives on the back end.

Authentication

What is the authentication flow between Angular and Spring Boot, and where is it stored?

A modern identity provider — such as Auth0 — authenticates the user with the OAuth2 and OIDC standards. Angular starts the session and Spring Boot validates every token, on every operation.

See the technical detail
  • No home-grown passwords: identity is managed by a specialized, certified provider.
  • Short-lived tokens instead of fragile sessions: every request arrives signed and verifiable.
  • Authorization per operation: the back end decides what each user can do, always.

More secure than the original scheme — and ready for corporate single sign-on (SSO).

Testing

What testing tools and strategy do you apply, front end and back end?

Tests at every layer, and each layer catches a different risk: unit tests in Angular and Spring Boot, integration against the real database, and end-to-end with Playwright.

See the technical detail
  • Angular: Jasmine, Karma, and TestBed for components and validators.
  • Spring Boot: JUnit 5, Mockito, and MockMvc for business rules and the API.
  • Integration: Oracle packages are tested against the real database, not against mocks.
  • End-to-end: Playwright verifies complete flows exactly as the user experiences them.

The acceptance criterion is covering the original system’s behavior, not reaching a percentage.

Delivery

How is the application built and deployed?

With GitLab CI/CD and immutable artifacts: every release is built once and promoted across environments. Production requires explicit approval, and there is always a way back.

See the technical detail
  • One artifact per layer: front end and back end are built and deployed independently.
  • Promotion across environments: what reaches production is exactly what was already validated.
  • Immediate rollback: every release keeps its predecessor ready to switch back.

Application and database deployments stay separate, each at its own pace and with its own control.

Team

What technical skills does a team need to run a migration like this?

Day to day is carried by two profiles — application development and DevOps engineering — with targeted support from an Oracle and PostgreSQL specialist.

See the technical detail
  • Application development: Angular and Spring Boot on top of the architecture already defined.
  • DevOps engineering: delivery pipeline, environments, and observability.
  • Database specialist: steps in when Oracle behavior gets complex.

The hard part is not building screens: it is preserving the original system’s behavior and proving equivalence with tests. That is exactly what our methodology and our team are for.

Get started

Your Oracle Forms system holds years of business knowledge. We carry it into the future.

Do you have applications built on Oracle Forms and Reports that need modernizing? Let’s talk about how our AI-assisted migration method can take your system to a modern stack, keeping the logic that runs your business intact.