SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Oracle Forms
Modernization Roadmap
A discussion
Kai-Uwe Moeller, November 2018
About the Author
● Technical consultant
• at Oracle Consulting Germany
• self employed since 2008
● Expert for
• Oracle Database
• Fusion Middleware, ADF, eBusiness Suite
• Oracle Forms modernization and migration
• Oracle Reports and BI Publisher
Agenda
• Stating the challenge
• Migration roadmap
• Analyze existing architecture
• Forms modernization
• Forms alternatives – (not so) new technologies
• Design service and presentation layer
• Target Architecture Scenario
Common Questions
• For how long will I be able to operate my Forms applications?
• Commitment by Oracle indefinite?
• Forms developers retire
• One main competitor runs his software at lower cost and reacts
very agile on new business requirements. How can we get there?
• Our field sales representatives need some of our application data
on their mobile devices.
• Controlling is not happy with the old fashioned and static
presentation of the revenue numbers.
The following slides are a starting point to find adequate answers.
Assumption
• IT of the last decades was highly focused on manual data entry
Reason: Humans were primary data source and recipient
• New technologies have gained importance:
• Mobile devices
• Internet of things
• Deep learning
• RFID and others
• Consequence is evolving human interaction (‘human tasks’)
• Classic desktop applications will loose importance
• Interaction of multiple services becomes more relevant
Evolution of Human Interfaces
• Mass data query and
entry screens
• Desktop oriented
• Static forms
• User driven
• Data evaluation, data mining
• Decision support
• Interactive dynamic dashboards
• Desktop and mobile
• Event driven, real time
Transition from Desktop oriented to
Service Oriented Architecture
Transition Roadmap
Analyze Existing Architecture
Examine Target Technologies
Define Modernization Scope
Design the Services
Design the Presentation Layer
Analyze Existing Architecture
1. Locate the business logic:
Database, Forms modules, Java programs
2. Identify unused and deprecated components:
Dead code, obsolete Forms modules and database objects
3. Identify components
• to be exposed as a service
• to be replaced by an external service
4. Examine peripheral/supporting components:
Interfaces, batch jobs, reporting, security
Transition Roadmap
Analyze Existing Architecture
Examine Target Technologies
Define Modernization Scope
Design the Services
Design the Presentation Layer
Examine Target Technologies
Full Stack (Oracle)
• Forms (modernization)
• ADF (ADF Faces with Task Flows and ADF Business Components)
• Application Express (APEX)
Services
• Oracle REST Data Services (ORDS)
• Service based on Java frameworks (Spring REST, …)
• SOA Suite
User Interface
• JavaScript / Typescript based frameworks
• JSF
Forms Modernization – Chances and Risks
✅ Currently: Oracle commits to
forms for ‘indefinite” time
✅ Saves the investments taken
✅ Skill set for maintenance is
available
✅ Still a fast and reliable way to
enter mass transactional data
on a desktop
✅ Forms 12c features and third
party tool kits enable
modernization
❗ Forms runtime client can get
incompatible with desktop
Java Runtime (JRE)
❗ Major browser vendors had
discontinued Java applets
❗ Running Java applications on
desktop computers is more
and more considered as a
security risk and causes
unwanted maintenance by IT
desktop support
Partial Migration – Pros and Cons
✅ Smaller project(s), agile
approach possible
✅ Tailored applications for each
target audience:
• Responsive dashboards for
controlling and management
• Mobile device apps for field
service and sales reps
• Fast and reliable data entry forms
for back office desktops
✅ Gradual migration to a modern
cloud based architecture
❌ Increased effort in operations
and maintenance possible
❌ Diverse technology stack
❌ Manual switching between
multiple applications can
degrade user experience
A complete Migration from Forms
creates a huge project and may
not generate the desired results.
Let’s consider doing it partially
and gradually.
Tool Supported Migration
• Differences in legacy and target architectures are huge,
not limited to the programming languages
• Legacy code usually grew over years collecting many add-ons and
workarounds, has obsolete portions1), etc.
• Such a real world legacy application automatically transformed,
will it be
- Lean, contain maintainable and performant code?
- Future ready for cloud oriented architectures?
1) There are software tools that can identify obsolete (unused) code,
even unused portions of the UI
ADF – Faces, Task Flows
and Business Components
✅ Advanced and powerful features
(Task flows, ADF Business
Components, ...)
✅ Moves focus of development
from technology to business
requirements
✅ Follows industry standards like JEE
and JSF
✅ Support by large software vendor
❌ Partially proprietary
(Binding layer, ADF BC,...)
❌ JSF Technology stack aged
❌ Heavy weight,
performance issues possible
❌ License costs
❌ Lack of proficient ADF developers
❓ Commitment by Oracle?
When the learning curve has been consumed,
building Applications with ADF can be very efficient.
But this comes with a price tag and the future of the
framework is uncertain.
JavaScript based
� Is JSF still relevant? Read this opinion: https://www.javabullets.com/is-jsf-still-relevant
❗ The JavaScript framework scene
is fast moving
Considerations
❓ Learning curve
❓ Creates maintainable code
even for large projects
❓ Component library contained
or available
❓ Performance
❓ (Projected) Market share
❓ Support and Community
Application Express (APEX)
• Part of the Oracle Database
• Highly declarative web application development
Pros:
✅ Supports agile development
✅ Delivers fast results, contains many standard patterns
(menus, forms, master/detail data views, security)
✅ No additional license costs on top of Oracle database license
Cons:
❌ Highly proprietary
❌ Strictly dependent on Oracle Database (vendor lock)
❌ Lack of scalability and layer/API based architectural approach
❌ Security considerations
It is amazing, how quite powerful
applications can be built with APEX in
between short time even with small
knowledge of coding. But finally
everything comes with a price.
Transition Roadmap
Analyze Existing Architecture
Examine Target Technologies
Define Modernization Scope
Design the Services
Design the Presentation Layer
Define Modernization Scope
● Identify screens and modules required
for migration
• Functionality not available in
Forms (i.e. for mobile devices)
• Strategic
• Other
● Identify related modules building a
business process
• Technically by code references
• Logically by user navigation
(navigation flow)
● Migrate identified modules to
target architecture
● Build supporting new interfaces and
workflows based on requirements
New
interfaces and
workflows
Transition Roadmap
Analyze Existing Architecture
Examine Target Technologies
Define Modernization Scope
Design the Services
Design the Presentation Layer
Design the Services
Service Categories
• Administrative (authentication, authorization, …)
• CRUD operations – data retrieval, entry and change
• Validation
• Invoke other systems as services (reporting, interfaces, …)
Implementation
• PL/SQL procedure
• ADF Business Component
• Web Service (can be based on PL/SQL, ADF BC, Java)
A unified service layer would be ideal, but not all
frontends will be compatible. Forms or JSF can
be bound to REST only with high effort, a vendor
interface may accept a specific XML format ... So
the services will remain a mix of different
technologies based on the consumer’s
requirements.
Extracting Business Logic
• Extract PL/SQL from Forms into database stored
procedures if they act like services.
• Criteria for an ideal extracted stored procedure:
- Can its purpose be described like a use case?
Examples: 'Get contract details' 'Update stock amount' 'Create new warehouse’
- Does it represent or encapsulate a database transaction, or is it strictly read only?
- Is it reusable across screens or applications?
- Can given input and expected output be documented across scenarios?
- Can it be (automatically) tested with a set of defined test cases?
• Most questions answered with
- Yes? Great candidate for a database driven service!
- No? Consider refactoring with extraction. Why should you keep and maintain
components in your architecture when you don't know exactly what they do?
There are tools capable of automatic
Forms PL/SQL extraction to the database.
They can speed up extraction but have to
be used with caution as they will do it
one-to-one.
Thinking about Transactions (1)
Thinking about Transactions (2)
● The Forms database centric architecture uses
transactions and guarantees data consistency out of
the box
● ADF Business components can emulate the
transaction based approach
● The standard REST approach maps http methods
(GET, PUT, …) one on one to CRUD/DML database
operations (UPDATE …)
● Scenarios where a use case contains more than one
CRUD/DML operation in one transaction need a more
customized service implementation,
● Alternative Approach: Abandon full data consistency
Authentication and Authorization
Legacy
• Named database users and assigned database roles
are common in Forms applications
Modernization Strategies
• Make database users and roles available to services
• Migrate users and roles to a new access control service
• PL/SQL Code with references needs rework if it contains references to
USER or database roles or
• Consider connection via named proxy user
Transition Roadmap
Analyze Existing Architecture
Examine Target Technologies
Define Modernization Scope
Design the Services
Design the Presentation Layer
Design the Presentation Layer
• Design for Desktop and/or Mobile devices
• Unified or separate?
• UI frame organization:
• Menu
• Tabs
• Or: New approach optimized for mobile devices
• Navigation and navigation rules between views
• View design
Reporting
• Replace deprecated Oracle Reports
• BI Publisher, Jasper Reports, …
• Check for obsolete reports
• Align with current business requirements
• Reports still required as static paper/PDF output?
• Consider alternative and contemporary ways of presentation
i.e. interactive dashboards
• Design integration with target architecture
• If static (PDF) output is still required:
• Asynchronous generation – notify recipient of result like success or failure
• Delivery method to the recipient
Reporting is easily underestimated in
implementation and modernization projects. Quite
surprising as the efforts can be significant. This
slide is just a starting point.
Target Architecture Scenario
● Choose (or keep) the technologies
that meet your needs
● No new developments in
technologies you mark as
deprecated for your organization
● Web Services (REST) are the glue for
modern architectures
● Gradually evolve to a
Cloud / PaaS / SaaS ready
architecture
Related Topics Down The Road
• Forms modernization
• Oracle Application Express (APEX)
• Interaction between Oracle Forms
and web applications
• Security
Summary
• Forms (12c) applications can comfortably exist
in a current IT landscape.
• A gradual migration is possible and recommended.
• This is just the beginning.
Continuous learning is part of the game.
Please share your opinion and experience!
mail@kaimoeller.net LinkedIn: Kai-Uwe Möller

