SlideShare a Scribd company logo
Luc Bors, 26-mar-2013, OBUG Connect Antwerpen
10 lessons learned
Real Life Forms to ADF
Who Am I
• Luc Bors
• Principal Consultant
• AMIS Nieuwegein Netherlands
• Friends of Oracle & Java
• 5 Oracle ACE(D)
• Oracle Partner
Where Are You Now ?
• HUGE Forms investment
• Mission critical, complex systems
• Low maintenance, stable system for over 10 years
• Mostly undocumented systems
• VERY fast productive development
• Trained developer pool
• Looking to leverage the existing investment
Where Do We Want to Go ?
Some Modernization Projects
Most Recent Project
• Ministry of Security and Justice
• Application >20 years old
• Decentralized architecture (19x)
• Approx. 2.000 users
• 1 million cases per year
• 10.000-15.000 letters per day
Modernization Project Triggers
• Very old technical environment(end-of-life)
• Maintenance is expensive
• Staffing is difficult
• Architecture not flexible
• Need to be ready for the future
Distributed Architecture
• 19 distributed implemenations• 1 central implemenation
• Less Hardware
• Less Administrators
• Less Duplicate Data
• More Insight
• More Control
Centralized system
Forms Application
• Forms 4.5 / Reports 2.5
• Character mode
• Terminal Emulation
• Enables Macros !
• Desupport 31 December 2003
• Runs since 1991 …
Not Really Web 2.0 ……………
Web 2.0 !
Web 2.0 !
IST - SOLL
• Character Mode
• Distributed
• Data Duplication
• 250 Modules
• 90 Reports
• 15’’ Monitors
• Application
• Web Technology
• Centralized
• Data Standardization
• < 100 Modules
• 50 Reports
• 24’’ Monitors
• Platform
What did we Learn ?
Lesson 1: The Right Size
• Think Big Start Small.
• Don’t be Tempted.
• Use Small PoC !
Lesson 1: The Right Size
Lesson 1: The Right Size
• Application Architecture
• Taskflow with page fragment and per
Taskflow 1 page with 1 static region
• All in one big workspace
– Or
• Taskflow with page fragment and per
Application 1 page with 1 dynamic
region
• Use separate workspaces
Lesson 2 : Don’t Copy Paste
• Migrate “As-is” …… ??
• Don’t try to copy forms functionality
– Know your ADF Faces Components
• Forms Built-ins are not available in ADF
and PL/SQL is not Java. Your options:
– Whenever possible
• transfer to DB
– Whenever lucky
• Use a declarative or zero code ADF Alternative
– Otherwise
• Code Java Alternative
Lesson 2 : Don’t Copy Paste
• Forms code for:
– Buttons
– Canvasses
– Navigation
• ADF code for:
– None of the above
Lesson 3 : Involve People
• Grumpy Old Men
• Talk with all People involved in
the project
• Let them know what you are
doing
• Let them decide what goes in
and what not
Lesson 3 : Involve People
• Include operational team
• Infrastructure (DTAP) : Ready on Time
• Don’t underestimate WebLogic configuration
• SSO via MS-AD
Lesson 4 : Hire Experts
• Training is not enough.
• Steep learning curve
– Don’t mix in regular work
– Long “Conscious Incompetence”
phase: motivational dip
• Hire Experts 0
1
2
3
4
5
Week
1
Week
20
Week
30
Week
40
Week
52
Next
Year
Even
Later
Imaginary ADF Learning
Curve
Lesson 4 : Hire Experts
“The cheapest ADF Consultant is
the one with the highest hourly rate”
Lesson 5: Planning & Process
• Scrum
• Predictable Results
• Short Cycles
Lesson 5: Planning & Process
• Short Development Cycles
– Easy to Adjust
– Easy to Demo
– Nearby Goals
Sprint 1 Sprint 2 Sprint 3
2 weeks 2 weeks 2 weeks
Demo
Demo
Demo
Lesson 6 : Think Performance
• Performance First, not Last
• Might look good, however….
• Consider Tools
• …. And Watch Now Carefully !
Lesson 6 : Think Performance
• ViewObject queries caused by unintentionally left iterators in pageDefs
• Iterator bindings can still be refreshed and the ViewObject
unnecessary executed - for example when you have Refresh=“ifNeeded”)
Lesson 6 : Think Performance
• Oracle’s Default Values Do Not
Always Rock !
– ViewObject fetchMode and
fetchSize are underestimated
properties and have big
performance impact
– The default value is 1 - will give
poor performance (unless only one
row will be fetched)
Lesson 6 : Think Performance
• Too much data in ADFBC memory…………..
• Try to avoid loading more database rows than you need
• Be careful if you really do need to load a proportional number
of database rows
Lesson 6 : Think Performance
Lesson 7: Business Rules
• The $ 1.000.000 Question
Lesson 7: Business Rules
• Business Components is not Always the Best Place !
• For employees with a Job (attribute value) equal to
SALESMAN the value of the Salary attribute should not be
higher than 2500.
• The difference between the maximum salary for all
employees with the same job and their average salary may
not exceed 30% of the average salary
Lesson 7: Business Rules
Hey, I can do ADF !
We can’t……….
….. But we can do
PL/SQL
Lesson 8: Documentation ?
Lesson 8: Documentation !
• *.fmb are not Documentation !
• Provide proper Documentation
• It is a Valid Investment
• Create a Cookbook
– Architectural issues
– Development How to‘s
Lesson 9: Automated Migration
• Automated migration is not easy.
– You can run into issues that an automated tool cannot handle
– You still need to re-code forms triggers (PL/SQL)
• JHeadstart Forms2ADF ?
– Not Really on Option
• Automated migration doesn’t exist.
Lesson 10: Keep up the Pace
Lesson 10: Keep up the Pace
• Service Oriented Architecture
• Business Process Management
• Service Bus
• Mobile
Lesson 10: Keep up the Pace
Summary
• Lesson 1: The Right Size
• Lesson 2: Don’t Copy Paste
• Lesson 3: Involve People
• Lesson 4: Hire Experts
• Lesson 5: Planning & Process
• Lesson 6: Think Performance
• Lesson 7: Business Rules
• Lesson 8: Documentation
• Lesson 9: No Automation
• Lesson 10: Keep Up the Pace
Luc Bors, AMIS, The Netherlands
Luc.Bors@amis.nl
LucBors@gmail.com
Follow me on : @lucb_

