Oracle Forms Modernisation
Owen Pagan
Rapidly Converting Oracle Forms to Ext JS Apps
Session Agenda
• What 4Morphis does?
• How 4Morphis works?
• Product Demonstration
• How does your organisation run a conversion project?
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
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
Converted Forms
How does 4Morphis work?
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
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
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
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
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
2 Tier Oracle Forms Application
Jar File
Persistence
Oracle
Form
Database
Logic in Oracle Form
Logic in Oracle database
Data in database
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.
Maintainable Web Application
Persistence
Layer
EXTJS
Database
Logic 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.
Java Persistence Layer
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
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
4Morphis demonstration
How does your organisation
run a conversion project?
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
3 Pieces for Enterprise Application Modernization
Asset Reuse
The right
people
and
process
The right
tools
Professional Services
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
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.
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
Incase this has been insanely
boring - Recap
Your problem… A forest full of Oracle Forms
Your team… capable guys with an axe
4Morphis… Build and maintain a chainsaw
Sencha Services… guys to properly use the chainsaw
Questions

SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan

  • 1.
    Oracle Forms Modernisation OwenPagan Rapidly Converting Oracle Forms to Ext JS Apps
  • 2.
    Session Agenda • What4Morphis 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
  • 5.
  • 6.
  • 7.
    What is the4Morphis 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 4Morphiswork? • 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 theplatform 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 ConversionProcess • 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 ConversionProcess • 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 OracleForms Application Jar File Persistence Oracle Form Database Logic in Oracle Form Logic in Oracle database Data in database
  • 13.
    3 Tier WebApplication 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.
  • 14.
    Maintainable Web Application Persistence Layer EXTJS Database Logicin 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. Java Persistence Layer
  • 15.
    Future Proofing Platform JarFile 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 DatabaseLogicin 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
  • 17.
  • 18.
    How does yourorganisation run a conversion project?
  • 19.
    Partnership for OracleForms 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 forEnterprise 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 FormsProjects 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
  • 24.
    Incase this hasbeen insanely boring - Recap
  • 25.
    Your problem… Aforest full of Oracle Forms
  • 26.
    Your team… capableguys with an axe
  • 27.
    4Morphis… Build andmaintain a chainsaw
  • 28.
    Sencha Services… guysto properly use the chainsaw
  • 29.

Editor's Notes

  • #4 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