4Morphis is a tool that can automatically convert legacy Oracle Forms applications into modern web and mobile applications using ExtJS. It works by parsing the Oracle Forms XML files, constructing equivalent UI components in ExtJS, and generating code to link the UI events to backend database logic. The conversion moves the application to a three-tier architecture with the ExtJS UI, a Java persistence layer, and the existing Oracle database. 4Morphis handles the entire conversion process to output a developer-ready Sencha application that maintains the core functionality of the original Forms application.
2. Session Agenda
• What 4Morphis does?
• How 4Morphis works?
• Product Demonstration
• How does your organisation run a conversion project?
3. 4Morphis: Automated Code (Re) Generation
• We write code that writes code
…using legacy Oracle Forms applications as
source
…regenerating it into web and mobile applications
in Extjs 6
4. 4Morphis: Automated Code (Re) Generation
• A tool to convert legacy technologies to mobile and web
technology
- HTML5, Javascript – (ExtJS, Sencha Touch)
• It is drag and drop so converting hours not weeks
• Converts front end and back end (business logic)
• Moves application from two tier to three tier architecture
• Allows legacy applications owners to get to mobile cloud/SAAS
deployment
7. What is the 4Morphis Forms Conversion
Platform?
A platform that empowers organisations to go from Oracle Forms to
Sencha Ext JS 6 using an automated platform and SDK
8. How does 4Morphis work?
• 4Morphis is drag and drop
• There are 5 main stages in converting the form;
1. Upload FMB
2. Convert to XML
3. Parse XML to 4Morphis
1. CRUD’s, API’s
4. Creates UI & Logic
5. Deploys Zip for Download & View
9. What does the platform do?
Consumes an Oracle XML output file and constructs a traditional
3-tier web application architecture with:
• Sencha UI (Ext JS 6 Classic)
• Java Persistence Layer (Stored Procedure over JDBC)
• Oracle database (Generated API to hold existing customer PL/SQL)
• Conversion reporting for use in customer post-generation development
• Programmatic API access to customise generation process
Full Source code is provided across the three tiers:
• Database
• Middle tier persistence and services
• User interface
The resultant architecture components are developer-ready for post-generation
Feature-add and enhancements as required
OracleForm
Database API &
CRUD
Ext JS 6 Web App
Conversion
Reports
Java Persistence
Layer
Full Source Code
access
10. High Level Conversion Process
• Deconstruct Forms XML and construct equivalent UI components Using 4Morphis UI Intelligence Technology
• Generate and automate the linking of UI event processing with database stored procedure functionality
• Generate a persistence layer communication framework between UI and Database with form API lookup ability
Form
Block
Item
Item Trigger
Block Item Trigger
Oracle Forms Basic
Structure
Sencha App
Form View Grid Column
Event
Listener
Form View Form Field
Event
Listener
Generated Sencha UI
Structure
Templates Models
Code
Injection
Conversion Process
11. High Level Conversion Process
• Deconstruct Forms XML and construct equivalent UI components Using 4Morphis UI Intelligence Technology
• Generate and automate the linking of UI event processing with database stored procedure functionality
• Generate a persistence layer communication framework between UI and Database with form API lookup ability
UI Generated Handler Functions Generated Sencha UI Structure
PersistenceLookup
Form 1 API
Form 2 API
Form 3 API
12. 2 Tier Oracle Forms Application
Jar File
Persistence
Oracle
Form
Database
Logic in Oracle Form
Logic in Oracle database
Data in database
13. 3 Tier Web Application
Jar File
Persistence
EXTJS
DatabaseLogic in Oracle Database
PL/SQL Packages and
Procedures
Move some logic to mid tier
e.g. show hide
Front end capability to EXTJS
- Grids, layout etc.
15. Future Proofing Platform
Jar File
Persistence
EXTJS
DatabaseLogic in Oracle Database
PL/SQL Packages and
Procedures
Move some logic to mid tier
e.g. show hide
Front end capability to EXTJS
- Grids, layout etc.
JAR
Per
Form
JAR
Per
Form
JAR
Per
Form
JAR
Per
Form
JAR
Per
Form
JAR
Per
Form
16. Enhanced Performance
Jar File
Persistence
EXTJS
DatabaseLogic in Oracle Database
PL/SQL Packages and
Procedures
Move some logic to mid tier
e.g. show hide
Front end capability to EXTJS
- Grids, layout etc.
JAR
Per
Form
JAR
Per
Form
JAR
Per
Form
JAR
Per
Form
JAR
Per
Form
JAR
Per
Form
• Maintainable code
• Retire PL/SQL to Java
• Future proofed platform
18. How does your organisation
run a conversion project?
19. Partnership for Oracle Forms Modernization
Oracle Forms Experts
• Build and Maintain OF to Ext JS Converter
Design / Develop / Test Tools and Services
• Enterprise JS tools - Ext JS
• Organizational & Product Support Services
• Turnkey Application Modernization Services
20. 3 Pieces for Enterprise Application Modernization
Asset Reuse
The right
people
and
process
The right
tools
Professional Services
21. Starting a FCP - POC
Phase 1: POC
• We will run that code through our engine and be able to report on any gaps that there
may be.
• Requirement for Phase 1:
• 3-5 representative FMB's
- Under 3,000 lines of code!
• Takes less than one day
• We get a sense of the project
22. Starting a FCP - POC
Phase 2: POC
• Access to a cloud version of your database - AWS
• On this you should deploy your database schema, with some data in it so we can
validate the logic against sample data.
• For this we will use the previous XML files exported from FMB's and also associated
PLL files.
• We link the 4Morphis engine to this and convert the Forms to EXTJS The set up of
PLL's and linking takes us 3-4 days.
23. Example Oracle Forms Projects
Bulk .FMB
Conversion on Test
Form Set
Analyze Forms
Complexity
Validate / Correct
Converter Output
UX / Requirement
Gap Analysis
Plan / AdviseLearn
Organizational
Requirements
Establish
Project
Concept
Examine / Correct
Converted Forms
Test
Release
Bulk Conversion of
.FMB Based on
Priority
Evaluation
Support from Sencha
Assessment / PoC Sprint
Sencha, Customer
+
4Morphis
Development Sprints
Sencha Project Resources
+
Customer Team
In 2001 worked in Romania,
Transelectrica company
Phd’s building applications since the 1960’s
Working through translators we were trying to write requirements for ERP
All of the systems worked individually
30-40 years knowledge