More Related Content

PDF
Intro to our CSM Course & Agile Release Planning workshop
PPTX
How Flow Can Help You Become a Developer
PPTX
An Agile Approach to Machine Learning
PPTX
Agile pm lect1
PPTX
Minimum Viable Architecture - Good Enough is Good Enough
PPTX
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
PPTX
Moving Fast at Scale
PDF
Optimera STHLM 2011 - Mikael Berggren, Spotify
Intro to our CSM Course & Agile Release Planning workshop
How Flow Can Help You Become a Developer
An Agile Approach to Machine Learning
Agile pm lect1
Minimum Viable Architecture - Good Enough is Good Enough
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
Moving Fast at Scale
Optimera STHLM 2011 - Mikael Berggren, Spotify

What's hot (18)

PPTX
DevOps - It's About How We Work
PPTX
Skype goes agile
PPTX
The Importance of Culture: Building and Sustaining Effective Engineering Org...
PDF
Intro to Pecha Kucha
PPT
How to do b tech be projects or any academic projects
ODP
Devops in with the old, in with the new
PDF
Tales from the Platform Trade
PDF
Lean and Kanban. CMU lecture (2015)
PPTX
Collaboration tools features to consider
PPTX
Workflow solutions best practices and mistakes to avoid
PPTX
Flowcon2013 - Virtuous Cycles of Velocity: What I Learned About Going Fast at...
POT
Jordan walters
PPTX
Handling Waterfall Nostalgia when Moving to Agile
PPTX
The Fundamentals of Continuous Software Design
KEY
Agile tour agile development
PPTX
DOES15 - Randy Shoup - Ten (Hard-Won) Lessons of the DevOps Transition
PDF
Teaching Devs How to Love Independence and Own Their Environments
PDF
Transitioning to Kanban: From Theory to Practice
DevOps - It's About How We Work
Skype goes agile
The Importance of Culture: Building and Sustaining Effective Engineering Org...
Intro to Pecha Kucha
How to do b tech be projects or any academic projects
Devops in with the old, in with the new
Tales from the Platform Trade
Lean and Kanban. CMU lecture (2015)
Collaboration tools features to consider
Workflow solutions best practices and mistakes to avoid
Flowcon2013 - Virtuous Cycles of Velocity: What I Learned About Going Fast at...
Jordan walters
Handling Waterfall Nostalgia when Moving to Agile
The Fundamentals of Continuous Software Design
Agile tour agile development
DOES15 - Randy Shoup - Ten (Hard-Won) Lessons of the DevOps Transition
Teaching Devs How to Love Independence and Own Their Environments
Transitioning to Kanban: From Theory to Practice
Ad