Weitere ähnliche Inhalte

Was ist angesagt?

Orchestration and provisioning architecture for effective service management
Orchestration and provisioning architecture for effective service managementOrchestration and provisioning architecture for effective service management
Orchestration and provisioning architecture for effective service management
Alan McSweeney
 
Seller Presentation - Power Systems Power Virtual Server.PPTX
Seller Presentation - Power Systems Power Virtual Server.PPTXSeller Presentation - Power Systems Power Virtual Server.PPTX
Seller Presentation - Power Systems Power Virtual Server.PPTX
EdilsonNeto8
 
Data Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to MeshData Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to Mesh
Jeffrey T. Pollock
 

Was ist angesagt? (20)

OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...
OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...
OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...
 
Orchestration and provisioning architecture for effective service management
Orchestration and provisioning architecture for effective service managementOrchestration and provisioning architecture for effective service management
Orchestration and provisioning architecture for effective service management
 
Implementing Cloud Financials
Implementing Cloud FinancialsImplementing Cloud Financials
Implementing Cloud Financials
 
Seller Presentation - Power Systems Power Virtual Server.PPTX
Seller Presentation - Power Systems Power Virtual Server.PPTXSeller Presentation - Power Systems Power Virtual Server.PPTX
Seller Presentation - Power Systems Power Virtual Server.PPTX
 
