Best Practice for Migrating from Oracle Forms to Mendix with Legacy Oracle Database

0
Dear Mendix Community, I am working on a project where we need to migrate the front-end of an existing legacy system from Oracle Forms to Mendix, while keeping the Oracle database (which has been in use for over 20 years) as the backend. Our goal is to leverage Mendix for the user interface while maintaining the integrity and structure of the legacy database. In this context, I have a few questions regarding best practices for interacting with the Oracle backend: External Database Connector with Non-Persistable Entities: Given that we intend to keep the legacy data in Oracle and only migrate the front-end, would it be better to use the External Database Connector with non-persistable entities for interacting with the legacy data? This would allow us to directly query and retrieve data from Oracle without replicating it in the Mendix domain model. Domain Model with Persistable Entities: Alternatively, should we consider using persistable entities in the Mendix domain model to map directly to the Oracle tables? This might be required for scenarios where we need to modify or update data in Oracle and integrate business logic within Mendix. Handling Data Modifications: If we choose to modify or update legacy data in Oracle (such as when users change records via the Mendix front-end), what is the recommended approach for performing those updates? Should we use saved queries or stored procedures via the Database Connector, or should we handle those operations through the Mendix domain model and synchronization with Oracle? Synchronization: In cases where data is updated in Mendix and needs to be reflected in Oracle (bi-directional synchronization), what is the most efficient way to synchronize the data between the Mendix domain model and the Oracle backend? Would it be more effective to perform direct SQL operations through saved queries or to use a combination of persistable entities and external database calls? I would appreciate any insights or recommendations from the community on the best practices for this migration strategy, especially for ensuring data integrity, performance, and minimizing redundancy during the transition.
asked
1 answers
1

It depends...

 

You can use the External Database Connector to get data into NPEs, show them, make changes, and write data back to the Oracle RDBMS. You can also use the external database connector to copy oracle data into persistent entities, use those, and sync changes back to oracle.

 

What works best in your case depends on the type of pages and interaction you're looking for, the amount of data, the number of users, and the specifics of the oracle database.

 

I would aim for a solution where you don't have to make any changes to the Oracle RDBMS, so use the existing method of retrieving and updating data. Often Oracle applications will have stored procedures or packages for both retrieve and update of data. But sometimes this is coded in pl/sql in Oracle Forms.

 

If the database has a lot of plsql stored procedures or packages, i would aim to reuse these as much as possible as they will often have important business validations, and data initialization logic.

 

It may also be an option to hide the database behind an API layer, and build your UI app on top of these APIs. You can build the APIs with Mendix, also using the External Database Connector, or use a different product, e.g., Oracle ORD

answered