Viewers also liked (12)

PDF
Oracle ADF Mobile OGh (Oracle User Group Netherlands)
PDF
Doag wysiwyg
PDF
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
PPTX
ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΥΛΙΚΟΥ
PDF
ADF Essentials (KScope14)
PPTX
How to Bring Common UI Patterns to ADF
PPS
Profesiones
PDF
Real Life MAF (2.2) Oracle Open World 2015
PPTX
Real life-maf-2015
PPTX
Ppt pk
PDF
ADF Mobile: 10 Things you don't get from the developers guide
PDF
MAF push notifications
Oracle ADF Mobile OGh (Oracle User Group Netherlands)
Doag wysiwyg
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΥΛΙΚΟΥ
ADF Essentials (KScope14)
How to Bring Common UI Patterns to ADF
Profesiones
Real Life MAF (2.2) Oracle Open World 2015
Real life-maf-2015
Ppt pk
ADF Mobile: 10 Things you don't get from the developers guide
MAF push notifications
Ad

Similar to Real life forms to adf (20)

DOCX
Oracle adf online training
PDF
Oracle ADF Hands-on Lab Practices
PDF
Oracle ADF Tutorial
PPTX
...and thus your forms automagically disappeared
DOC
Resume Chronological
PPT
00CourseIntro_00CourseIntro_00CourseIntro.ppt
DOCX
Best Weblogic Server Online Training
PDF
Guidelines for moving from Oracle Forms to Oracle ADF and SOA
PDF
D17251 gc20 47_us
DOC
Rohit chaturvedi
PDF
Oracle ADF Tutorial/Training Study Guide
PDF
Adf coursecontent(1)
PDF
Build application with adf framework
DOCX
Oracle Application Development Frame Work (ADF) Online Training
PPTX
Making Cool Apps from Kits with Java, Oracle ADF, & UX Design Patterns
PDF
Programming-best practices( beginner) ADF_fusionapps
PPT
PPTX
Oracle Forms Modernization Roadmap
PDF
Oracle ADF Architecture TV - Development - Programming Best Practices
Oracle adf online training
Oracle ADF Hands-on Lab Practices
Oracle ADF Tutorial
...and thus your forms automagically disappeared
Resume Chronological
00CourseIntro_00CourseIntro_00CourseIntro.ppt
Best Weblogic Server Online Training
Guidelines for moving from Oracle Forms to Oracle ADF and SOA
D17251 gc20 47_us
Rohit chaturvedi
Oracle ADF Tutorial/Training Study Guide
Adf coursecontent(1)
Build application with adf framework
Oracle Application Development Frame Work (ADF) Online Training
Making Cool Apps from Kits with Java, Oracle ADF, & UX Design Patterns
Programming-best practices( beginner) ADF_fusionapps
Oracle Forms Modernization Roadmap
Oracle ADF Architecture TV - Development - Programming Best Practices

More from Luc Bors (18)