Fluent Bit
Fluent BitFluent Bit
Fluent Bit
 
Azure IAAS architecture with High Availability for beginners and developers -...
Azure IAAS architecture with High Availability for beginners and developers -...Azure IAAS architecture with High Availability for beginners and developers -...
Azure IAAS architecture with High Availability for beginners and developers -...
 
Microsoft 365 Enterprise Security with E5 Overview
Microsoft 365 Enterprise Security with E5 OverviewMicrosoft 365 Enterprise Security with E5 Overview
Microsoft 365 Enterprise Security with E5 Overview
 
Event Driven Software Architecture Pattern
Event Driven Software Architecture PatternEvent Driven Software Architecture Pattern
Event Driven Software Architecture Pattern
 
Enterprise Security: Tableau vs. Power BI
Enterprise Security: Tableau vs. Power BIEnterprise Security: Tableau vs. Power BI
Enterprise Security: Tableau vs. Power BI
 
Big Data and Hadoop
Big Data and HadoopBig Data and Hadoop
Big Data and Hadoop
 
SaaS Architecture.pdf
SaaS Architecture.pdfSaaS Architecture.pdf
SaaS Architecture.pdf
 
Data Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to MeshData Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to Mesh
 
Spark Hadoop Tutorial | Spark Hadoop Example on NBA | Apache Spark Training |...
Spark Hadoop Tutorial | Spark Hadoop Example on NBA | Apache Spark Training |...Spark Hadoop Tutorial | Spark Hadoop Example on NBA | Apache Spark Training |...
Spark Hadoop Tutorial | Spark Hadoop Example on NBA | Apache Spark Training |...
 
M365 edrm information management strategy
M365 edrm information management strategyM365 edrm information management strategy
M365 edrm information management strategy
 
Camunda BPM Enterprise Application Configuration
Camunda BPM Enterprise Application ConfigurationCamunda BPM Enterprise Application Configuration
Camunda BPM Enterprise Application Configuration
 
