SlideShare uma empresa Scribd logo
1 de 116
SAGE Computing Services
Customised Oracle Training Workshops and Consulting
Trials & Tribulations of an
Oracle Forms -> Apex Conversion
A Hypothetical Case Study
Scott Wesley
Systems Consultant
Today’s Guide
Strategies
Differences
Considerations
Process
Converter Review
What next?
Strategies
http://strategy2c.wordpress.com/2009/01/10/strategy-for-goldfish-funny-illustration-by-frits/
Oracle Product Strategy
Traditional Development Tools
Java Development Tools
Oracle Forms – Statement of Direction
• Oracle Forms and Reports
– “Oracle has no plan to de-support these products, furthermore
new versions are components of Oracle Fusion Middleware 11g”
• Oracle Designer
– Focus on stability and bug fixes, released via Oracle
Development Suite 10g
Lifetime Support Document
Oracle’s Recommendations for Customers
• Based on E-Business Suite
– Move from client-server to web
– Upgrade to latest versions
– Interoperate with Java/J2EE
– Develop new modules with JDeveloper
To Quote Oracle…
• Oracle JDeveloper 11g with ADF is the tool of choice for
Forms, Reports and Designer customers because it
carries over a similar development model. However,
given the architecture difference between Java EE and
Forms or Reports, Oracle has no plans to offer a
complete migration solution that would attempt to
migrate applications built with these tools to Java
EE.
• Instead, Oracle’s strategy is to provide a Java EE
development environment exposing similar concepts as
Forms and Reports, giving to Forms and Reports
developers the opportunity to become productive in a
new, but familiar environment.
Application Express – Statement of Direction
(Feb09)
• Native Web application development framework
• Conceived February 2004 with Oracle Database 10g
• “APEX 4.0 will focus on declarative support for Web 2.0
features as well as extensibility of APEX framework”
– APEX Websheets – end user define data rules
– APEX Listener – J2EE alternative to mod plsql
– Improved tab forms – validation, collection integration
– AnyChart 4 – flash based maps, Gantt charts
– Dynamic Actions – page rendering on client events
– Declarative support for cascading select lists
– Extensible item framework – custom item types
– Updateable Interactive Reports – inline editing
– New Authentication schemes
Differences
Differences
Basic Differences
Feature Forms Application Express
4GL Declarative Renders applications with
metadata in .fmx
Renders applications using
metadata stored in database
4GL Languages Client Side PL/SQL Server Side PL/SQL
User Interface Java HTML
Web Services Yes Yes
Key Differences
Feature Forms Application Express
Page Layout Windows / Canvases Pages / Regions
Client-side Field
Control
Forms Triggers Javascript / AJAX
Locking Pessimistic / Optimistic /
Custom
Optimistic
Database
Connection
Synchronous Asynchronous
Concurrent User
Support
Connectivity by user
session
Connection only maintained for
processing requests
Architecture 3 Tier 2/3 Tier
Reporting Oracle Reports / BI Beans Flash Charts / BI Publisher
Project ConsiderationsProject Considerations
Project Expectations
• Suitable application development
environment
(why, what, who, where)
Right
Reason
• Change of behaviour
• Best out of Apex?
• Retraining required?
Conversion
• Stateful -> Stateless
• UI – layout / flow
Architecture
• Saving v Conversion CostCost
• Case studies
• Feedback
Customer
Technical Expectations
• Forms triggers
• PLLs
• Forms built-ins
• Code split into UI / data
layers?
• Blocks based on stored
procedures
• Control blocks
• Ongoing changes
• Turnkey vs Phase
Developer Architecture
• Menus (security)
• Object libraries
• Validation
• Hotkeys
• Reports (printing = $$)
• Turnkey vs Phase
• Storyboards
A Hypothetical Case Study
A Hypothetical Case Study
• PLL
• Menu
• Reports
• Forms
• LOVs
• Program Units
• Validation triggers
• Event triggers
• Alerts
• Images
• Parameters
• Visual Attributes
• Hierarchical Tree
• Procedure based block
1) Splash Screen
2) Basic Form, Various item types,
LOV, Post-Query
3) Master Detail
4) Tabular Form, Basic validation,
Pre-Insert, Overflow
5) Hierarchy, Single Record Entry
6) View only, Procedural Entry Example
Conversion Process
Conversion Process Theory
• Chapter 4 – Converting an Oracle Forms Application
• How to convert your application
– Step 1: Convert Oracle Forms to XML
– Step 2: Create a Workspace and add APEX Users
– Step 3: Upload database objects into the schema associated
with your workspace
– Step 4: Create a conversion project
– Step 5: Review and edit forms metadata
– Step 6: Generate the Oracle APEX Application
• Deleting a migration project
Apex Migration Guide
Apex Migration Guide
Microsoft Access not forgotten
Step 1 - Convert Modules to XML
Step 1: Convert .fmb, .olb, .mmb files to XML
S:SW-SHARE>frmf2xml overwrite=yes bookings.fmb
Oracle Forms 10.1.2 Forms to XML Tool
Copyright(c) 2001, 2005, Oracle. All rights
reserved.
Processing module bookings.fmb
WARNING: Item STATUS - all ListItemElements must
have an Index, Name and Value.
XML Module saved as bookings_fmb.xml
Convert .pll to .pld
Convert .rdf, .jsp to XML
Resulting XML
Step 3 - Create Migration Project
Application Migration?
Application Conversion
Define Project
First error…
Second error…
Upload more files
Third error…
Migration Summary (Summit)
Migration Summary (Sage)
Annotations
Step 4 – Analyse the Application
Forms Objects
Metadata differences
Forgotten Metadata
Custom Query
Getting your query right
Exclude Items
alter table organisations add
(close_btn raw(1), save_btn raw(1));
(Explore meta-data)
SAGE@sw10g> break on presentation skip 10
Register for the Next
Application Express V3.2 course:
23rd ,25th and 26th November
Advanced course:
8th – 9th December
Talk to Sage about moving your Forms
applications to Apex
SAGE Computing Services
(Unrepentant Marketing)
Step 5 – Generate the Apex Application
Generate Application - Theory
Blocks
Regions
Triggers
Computation /
Validation /
Process
Program Units
Computation |
Validation | Process
Server side
packages
Object
Library
d
LOV
(Record Group)
LOV
(Select List |
Popup)
Alerts
Shared
Components
– Text Message
Interactive
Reports
Interactive
Reports
Interactive
Reports
Apex Page
Oracle Reports
Apex (potential) Printing Infrastructure
Generate Application - Process
“Compilation errors”
“Compilation errors”
“Compilation errors”
Application Design Model
Add Extra Pages
Define Theme
Confirm Creation
Success!
So what does my new Application look like?
Iterative Process?
UI Defaults
Step 6 – Customise your Apex Application
Annotations
Review
• Page structures
• UI - themes / images
• Navigation components
• Report implementation
Program Units / Triggers
• Manually transfer code as
validation/computation/process
• Annotate
Enhance Apex Application
• Apply conditional processing for regions / items
• Apply security via authorisation schemes /
conditions
• Apply LOVs, alerts, specific item type attributes
(checkboxes, dates)
• Review all generated buttons
• Add session state protection
• Annotate
Add Apex Components
• Pages, regions, buttons, items
as required
• Implement client-side JS &
AJAX
• Annotate
Develop Database Components
• Ensure code reused in
packages and not embedded
in the Apex Application where
possible
• Annotate
Project Management
•System test
•Train users
•Implement application
Where did my time go?
Transform to XML
Create Application Express Workspace / Migration Project
Upload XML files to workspace
Analyse the application metadata
Generate the Application Express Application
Customise the Application Express Application
User Acceptance & Testing
Consumption of Time
XML Upload
Analyse
GenerateCustomise
Acceptance
Review
Bottlenecks / Danger Zones
“Oracle has
no plans to
offer a
complete
migration
solution”
Speedy
annotation
locate &
update
Custom
Query
modification
Multi-row
blocks
Non-
database
items
Beyond
simple block
source
Control
blocks
PL/SQL
Conversion
UI Defaults
What’s missing?
• Export / Backup
• Ability to pre-build Apex validations during conversion
– PL/SQL Placeholders
• Define item type/order
• Conversion of LOVs, Alerts
• Apex Views
– Annotations
– Aggregation (combined listings)
• SQL Developer Integration
• Search facility (not IR)
• Bulk change on all object types (not application applicability)
• XML Metadata
– Report triggers
– Certain form properties (eg. WHERE clause)
– Menu roles
– Non-Database item recognition
– ?
So what’s next?
Conversion Alternatives
• Integration
– Wilfred van der Deijl
– Visual Integration of Forms & Apex
– Two way communication
– Phased approach
Conversion Alternatives
• Manual labour – do it right
– Storyboards – Balsamiq / MockupScreens / Sketchflow
http://apex-smb.blogspot.com/2009/10/designing-apex-applications-ui-mockups.html
Conversion Alternatives
• Mixture
– Using the annotation functionality
– Re-use logic where possible
Underlying Data
-- Create view of annotations
create or replace view annotations as
(output of)
select 'select '''||table_name||''' table_name, '
||nvl((select distinct first_value (column_name) over (order by column_id) from
all_tab_columns s where m.table_name = s.table_name and s.column_name like
'%NAME%') ,
(select distinct first_value (column_name) over (order by column_id) from
all_tab_columns s where m.table_name = s.table_name and (s.column_name like
'%ROLE%' or s.column_name like '%EXPRESSION%')))
||‘ name, select_for_app, applicable, complete, priority, assignee, notes, tags from
'||owner||'.'||table_name||' union all ' a
from all_tab_columns m
where column_name like 'APPLICABLE'
and owner = 'APEX_030200'
and table_name not in
('WWV_MIG_PROJECT_COMPONENTS','WWV_MIG_FRM_COORDINATES','WWV_MIG_RPT_GRP_FILTER'
,'WWV_MIG_RPT_DATASRC_SELECT','WWV_MIG_RPT_DATA'
,'WWV_MIG_FRM_MENUS_MODULES','WWV_MIG_FRM_MODULES','WWV_MIG_OLB_MODULES');
Annotation Summary
Annotation Priority
Strategies Forms v Apex v ADF
Differences Stateful v Stateless
Considerations Right Decision
Process Simple
Converter Review Poor
What next?
Today’s Summary
References
• David Peake
– http://www.oracle.com/technology/obe/apex32/apex32frmmigr.htm
– http://www.oracle.com/technology/oramag/oracle/09-may/o39browser.html
• Grant Ronald
– http://groundside.com/blog/GrantRonald.php?title=migrate_oracle_forms_to_apex
• Oracle Documentation
– http://www.oracle.com/technology/products/database/application_express/html/doc.html
– http://www.oracle.com/technology/products/forms/pdf/10g/ToolsSOD.pdf
– http://www.oracle.com/technology/products/database/application_express/apex_sod.html
• Douwe Pieter van den Bos
– http://www.packtpub.com/oracle-application-express-forms-converter/book
• Marc Sewtz
– http://www.technicalconferencesolutions.com/pls/caat/caat_presenters_upd.display_document?conference_i
d=39&abstract_id=56&document_id=78793
• John Edward Scott and Scott Spendolini
– http://www.amazon.com/Oracle-Application-Express-Experts-Voice/dp/159059827X
• OraTransplant
– http://www.oratransplant.nl/oracle-forms-as-web-component/
• Roel Hartman
– http://roelhartman.blogspot.com/2009/10/integration-of-forms-and-apex-calling.html
SAGE Computing Services
Customised Oracle Training Workshops and Consulting
Questions and Answers?
Presentations are available from our website:
http://www.sagecomputing.com.au
enquiries@sagecomputing.com.au
scott.wesley@sagecomputing.com.au
http://triangle-circle-square.blogspot.com
Register for the Next
Application Express V3.2 course:
23rd ,25th and 26th November
Advanced course:
8th – 9th December
Talk to Sage about moving your Forms
applications to Apex
SAGE Computing Services
(Unrepentant Marketing)

Mais conteúdo relacionado

Mais procurados

Cagando Datos con APEX_DATA_PARSER
Cagando Datos con APEX_DATA_PARSERCagando Datos con APEX_DATA_PARSER
Cagando Datos con APEX_DATA_PARSERRodolfoRodriguez161
 
Oracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDSOracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDSDoug Gault
 
Take a load off! Load testing your Oracle APEX or JDeveloper web applications
Take a load off! Load testing your Oracle APEX or JDeveloper web applicationsTake a load off! Load testing your Oracle APEX or JDeveloper web applications
Take a load off! Load testing your Oracle APEX or JDeveloper web applicationsSage Computing Services
 
Intro on Oracle Application express - APEX
Intro on Oracle Application express - APEXIntro on Oracle Application express - APEX
Intro on Oracle Application express - APEXLino Schildenfeld
 
Oracle Application Express 20.2 New Features
Oracle Application Express 20.2 New FeaturesOracle Application Express 20.2 New Features
Oracle Application Express 20.2 New Featuresmsewtz
 
Automated testing APEX Applications
Automated testing APEX ApplicationsAutomated testing APEX Applications
Automated testing APEX ApplicationsRoel Hartman
 
Pretius Oracle Apex Primer
Pretius Oracle Apex PrimerPretius Oracle Apex Primer
Pretius Oracle Apex PrimerPretius
 
Oracle REST Data Services: Options for your Web Services
Oracle REST Data Services: Options for your Web ServicesOracle REST Data Services: Options for your Web Services
Oracle REST Data Services: Options for your Web ServicesJeff Smith
 
Oracle Application Express
Oracle Application ExpressOracle Application Express
Oracle Application ExpressHBoone
 
APEX Interactive Grid API Essentials: The Stuff You Will Really Use
APEX Interactive Grid API Essentials:  The Stuff You Will Really UseAPEX Interactive Grid API Essentials:  The Stuff You Will Really Use
APEX Interactive Grid API Essentials: The Stuff You Will Really UseKaren Cannell
 
Clean architectures with fast api pycones
Clean architectures with fast api   pyconesClean architectures with fast api   pycones
Clean architectures with fast api pyconesAlvaro Del Castillo
 
Oracle apex training
Oracle apex trainingOracle apex training
Oracle apex trainingVasudha India
 
Oracle APEX Social Login
Oracle APEX Social LoginOracle APEX Social Login
Oracle APEX Social Loginmsewtz
 
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API ManagerWSO2
 
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)sheriframadan18
 
Oracle Forms Triggers
Oracle Forms TriggersOracle Forms Triggers
Oracle Forms TriggersSekhar Byna
 
Calling SOAP and REST API's from PL/SQL
Calling SOAP and REST API's from PL/SQLCalling SOAP and REST API's from PL/SQL
Calling SOAP and REST API's from PL/SQLvenkata20k
 
Oracle APEX Introduction (release 18.1)
Oracle APEX Introduction (release 18.1)Oracle APEX Introduction (release 18.1)
Oracle APEX Introduction (release 18.1)Michael Hichwa
 
Capacitacion Apex 5 Oracle - Daniel Bermudez
Capacitacion Apex 5 Oracle - Daniel BermudezCapacitacion Apex 5 Oracle - Daniel Bermudez
Capacitacion Apex 5 Oracle - Daniel BermudezDaniel Bermudez
 

Mais procurados (20)

Cagando Datos con APEX_DATA_PARSER
Cagando Datos con APEX_DATA_PARSERCagando Datos con APEX_DATA_PARSER
Cagando Datos con APEX_DATA_PARSER
 
Oracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDSOracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDS
 
Take a load off! Load testing your Oracle APEX or JDeveloper web applications
Take a load off! Load testing your Oracle APEX or JDeveloper web applicationsTake a load off! Load testing your Oracle APEX or JDeveloper web applications
Take a load off! Load testing your Oracle APEX or JDeveloper web applications
 
Intro on Oracle Application express - APEX
Intro on Oracle Application express - APEXIntro on Oracle Application express - APEX
Intro on Oracle Application express - APEX
 
Oracle Application Express 20.2 New Features
Oracle Application Express 20.2 New FeaturesOracle Application Express 20.2 New Features
Oracle Application Express 20.2 New Features
 
Automated testing APEX Applications
Automated testing APEX ApplicationsAutomated testing APEX Applications
Automated testing APEX Applications
 
Oracle Apps - Forms
Oracle Apps - FormsOracle Apps - Forms
Oracle Apps - Forms
 
Pretius Oracle Apex Primer
Pretius Oracle Apex PrimerPretius Oracle Apex Primer
Pretius Oracle Apex Primer
 
Oracle REST Data Services: Options for your Web Services
Oracle REST Data Services: Options for your Web ServicesOracle REST Data Services: Options for your Web Services
Oracle REST Data Services: Options for your Web Services
 
Oracle Application Express
Oracle Application ExpressOracle Application Express
Oracle Application Express
 
APEX Interactive Grid API Essentials: The Stuff You Will Really Use
APEX Interactive Grid API Essentials:  The Stuff You Will Really UseAPEX Interactive Grid API Essentials:  The Stuff You Will Really Use
APEX Interactive Grid API Essentials: The Stuff You Will Really Use
 
Clean architectures with fast api pycones
Clean architectures with fast api   pyconesClean architectures with fast api   pycones
Clean architectures with fast api pycones
 
Oracle apex training
Oracle apex trainingOracle apex training
Oracle apex training
 
Oracle APEX Social Login
Oracle APEX Social LoginOracle APEX Social Login
Oracle APEX Social Login
 
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
 
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
 
Oracle Forms Triggers
Oracle Forms TriggersOracle Forms Triggers
Oracle Forms Triggers
 
Calling SOAP and REST API's from PL/SQL
Calling SOAP and REST API's from PL/SQLCalling SOAP and REST API's from PL/SQL
Calling SOAP and REST API's from PL/SQL
 
Oracle APEX Introduction (release 18.1)
Oracle APEX Introduction (release 18.1)Oracle APEX Introduction (release 18.1)
Oracle APEX Introduction (release 18.1)
 
Capacitacion Apex 5 Oracle - Daniel Bermudez
Capacitacion Apex 5 Oracle - Daniel BermudezCapacitacion Apex 5 Oracle - Daniel Bermudez
Capacitacion Apex 5 Oracle - Daniel Bermudez
 

Semelhante a Oracle Forms to APEX conversion tool

Rouky Martin Resume
Rouky Martin ResumeRouky Martin Resume
Rouky Martin Resumeroukym
 
Oracle Forms Modernization Roadmap
Oracle Forms Modernization RoadmapOracle Forms Modernization Roadmap
Oracle Forms Modernization RoadmapKai-Uwe Möller
 
Oracle Apex Technical Introduction
Oracle Apex   Technical IntroductionOracle Apex   Technical Introduction
Oracle Apex Technical Introductioncrokitta
 
Vandana Sathish Maller
Vandana Sathish MallerVandana Sathish Maller
Vandana Sathish MallerVandana Maller
 
Resume Chronological
Resume ChronologicalResume Chronological
Resume ChronologicalMichael Fons
 
Advanced Reporting And Charting With Oracle Application Express 4.0
Advanced Reporting And Charting With Oracle Application Express 4.0Advanced Reporting And Charting With Oracle Application Express 4.0
Advanced Reporting And Charting With Oracle Application Express 4.0Rinie Romme
 
Cetas - Application Development Services
Cetas - Application Development ServicesCetas - Application Development Services
Cetas - Application Development ServicesKabilan D
 
Oracle web-applications
Oracle web-applicationsOracle web-applications
Oracle web-applicationsurskeshav
 
Getting Started with Oracle APEX
Getting Started with Oracle APEXGetting Started with Oracle APEX
Getting Started with Oracle APEXDataNext Solutions
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application StrategiesBIOVIA
 
Resume Aden bahdon
Resume Aden bahdonResume Aden bahdon
Resume Aden bahdonAden Bahdon
 
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16Alfredo Abate
 
What is force.com?
What is force.com?What is force.com?
What is force.com?Roy Gilad
 
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen PaganSenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen PaganSencha
 
Application express
Application expressApplication express
Application expressAntony Alex
 

Semelhante a Oracle Forms to APEX conversion tool (20)

Rouky Martin Resume
Rouky Martin ResumeRouky Martin Resume
Rouky Martin Resume
 
Oracle Forms Modernization Roadmap
Oracle Forms Modernization RoadmapOracle Forms Modernization Roadmap
Oracle Forms Modernization Roadmap
 
Oracle Apex Technical Introduction
Oracle Apex   Technical IntroductionOracle Apex   Technical Introduction
Oracle Apex Technical Introduction
 
Vandana Sathish Maller
Vandana Sathish MallerVandana Sathish Maller
Vandana Sathish Maller
 
Resume Chronological
Resume ChronologicalResume Chronological
Resume Chronological
 
Advanced Reporting And Charting With Oracle Application Express 4.0
Advanced Reporting And Charting With Oracle Application Express 4.0Advanced Reporting And Charting With Oracle Application Express 4.0
Advanced Reporting And Charting With Oracle Application Express 4.0
 
Cetas - Application Development Services
Cetas - Application Development ServicesCetas - Application Development Services
Cetas - Application Development Services
 
Web Development In Oracle APEX
Web Development In Oracle APEXWeb Development In Oracle APEX
Web Development In Oracle APEX
 
Oracle web-applications
Oracle web-applicationsOracle web-applications
Oracle web-applications
 
Intro to Application Express
Intro to Application ExpressIntro to Application Express
Intro to Application Express
 
Getting Started with Oracle APEX
Getting Started with Oracle APEXGetting Started with Oracle APEX
Getting Started with Oracle APEX
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
 
Resume Aden bahdon
Resume Aden bahdonResume Aden bahdon
Resume Aden bahdon
 
2007 SAPTech Ed
2007 SAPTech Ed2007 SAPTech Ed
2007 SAPTech Ed
 
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
 
Ra framework 0.1
Ra framework 0.1Ra framework 0.1
Ra framework 0.1
 
What is force.com?
What is force.com?What is force.com?
What is force.com?
 
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen PaganSenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
 
Application express
Application expressApplication express
Application express
 
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas JellemaAMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
 

Mais de Scott Wesley

Oracle Text in APEX
Oracle Text in APEXOracle Text in APEX
Oracle Text in APEXScott Wesley
 
Being Productive in IT
Being Productive in ITBeing Productive in IT
Being Productive in ITScott Wesley
 
Oracle APEX Performance
Oracle APEX PerformanceOracle APEX Performance
Oracle APEX PerformanceScott Wesley
 
Utilising Oracle documentation effectively
Utilising Oracle documentation effectivelyUtilising Oracle documentation effectively
Utilising Oracle documentation effectivelyScott Wesley
 
Oracle 11g new features for developers
Oracle 11g new features for developersOracle 11g new features for developers
Oracle 11g new features for developersScott Wesley
 
Oracle PL/SQL - Creative Conditional Compilation
Oracle PL/SQL - Creative Conditional CompilationOracle PL/SQL - Creative Conditional Compilation
Oracle PL/SQL - Creative Conditional CompilationScott Wesley
 
Oracle PL/SQL Bulk binds
Oracle PL/SQL Bulk bindsOracle PL/SQL Bulk binds
Oracle PL/SQL Bulk bindsScott Wesley
 
Oracle SQL Model Clause
Oracle SQL Model ClauseOracle SQL Model Clause
Oracle SQL Model ClauseScott Wesley
 

Mais de Scott Wesley (8)

Oracle Text in APEX
Oracle Text in APEXOracle Text in APEX
Oracle Text in APEX
 
Being Productive in IT
Being Productive in ITBeing Productive in IT
Being Productive in IT
 
Oracle APEX Performance
Oracle APEX PerformanceOracle APEX Performance
Oracle APEX Performance
 
Utilising Oracle documentation effectively
Utilising Oracle documentation effectivelyUtilising Oracle documentation effectively
Utilising Oracle documentation effectively
 
Oracle 11g new features for developers
Oracle 11g new features for developersOracle 11g new features for developers
Oracle 11g new features for developers
 
Oracle PL/SQL - Creative Conditional Compilation
Oracle PL/SQL - Creative Conditional CompilationOracle PL/SQL - Creative Conditional Compilation
Oracle PL/SQL - Creative Conditional Compilation
 
Oracle PL/SQL Bulk binds
Oracle PL/SQL Bulk bindsOracle PL/SQL Bulk binds
Oracle PL/SQL Bulk binds
 
Oracle SQL Model Clause
Oracle SQL Model ClauseOracle SQL Model Clause
Oracle SQL Model Clause
 

Último

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Último (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Oracle Forms to APEX conversion tool

  • 1. SAGE Computing Services Customised Oracle Training Workshops and Consulting Trials & Tribulations of an Oracle Forms -> Apex Conversion A Hypothetical Case Study Scott Wesley Systems Consultant
  • 5. Oracle Product Strategy Traditional Development Tools Java Development Tools
  • 6. Oracle Forms – Statement of Direction • Oracle Forms and Reports – “Oracle has no plan to de-support these products, furthermore new versions are components of Oracle Fusion Middleware 11g” • Oracle Designer – Focus on stability and bug fixes, released via Oracle Development Suite 10g
  • 8. Oracle’s Recommendations for Customers • Based on E-Business Suite – Move from client-server to web – Upgrade to latest versions – Interoperate with Java/J2EE – Develop new modules with JDeveloper
  • 9. To Quote Oracle… • Oracle JDeveloper 11g with ADF is the tool of choice for Forms, Reports and Designer customers because it carries over a similar development model. However, given the architecture difference between Java EE and Forms or Reports, Oracle has no plans to offer a complete migration solution that would attempt to migrate applications built with these tools to Java EE. • Instead, Oracle’s strategy is to provide a Java EE development environment exposing similar concepts as Forms and Reports, giving to Forms and Reports developers the opportunity to become productive in a new, but familiar environment.
  • 10. Application Express – Statement of Direction (Feb09) • Native Web application development framework • Conceived February 2004 with Oracle Database 10g • “APEX 4.0 will focus on declarative support for Web 2.0 features as well as extensibility of APEX framework” – APEX Websheets – end user define data rules – APEX Listener – J2EE alternative to mod plsql – Improved tab forms – validation, collection integration – AnyChart 4 – flash based maps, Gantt charts – Dynamic Actions – page rendering on client events – Declarative support for cascading select lists – Extensible item framework – custom item types – Updateable Interactive Reports – inline editing – New Authentication schemes
  • 13. Basic Differences Feature Forms Application Express 4GL Declarative Renders applications with metadata in .fmx Renders applications using metadata stored in database 4GL Languages Client Side PL/SQL Server Side PL/SQL User Interface Java HTML Web Services Yes Yes
  • 14. Key Differences Feature Forms Application Express Page Layout Windows / Canvases Pages / Regions Client-side Field Control Forms Triggers Javascript / AJAX Locking Pessimistic / Optimistic / Custom Optimistic Database Connection Synchronous Asynchronous Concurrent User Support Connectivity by user session Connection only maintained for processing requests Architecture 3 Tier 2/3 Tier Reporting Oracle Reports / BI Beans Flash Charts / BI Publisher
  • 15.
  • 17. Project Expectations • Suitable application development environment (why, what, who, where) Right Reason • Change of behaviour • Best out of Apex? • Retraining required? Conversion • Stateful -> Stateless • UI – layout / flow Architecture • Saving v Conversion CostCost • Case studies • Feedback Customer
  • 18. Technical Expectations • Forms triggers • PLLs • Forms built-ins • Code split into UI / data layers? • Blocks based on stored procedures • Control blocks • Ongoing changes • Turnkey vs Phase Developer Architecture • Menus (security) • Object libraries • Validation • Hotkeys • Reports (printing = $$) • Turnkey vs Phase • Storyboards
  • 20. A Hypothetical Case Study • PLL • Menu • Reports • Forms • LOVs • Program Units • Validation triggers • Event triggers • Alerts • Images • Parameters • Visual Attributes • Hierarchical Tree • Procedure based block
  • 22. 2) Basic Form, Various item types, LOV, Post-Query
  • 24. 4) Tabular Form, Basic validation, Pre-Insert, Overflow
  • 25. 5) Hierarchy, Single Record Entry
  • 26. 6) View only, Procedural Entry Example
  • 28. Conversion Process Theory • Chapter 4 – Converting an Oracle Forms Application • How to convert your application – Step 1: Convert Oracle Forms to XML – Step 2: Create a Workspace and add APEX Users – Step 3: Upload database objects into the schema associated with your workspace – Step 4: Create a conversion project – Step 5: Review and edit forms metadata – Step 6: Generate the Oracle APEX Application • Deleting a migration project
  • 29.
  • 32. Microsoft Access not forgotten
  • 33. Step 1 - Convert Modules to XML
  • 34. Step 1: Convert .fmb, .olb, .mmb files to XML S:SW-SHARE>frmf2xml overwrite=yes bookings.fmb Oracle Forms 10.1.2 Forms to XML Tool Copyright(c) 2001, 2005, Oracle. All rights reserved. Processing module bookings.fmb WARNING: Item STATUS - all ListItemElements must have an Index, Name and Value. XML Module saved as bookings_fmb.xml
  • 38. Step 3 - Create Migration Project
  • 45.
  • 50. Step 4 – Analyse the Application
  • 52.
  • 58. alter table organisations add (close_btn raw(1), save_btn raw(1));
  • 60. SAGE@sw10g> break on presentation skip 10
  • 61. Register for the Next Application Express V3.2 course: 23rd ,25th and 26th November Advanced course: 8th – 9th December Talk to Sage about moving your Forms applications to Apex SAGE Computing Services (Unrepentant Marketing)
  • 62. Step 5 – Generate the Apex Application
  • 66. Program Units Computation | Validation | Process Server side packages
  • 71. Apex (potential) Printing Infrastructure
  • 77.
  • 78.
  • 83. So what does my new Application look like?
  • 84.
  • 85.
  • 86.
  • 89. Step 6 – Customise your Apex Application
  • 91. Review • Page structures • UI - themes / images • Navigation components • Report implementation
  • 92. Program Units / Triggers • Manually transfer code as validation/computation/process • Annotate
  • 93. Enhance Apex Application • Apply conditional processing for regions / items • Apply security via authorisation schemes / conditions • Apply LOVs, alerts, specific item type attributes (checkboxes, dates) • Review all generated buttons • Add session state protection • Annotate
  • 94. Add Apex Components • Pages, regions, buttons, items as required • Implement client-side JS & AJAX • Annotate
  • 95. Develop Database Components • Ensure code reused in packages and not embedded in the Apex Application where possible • Annotate
  • 96. Project Management •System test •Train users •Implement application
  • 97. Where did my time go?
  • 98.
  • 99. Transform to XML Create Application Express Workspace / Migration Project Upload XML files to workspace Analyse the application metadata Generate the Application Express Application Customise the Application Express Application User Acceptance & Testing
  • 100. Consumption of Time XML Upload Analyse GenerateCustomise Acceptance
  • 101. Review
  • 102. Bottlenecks / Danger Zones “Oracle has no plans to offer a complete migration solution” Speedy annotation locate & update Custom Query modification Multi-row blocks Non- database items Beyond simple block source Control blocks PL/SQL Conversion UI Defaults
  • 103. What’s missing? • Export / Backup • Ability to pre-build Apex validations during conversion – PL/SQL Placeholders • Define item type/order • Conversion of LOVs, Alerts • Apex Views – Annotations – Aggregation (combined listings) • SQL Developer Integration • Search facility (not IR) • Bulk change on all object types (not application applicability) • XML Metadata – Report triggers – Certain form properties (eg. WHERE clause) – Menu roles – Non-Database item recognition – ?
  • 104.
  • 106.
  • 107. Conversion Alternatives • Integration – Wilfred van der Deijl – Visual Integration of Forms & Apex – Two way communication – Phased approach
  • 108. Conversion Alternatives • Manual labour – do it right – Storyboards – Balsamiq / MockupScreens / Sketchflow http://apex-smb.blogspot.com/2009/10/designing-apex-applications-ui-mockups.html
  • 109. Conversion Alternatives • Mixture – Using the annotation functionality – Re-use logic where possible
  • 110. Underlying Data -- Create view of annotations create or replace view annotations as (output of) select 'select '''||table_name||''' table_name, ' ||nvl((select distinct first_value (column_name) over (order by column_id) from all_tab_columns s where m.table_name = s.table_name and s.column_name like '%NAME%') , (select distinct first_value (column_name) over (order by column_id) from all_tab_columns s where m.table_name = s.table_name and (s.column_name like '%ROLE%' or s.column_name like '%EXPRESSION%'))) ||‘ name, select_for_app, applicable, complete, priority, assignee, notes, tags from '||owner||'.'||table_name||' union all ' a from all_tab_columns m where column_name like 'APPLICABLE' and owner = 'APEX_030200' and table_name not in ('WWV_MIG_PROJECT_COMPONENTS','WWV_MIG_FRM_COORDINATES','WWV_MIG_RPT_GRP_FILTER' ,'WWV_MIG_RPT_DATASRC_SELECT','WWV_MIG_RPT_DATA' ,'WWV_MIG_FRM_MENUS_MODULES','WWV_MIG_FRM_MODULES','WWV_MIG_OLB_MODULES');
  • 113. Strategies Forms v Apex v ADF Differences Stateful v Stateless Considerations Right Decision Process Simple Converter Review Poor What next? Today’s Summary
  • 114. References • David Peake – http://www.oracle.com/technology/obe/apex32/apex32frmmigr.htm – http://www.oracle.com/technology/oramag/oracle/09-may/o39browser.html • Grant Ronald – http://groundside.com/blog/GrantRonald.php?title=migrate_oracle_forms_to_apex • Oracle Documentation – http://www.oracle.com/technology/products/database/application_express/html/doc.html – http://www.oracle.com/technology/products/forms/pdf/10g/ToolsSOD.pdf – http://www.oracle.com/technology/products/database/application_express/apex_sod.html • Douwe Pieter van den Bos – http://www.packtpub.com/oracle-application-express-forms-converter/book • Marc Sewtz – http://www.technicalconferencesolutions.com/pls/caat/caat_presenters_upd.display_document?conference_i d=39&abstract_id=56&document_id=78793 • John Edward Scott and Scott Spendolini – http://www.amazon.com/Oracle-Application-Express-Experts-Voice/dp/159059827X • OraTransplant – http://www.oratransplant.nl/oracle-forms-as-web-component/ • Roel Hartman – http://roelhartman.blogspot.com/2009/10/integration-of-forms-and-apex-calling.html
  • 115. SAGE Computing Services Customised Oracle Training Workshops and Consulting Questions and Answers? Presentations are available from our website: http://www.sagecomputing.com.au enquiries@sagecomputing.com.au scott.wesley@sagecomputing.com.au http://triangle-circle-square.blogspot.com
  • 116. Register for the Next Application Express V3.2 course: 23rd ,25th and 26th November Advanced course: 8th – 9th December Talk to Sage about moving your Forms applications to Apex SAGE Computing Services (Unrepentant Marketing)

Notas do Editor

  1. Where is Oracle going? What are our options?
  2. You want something sound, not one that will drive you in circles – one way or another.
  3. From the Forms Statement of DirectionTwo major pathways / parallel offerings, Forms support is secure
  4. Two major pathways / parallel offerings, Forms support is secure
  5. Secure for quite a while
  6. EBS always a bit of a measuring stickOur recommendation will be to seriously start moving, otherwise keep all your old hardware.Maintaining upgrades will cost more as application server needs to keep up -> WLS
  7. Part in bold is the key statement, when we complain things are missing from converter – this line could be used.
  8. Well oiled future with wide ranging improvements
  9. Sometimes everything looks the same, not in this case.There are some fundamental differences between the two construction models, which is why it’s termed a conversion.
  10. Off the apex page on OTN, some basic differences…
  11. But the fundamental & key differences lie here. This chart deserves a little more respect.
  12. Who here is expecting a silver bullet?
  13. Because nobody wants to repeat history
  14. Considered statement of direction/Fusion application infrastructure?Why convert/select particular environment, what’s converted, who’se converting/customer, where deployed?Behaviours must change to get best out of Apex – don’t’ fight productWill saving outweigh conversion cost? Small projects will get cost benefit, large maybe not so much, particularly if you want to keep reports.Large conversion will take a while to get off.
  15. There is a downloadable application you can walk through, I’ve got my own so you can have something fresh to compare (and I wanted to be different)
  16. Plus a couple of reports.
  17. Just the image and boilerplate text.But don’t forget menus
  18. Post-query gets parent nameLOV on parent org.
  19. No special code whatsoever, all forms built-ins. Main difficulty will be the other end with the multi-row checkboxes.
  20. Populates poplist via record group from queryHas record group for resource codeMulti-table data source – only updates bookings.Pre-insert to populate made_by = userEvent Wvi to get event informationResource wvi to clear resource if nullCost display itemStatic lov
  21. Simple message on date validationAlert displayed when bookings btn pressed with no event selectedBookings form opened on btn pressPre-insert for org selection
  22. Current record VAHalf attempt at procedure based block.
  23. I’m going to walk through the conversion process, just so you can see the sort of thing going on. Then I’ll go into detail about what I think of the product.
  24. Actually different to that shown on the Applications Migration page in ApexMissing a HUGE step
  25. We really need to be sure to factor this in…But further to that, we really need a step 0 – thinking about what we’re doing…
  26. So instead, a picture paints a thousand words.Here is a simple version of the diagram I found (Apex for Forms Developers), really high level
  27. I prefer this diagram, it’s a little more representative of the process.Later I’ll mention where I think the bulk of the work is done.
  28. Good for those basic applications created by your user base.
  29. This can be scripted
  30. Just File->Save as XML.
  31. You can see XML gives it the power to record just about everything. Just about. I found some missing components, especially with reports.
  32. I’m going to presume the workspace and objects are there, I think everyone here knows what Apex is about.
  33. This really isn’t a phrase to consider lightly. It’s not just a matter of processing clicks. We are creating a project where we need to carefully manage content and progress.
  34. Here is another point to note. Forms really is a *conversion* rather than a sheer migration (without trying to belittle the Access job).And it just conversion, not redesign of business functionality – avoid scope creep.
  35. I’ll try summit application first
  36. My project description is too longEven though the underlying table handlesapex_migration_projects -- couldn‘t select rowsapex_030200.wwv_mig_projects.description VARCHAR2(2000)
  37. Tried converting PLL as my first file
  38. When I found out I converted the report module incorrectly.(Don’t use convert, use save as XML)
  39. Note the components, completed, % complete.Now let’s compare to the simple application I created.
  40. Less components, but less % complete!Complete seems to include things that aren’t applicable? Metadata doesn’t seem to match up, correspond, be consistentSo work remaining will be based on what you start with, how complex your forms are.Now let’s consider what that work’s about.
  41. To put the level of completion in perspective, here’s an example of annotation. I’ll talk about this more throughout the topic
  42. Now we have all our meta-data within Apex, let’s see what we can do with it.we can annotate, include, exclude, set to complete, massage queries etc.
  43. Note IR layout.Implementation details, equivalent component, Applicable
  44. Where is my where clause/order by?
  45. Custom query where I have the ability to correct.Had to state this form was one record displayed before I could edit the custom query.
  46. Modify for my post query.Note buttons in query. Summit application had select into, which was detected for enhanced query – mine wasn’t.
  47. Seems obvious when showing it to you.
  48. Took long time to find.Applicable doesn’t explicitly exclude the item.In the end I had to add these as columns to the table!!alter table events add (prev_record raw(1), next_recod raw(1));alter table message_log add (current_ind raw(1));alter table organisations add (close_btn raw(1), save_btn raw(1));Alter tablemessage_log drop column current_ind;
  49. After the break we’ll generate our Apex application and see what we get.
  50. Call in at the Sage Computing Services exhibition booth, or contact Pennypenny@sagecomputing.com.au0419904458
  51. We haven’t really had the chance to do too much except plan what needs to happen with annotations, completion/applicable indicators.We have an “include” checkbox, which does it’s job most of the time.What are we going to expect to get converted, and into what?
  52. I feel this is one of the more obvious translations, but one of the most important
  53. This is the immediate concern for anyone considering the concept, and is the most complex part of the conversion. Not only that, it needs to be done post-generation of the application. It’s not part of the conversion process. Only those features out of the box for APEX are converted – no Javascript or AJAX will be generated.
  54. Again part of post-gen processing.Immediately you’ve crossed out major components of the existing application
  55. Not generated, but consider recycling concepts as templates, shared lovs, item types, item attributes. UI defaults
  56. I didn’t see evidence of this being converted automatically, but it’s the translation.
  57. Need to implement post generation – mostly.
  58. Page generated linking to interactive reports.Or depending on your infrastructure, you can call existing Oracle reports (for the time being)
  59. BI Publisher, Apache FOP, Cocoon.Keep eye out for Apex 4 infrastructure
  60. When I tried with the Summit app, it generated first time without any input from myself. Nice and tidy.When I attempted mine…Remember the columns I had to add to the table? This was the error
  61. Recognise that query? It was the hardest nut to crack – in the end I couldn’t crack it – had to not include that form.
  62. Sometimes you do get an indication of where the problem is.Unfortunately in this case due to a case issue.
  63. Here we see a summary of how the converter has decided to categorise your modules.Documentation?Work to do now?! Post analysis?
  64. Opening up one of these pages definitions we can see some fun facts and tailor a few minor aesthetics
  65. Further down includes our reported columns.Creating UI defaults does help here
  66. We can add pages to our generation.The level of detail here shows us the parallel to the typical level of conversion going on.
  67. The important choice of theme…
  68. Nothing exciting here.
  69. You’ve done it!! Can we go home now?No, less than half the work is done. (depending on how good a planner you are)
  70. Very exciting. Not really sure how much my menu had to steer this ship. Certainly no conditions on these buttons.
  71. You can see we’ve gone from a single record forms screen to an IR for my org list and a link to a form page.
  72. My edit org page is “converted”.Field order poor, can see my org_id, no LOV/poplist for parent organisation/state, no checkbox for internal?!
  73. Tried doing iterations of generating the app to see what changes where kept in the application design model (since no documentation exists for it)If you add pages, the design model will note those, but any page level enhancements will be lost.I also see now a reports section for the reports I added.I also added the bookings pages to accommodate the form I didn’t include
  74. So pre-gen tip – don’t rely on the converter for good ordering, item type selection – set up UI defaults for everything.
  75. This section is going to need a lot of effort.It’s also where you have the opportunity to manage your project using the annotations, trying to ensure things don’t get missed in the conversion.
  76. I’m not going to go into what you need to get your Apex application up to scratch. I’ve just demonstrated you’re starting with something 1001 monkeys could produce.The tool however can be used to annotate what has been done, and what needs to be done.But there are downfalls. Now onto a post-gen task list..
  77. Out of all the tasks we need to achieve, where was my time spent?
  78. My general assessment of where time would probably be spent.Convert to XML – scriptedXML upload – follow the bouncing ballAnalysis – application awarenessGeneration – storyboarding?Customisation – plug the gaps
  79. Another way to look at it.
  80. Whichever way you look at it, the conversion tool seems to make up 5% of time, but to what value?You still need to spend the bulk of the time customising.The best value of the tool appears to come from the analysis of metadata – annotations – which doesn’t include all metadata!
  81. Now time to ponder what we’ve done, and how good it is.
  82. Annotations – everything’s quite deep and exploration via IR isn’t intuitive. Not all thereCustom query – not always available, still doesn’t mitigate issueMulti-row – related to custom queryNon-db items – placed in query, have to un-include, even if button – had to add columns to table!Block source – can only really handle basic table + post-queryControl – not convertedPL/SQL – not convertedUI Defaults – are needed to get pages that even start to look like what you’ll want.All relate to the Forms SOD
  83. No backupPL/SQL – expecting it, don’t know solution, oracle not offering conversion toolItem type/order – rely on UI defaultsViews – best feature not affirmed with viewsSearch - Quick way to find things that aren’t complete, compilation errorsBulk change – completion, not just “these triggers N/A”XML – things I’ve spotted.
  84. Do you really need to browse forms logic – should your app documentation already cover this?
  85. Ditch the converter.
  86. Story boarding so important when converting applications between vastly difference architecture!
  87. Annotations best feature of the converter,utilise these while tackling the conversion using a fresh start/integration.
  88. Not project specific, but lists (most) annotations
  89. Can start to get more granular – in the one place
  90. Quick and dirty view of outstanding work.
  91. Everyone needs to be aware of the fundamental differences – manager thru end user
  92. Call in at the Sage Computing Services exhibition booth, or contact Pennypenny@sagecomputing.com.au0419904458