PDF
Talk to me Goose: Going beyond your regular Chatbot
PDF
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
PDF
NO CODE : Or How to Extend Oracle SaaS with Oracle Visual Builder Cloud Service
PDF
Real life-maf-2015-k scope-final
PDF
Reaching out from ADF Mobile (ODTUG KScope 2014)
PDF
OgH Data Visualization Special Part III
PDF
OgH Data Visualization Special Part II
PDF
OgH Data Visualization Special Part I
PDF
amis-adf-enterprise-mobility
PDF
Oracle day 2014-mobile-customer-case
PDF
Oracle MAF real life OOW.pptx
PPTX
oow2013-adf-mo-bi-le
PDF
Goodbye Nightmare : Tops and Tricks for creating Layouts
PDF
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADF
PDF
ADF Mobile : Best Practices for Developing Applications with Oracle ADF Mobile
PPTX
ADF Mobile - an intro for Developers
PPTX
An ADF Special Report
PPTX
Odtug2011 adf developers make the database work for you
Talk to me Goose: Going beyond your regular Chatbot
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
NO CODE : Or How to Extend Oracle SaaS with Oracle Visual Builder Cloud Service
Real life-maf-2015-k scope-final
Reaching out from ADF Mobile (ODTUG KScope 2014)
OgH Data Visualization Special Part III
OgH Data Visualization Special Part II
OgH Data Visualization Special Part I
amis-adf-enterprise-mobility
Oracle day 2014-mobile-customer-case
Oracle MAF real life OOW.pptx
oow2013-adf-mo-bi-le
Goodbye Nightmare : Tops and Tricks for creating Layouts
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADF
ADF Mobile : Best Practices for Developing Applications with Oracle ADF Mobile
ADF Mobile - an intro for Developers
An ADF Special Report
Odtug2011 adf developers make the database work for you

Recently uploaded (20)