Core Archive for SAP Solutions
Core Archive for SAP SolutionsCore Archive for SAP Solutions
Core Archive for SAP Solutions
 
Maximo overview
Maximo overviewMaximo overview
Maximo overview
 
Azure Purview Data Toboggan Erwin de Kreuk
Azure Purview Data Toboggan Erwin de KreukAzure Purview Data Toboggan Erwin de Kreuk
Azure Purview Data Toboggan Erwin de Kreuk
 
Modernizing an Existing SOA-based Architecture with APIs
Modernizing an Existing SOA-based Architecture with APIsModernizing an Existing SOA-based Architecture with APIs
Modernizing an Existing SOA-based Architecture with APIs
 
MuleSoft Anypoint Platform and Three Tier Architecture
MuleSoft Anypoint  Platform and Three Tier ArchitectureMuleSoft Anypoint  Platform and Three Tier Architecture
MuleSoft Anypoint Platform and Three Tier Architecture
 

Ähnlich wie Oracle Forms Modernization Roadmap

Ähnlich wie Oracle Forms Modernization Roadmap (20)

Subhoshree resume
Subhoshree resumeSubhoshree resume
Subhoshree resume
 
Subhoshree_ETLDeveloper
Subhoshree_ETLDeveloperSubhoshree_ETLDeveloper
Subhoshree_ETLDeveloper
 
Prashant Patel
Prashant PatelPrashant Patel
Prashant Patel
 
Vikas Kumar
Vikas KumarVikas Kumar
Vikas Kumar
 
Resume quaish abuzer
Resume quaish abuzerResume quaish abuzer
Resume quaish abuzer
 
1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt
 
--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt
 
Madhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EEMadhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EE
 
sonal
sonalsonal
sonal
 
Mridul_Halder_Resume
Mridul_Halder_ResumeMridul_Halder_Resume
Mridul_Halder_Resume
 
Copy of Alok_Singh_CV
Copy of Alok_Singh_CVCopy of Alok_Singh_CV
Copy of Alok_Singh_CV
 
Prince_Kumar_JAVA_Developer
Prince_Kumar_JAVA_DeveloperPrince_Kumar_JAVA_Developer
Prince_Kumar_JAVA_Developer
 
HamsaBalajiresume
HamsaBalajiresumeHamsaBalajiresume
HamsaBalajiresume
 
Navendu_Resume
Navendu_ResumeNavendu_Resume
Navendu_Resume
 
PradeepDWH
PradeepDWHPradeepDWH
PradeepDWH
 
Resume Aden bahdon
Resume Aden bahdonResume Aden bahdon
Resume Aden bahdon
 
Resume Vardan Karapetian Updated
Resume Vardan Karapetian UpdatedResume Vardan Karapetian Updated
Resume Vardan Karapetian Updated
 
Wael Abdeen Resume
Wael Abdeen ResumeWael Abdeen Resume
Wael Abdeen Resume
 
Skill_Level_ Strider
Skill_Level_ StriderSkill_Level_ Strider
Skill_Level_ Strider
 
Guidelines for moving from Oracle Forms to Oracle ADF and SOA
Guidelines for moving from Oracle Forms to Oracle ADF and SOAGuidelines for moving from Oracle Forms to Oracle ADF and SOA
Guidelines for moving from Oracle Forms to Oracle ADF and SOA
 

Kürzlich hochgeladen

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 