PDF
KodekX | Application Modernization Development
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Approach and Philosophy of On baking technology
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Empathic Computing: Creating Shared Understanding
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPT
Teaching material agriculture food technology
PDF
cuic standard and advanced reporting.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
KodekX | Application Modernization Development
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Weekly Chronicles - August'25 Week I
Digital-Transformation-Roadmap-for-Companies.pptx
Understanding_Digital_Forensics_Presentation.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Network Security Unit 5.pdf for BCA BBA.
Approach and Philosophy of On baking technology
sap open course for s4hana steps from ECC to s4
Empathic Computing: Creating Shared Understanding
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Teaching material agriculture food technology
cuic standard and advanced reporting.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Building Integrated photovoltaic BIPV_UPV.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
20250228 LYD VKU AI Blended-Learning.pptx
MYSQL Presentation for SQL database connectivity
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Real life forms to adf

  • 1. Luc Bors, 26-mar-2013, OBUG Connect Antwerpen 10 lessons learned Real Life Forms to ADF
  • 2. Who Am I • Luc Bors • Principal Consultant • AMIS Nieuwegein Netherlands • Friends of Oracle & Java • 5 Oracle ACE(D) • Oracle Partner
  • 3. Where Are You Now ? • HUGE Forms investment • Mission critical, complex systems • Low maintenance, stable system for over 10 years • Mostly undocumented systems • VERY fast productive development • Trained developer pool • Looking to leverage the existing investment
  • 4. Where Do We Want to Go ?
  • 6. Most Recent Project • Ministry of Security and Justice • Application >20 years old • Decentralized architecture (19x) • Approx. 2.000 users • 1 million cases per year • 10.000-15.000 letters per day
  • 7. Modernization Project Triggers • Very old technical environment(end-of-life) • Maintenance is expensive • Staffing is difficult • Architecture not flexible • Need to be ready for the future
  • 8. Distributed Architecture • 19 distributed implemenations• 1 central implemenation • Less Hardware • Less Administrators • Less Duplicate Data • More Insight • More Control
  • 10. Forms Application • Forms 4.5 / Reports 2.5 • Character mode • Terminal Emulation • Enables Macros ! • Desupport 31 December 2003 • Runs since 1991 …
  • 11. Not Really Web 2.0 ……………
  • 14. IST - SOLL • Character Mode • Distributed • Data Duplication • 250 Modules • 90 Reports • 15’’ Monitors • Application • Web Technology • Centralized • Data Standardization • < 100 Modules • 50 Reports • 24’’ Monitors • Platform
  • 15. What did we Learn ?
  • 16. Lesson 1: The Right Size • Think Big Start Small. • Don’t be Tempted. • Use Small PoC !
  • 17. Lesson 1: The Right Size
  • 18. Lesson 1: The Right Size • Application Architecture • Taskflow with page fragment and per Taskflow 1 page with 1 static region • All in one big workspace – Or • Taskflow with page fragment and per Application 1 page with 1 dynamic region • Use separate workspaces
  • 19. Lesson 2 : Don’t Copy Paste • Migrate “As-is” …… ?? • Don’t try to copy forms functionality – Know your ADF Faces Components • Forms Built-ins are not available in ADF and PL/SQL is not Java. Your options: – Whenever possible • transfer to DB – Whenever lucky • Use a declarative or zero code ADF Alternative – Otherwise • Code Java Alternative
  • 20. Lesson 2 : Don’t Copy Paste • Forms code for: – Buttons – Canvasses – Navigation • ADF code for: – None of the above
  • 21. Lesson 3 : Involve People • Grumpy Old Men • Talk with all People involved in the project • Let them know what you are doing • Let them decide what goes in and what not
  • 22. Lesson 3 : Involve People • Include operational team • Infrastructure (DTAP) : Ready on Time • Don’t underestimate WebLogic configuration • SSO via MS-AD
  • 23. Lesson 4 : Hire Experts • Training is not enough. • Steep learning curve – Don’t mix in regular work – Long “Conscious Incompetence” phase: motivational dip • Hire Experts 0 1 2 3 4 5 Week 1 Week 20 Week 30 Week 40 Week 52 Next Year Even Later Imaginary ADF Learning Curve
  • 24. Lesson 4 : Hire Experts “The cheapest ADF Consultant is the one with the highest hourly rate”
  • 25. Lesson 5: Planning & Process • Scrum • Predictable Results • Short Cycles
  • 26. Lesson 5: Planning & Process • Short Development Cycles – Easy to Adjust – Easy to Demo – Nearby Goals Sprint 1 Sprint 2 Sprint 3 2 weeks 2 weeks 2 weeks Demo Demo Demo
  • 27. Lesson 6 : Think Performance • Performance First, not Last • Might look good, however…. • Consider Tools • …. And Watch Now Carefully !
  • 28. Lesson 6 : Think Performance • ViewObject queries caused by unintentionally left iterators in pageDefs • Iterator bindings can still be refreshed and the ViewObject unnecessary executed - for example when you have Refresh=“ifNeeded”)
  • 29. Lesson 6 : Think Performance • Oracle’s Default Values Do Not Always Rock ! – ViewObject fetchMode and fetchSize are underestimated properties and have big performance impact – The default value is 1 - will give poor performance (unless only one row will be fetched)
  • 30. Lesson 6 : Think Performance • Too much data in ADFBC memory………….. • Try to avoid loading more database rows than you need • Be careful if you really do need to load a proportional number of database rows
  • 31. Lesson 6 : Think Performance
  • 32. Lesson 7: Business Rules • The $ 1.000.000 Question
  • 33. Lesson 7: Business Rules • Business Components is not Always the Best Place ! • For employees with a Job (attribute value) equal to SALESMAN the value of the Salary attribute should not be higher than 2500. • The difference between the maximum salary for all employees with the same job and their average salary may not exceed 30% of the average salary
  • 34. Lesson 7: Business Rules Hey, I can do ADF ! We can’t………. ….. But we can do PL/SQL
  • 36. Lesson 8: Documentation ! • *.fmb are not Documentation ! • Provide proper Documentation • It is a Valid Investment • Create a Cookbook – Architectural issues – Development How to‘s
  • 37. Lesson 9: Automated Migration • Automated migration is not easy. – You can run into issues that an automated tool cannot handle – You still need to re-code forms triggers (PL/SQL) • JHeadstart Forms2ADF ? – Not Really on Option • Automated migration doesn’t exist.
  • 38. Lesson 10: Keep up the Pace
  • 39. Lesson 10: Keep up the Pace • Service Oriented Architecture • Business Process Management • Service Bus • Mobile
  • 40. Lesson 10: Keep up the Pace
  • 41. Summary • Lesson 1: The Right Size • Lesson 2: Don’t Copy Paste • Lesson 3: Involve People • Lesson 4: Hire Experts • Lesson 5: Planning & Process • Lesson 6: Think Performance • Lesson 7: Business Rules • Lesson 8: Documentation • Lesson 9: No Automation • Lesson 10: Keep Up the Pace
  • 42. Luc Bors, AMIS, The Netherlands Luc.Bors@amis.nl LucBors@gmail.com Follow me on : @lucb_