Kürzlich hochgeladen (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 

Oracle Forms Modernization Roadmap

  • 1. Oracle Forms Modernization Roadmap A discussion Kai-Uwe Moeller, November 2018
  • 2. About the Author ● Technical consultant • at Oracle Consulting Germany • self employed since 2008 ● Expert for • Oracle Database • Fusion Middleware, ADF, eBusiness Suite • Oracle Forms modernization and migration • Oracle Reports and BI Publisher
  • 3. Agenda • Stating the challenge • Migration roadmap • Analyze existing architecture • Forms modernization • Forms alternatives – (not so) new technologies • Design service and presentation layer • Target Architecture Scenario
  • 4. Common Questions • For how long will I be able to operate my Forms applications? • Commitment by Oracle indefinite? • Forms developers retire • One main competitor runs his software at lower cost and reacts very agile on new business requirements. How can we get there? • Our field sales representatives need some of our application data on their mobile devices. • Controlling is not happy with the old fashioned and static presentation of the revenue numbers. The following slides are a starting point to find adequate answers.
  • 5. Assumption • IT of the last decades was highly focused on manual data entry Reason: Humans were primary data source and recipient • New technologies have gained importance: • Mobile devices • Internet of things • Deep learning • RFID and others • Consequence is evolving human interaction (‘human tasks’) • Classic desktop applications will loose importance • Interaction of multiple services becomes more relevant
  • 6. Evolution of Human Interfaces • Mass data query and entry screens • Desktop oriented • Static forms • User driven • Data evaluation, data mining • Decision support • Interactive dynamic dashboards • Desktop and mobile • Event driven, real time
  • 7. Transition from Desktop oriented to Service Oriented Architecture
  • 8. Transition Roadmap Analyze Existing Architecture Examine Target Technologies Define Modernization Scope Design the Services Design the Presentation Layer
  • 9. Analyze Existing Architecture 1. Locate the business logic: Database, Forms modules, Java programs 2. Identify unused and deprecated components: Dead code, obsolete Forms modules and database objects 3. Identify components • to be exposed as a service • to be replaced by an external service 4. Examine peripheral/supporting components: Interfaces, batch jobs, reporting, security
  • 10. Transition Roadmap Analyze Existing Architecture Examine Target Technologies Define Modernization Scope Design the Services Design the Presentation Layer
  • 11. Examine Target Technologies Full Stack (Oracle) • Forms (modernization) • ADF (ADF Faces with Task Flows and ADF Business Components) • Application Express (APEX) Services • Oracle REST Data Services (ORDS) • Service based on Java frameworks (Spring REST, …) • SOA Suite User Interface • JavaScript / Typescript based frameworks • JSF
  • 12. Forms Modernization – Chances and Risks ✅ Currently: Oracle commits to forms for ‘indefinite” time ✅ Saves the investments taken ✅ Skill set for maintenance is available ✅ Still a fast and reliable way to enter mass transactional data on a desktop ✅ Forms 12c features and third party tool kits enable modernization ❗ Forms runtime client can get incompatible with desktop Java Runtime (JRE) ❗ Major browser vendors had discontinued Java applets ❗ Running Java applications on desktop computers is more and more considered as a security risk and causes unwanted maintenance by IT desktop support
  • 13. Partial Migration – Pros and Cons ✅ Smaller project(s), agile approach possible ✅ Tailored applications for each target audience: • Responsive dashboards for controlling and management • Mobile device apps for field service and sales reps • Fast and reliable data entry forms for back office desktops ✅ Gradual migration to a modern cloud based architecture ❌ Increased effort in operations and maintenance possible ❌ Diverse technology stack ❌ Manual switching between multiple applications can degrade user experience A complete Migration from Forms creates a huge project and may not generate the desired results. Let’s consider doing it partially and gradually.
  • 14. Tool Supported Migration • Differences in legacy and target architectures are huge, not limited to the programming languages • Legacy code usually grew over years collecting many add-ons and workarounds, has obsolete portions1), etc. • Such a real world legacy application automatically transformed, will it be - Lean, contain maintainable and performant code? - Future ready for cloud oriented architectures? 1) There are software tools that can identify obsolete (unused) code, even unused portions of the UI
  • 15. ADF – Faces, Task Flows and Business Components ✅ Advanced and powerful features (Task flows, ADF Business Components, ...) ✅ Moves focus of development from technology to business requirements ✅ Follows industry standards like JEE and JSF ✅ Support by large software vendor ❌ Partially proprietary (Binding layer, ADF BC,...) ❌ JSF Technology stack aged ❌ Heavy weight, performance issues possible ❌ License costs ❌ Lack of proficient ADF developers ❓ Commitment by Oracle? When the learning curve has been consumed, building Applications with ADF can be very efficient. But this comes with a price tag and the future of the framework is uncertain.
  • 16. JavaScript based � Is JSF still relevant? Read this opinion: https://www.javabullets.com/is-jsf-still-relevant ❗ The JavaScript framework scene is fast moving Considerations ❓ Learning curve ❓ Creates maintainable code even for large projects ❓ Component library contained or available ❓ Performance ❓ (Projected) Market share ❓ Support and Community
  • 17. Application Express (APEX) • Part of the Oracle Database • Highly declarative web application development Pros: ✅ Supports agile development ✅ Delivers fast results, contains many standard patterns (menus, forms, master/detail data views, security) ✅ No additional license costs on top of Oracle database license Cons: ❌ Highly proprietary ❌ Strictly dependent on Oracle Database (vendor lock) ❌ Lack of scalability and layer/API based architectural approach ❌ Security considerations It is amazing, how quite powerful applications can be built with APEX in between short time even with small knowledge of coding. But finally everything comes with a price.
  • 18. Transition Roadmap Analyze Existing Architecture Examine Target Technologies Define Modernization Scope Design the Services Design the Presentation Layer
  • 19. Define Modernization Scope ● Identify screens and modules required for migration • Functionality not available in Forms (i.e. for mobile devices) • Strategic • Other ● Identify related modules building a business process • Technically by code references • Logically by user navigation (navigation flow) ● Migrate identified modules to target architecture ● Build supporting new interfaces and workflows based on requirements New interfaces and workflows
  • 20. Transition Roadmap Analyze Existing Architecture Examine Target Technologies Define Modernization Scope Design the Services Design the Presentation Layer
  • 21. Design the Services Service Categories • Administrative (authentication, authorization, …) • CRUD operations – data retrieval, entry and change • Validation • Invoke other systems as services (reporting, interfaces, …) Implementation • PL/SQL procedure • ADF Business Component • Web Service (can be based on PL/SQL, ADF BC, Java) A unified service layer would be ideal, but not all frontends will be compatible. Forms or JSF can be bound to REST only with high effort, a vendor interface may accept a specific XML format ... So the services will remain a mix of different technologies based on the consumer’s requirements.
  • 22. Extracting Business Logic • Extract PL/SQL from Forms into database stored procedures if they act like services. • Criteria for an ideal extracted stored procedure: - Can its purpose be described like a use case? Examples: 'Get contract details' 'Update stock amount' 'Create new warehouse’ - Does it represent or encapsulate a database transaction, or is it strictly read only? - Is it reusable across screens or applications? - Can given input and expected output be documented across scenarios? - Can it be (automatically) tested with a set of defined test cases? • Most questions answered with - Yes? Great candidate for a database driven service! - No? Consider refactoring with extraction. Why should you keep and maintain components in your architecture when you don't know exactly what they do? There are tools capable of automatic Forms PL/SQL extraction to the database. They can speed up extraction but have to be used with caution as they will do it one-to-one.
  • 24. Thinking about Transactions (2) ● The Forms database centric architecture uses transactions and guarantees data consistency out of the box ● ADF Business components can emulate the transaction based approach ● The standard REST approach maps http methods (GET, PUT, …) one on one to CRUD/DML database operations (UPDATE …) ● Scenarios where a use case contains more than one CRUD/DML operation in one transaction need a more customized service implementation, ● Alternative Approach: Abandon full data consistency
  • 25. Authentication and Authorization Legacy • Named database users and assigned database roles are common in Forms applications Modernization Strategies • Make database users and roles available to services • Migrate users and roles to a new access control service • PL/SQL Code with references needs rework if it contains references to USER or database roles or • Consider connection via named proxy user
  • 26. Transition Roadmap Analyze Existing Architecture Examine Target Technologies Define Modernization Scope Design the Services Design the Presentation Layer
  • 27. Design the Presentation Layer • Design for Desktop and/or Mobile devices • Unified or separate? • UI frame organization: • Menu • Tabs • Or: New approach optimized for mobile devices • Navigation and navigation rules between views • View design
  • 28. Reporting • Replace deprecated Oracle Reports • BI Publisher, Jasper Reports, … • Check for obsolete reports • Align with current business requirements • Reports still required as static paper/PDF output? • Consider alternative and contemporary ways of presentation i.e. interactive dashboards • Design integration with target architecture • If static (PDF) output is still required: • Asynchronous generation – notify recipient of result like success or failure • Delivery method to the recipient Reporting is easily underestimated in implementation and modernization projects. Quite surprising as the efforts can be significant. This slide is just a starting point.
  • 29. Target Architecture Scenario ● Choose (or keep) the technologies that meet your needs ● No new developments in technologies you mark as deprecated for your organization ● Web Services (REST) are the glue for modern architectures ● Gradually evolve to a Cloud / PaaS / SaaS ready architecture
  • 30. Related Topics Down The Road • Forms modernization • Oracle Application Express (APEX) • Interaction between Oracle Forms and web applications • Security
  • 31. Summary • Forms (12c) applications can comfortably exist in a current IT landscape. • A gradual migration is possible and recommended. • This is just the beginning. Continuous learning is part of the game. Please share your opinion and experience! mail@kaimoeller.net LinkedIn: Kai-Uwe Möller