SlideShare a Scribd company logo
1 of 42
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

What's hot

Azure Cloud Services
Azure Cloud ServicesAzure Cloud Services
Azure Cloud ServicesGuy Barrette
 
Can you build a Intranet with Modern SharePoint
Can you build a Intranet with Modern SharePointCan you build a Intranet with Modern SharePoint
Can you build a Intranet with Modern SharePointKnut Relbe-Moe [MVP, MCT]
 
What is new in pass summit 2014
What is new in pass summit 2014What is new in pass summit 2014
What is new in pass summit 2014Harry Zheng
 
The future of cloud programming
The future of cloud programmingThe future of cloud programming
The future of cloud programmingJason Straughan
 
Lieven Vandegaer from MEDIAGENIX - Orchestrating a video-on-demand pipeline w...
Lieven Vandegaer from MEDIAGENIX - Orchestrating a video-on-demand pipeline w...Lieven Vandegaer from MEDIAGENIX - Orchestrating a video-on-demand pipeline w...
Lieven Vandegaer from MEDIAGENIX - Orchestrating a video-on-demand pipeline w...camunda services GmbH
 
饿了么工作流介绍
饿了么工作流介绍饿了么工作流介绍
饿了么工作流介绍Zhongke Chen
 
Introduction To Serverless Architecture
Introduction To Serverless ArchitectureIntroduction To Serverless Architecture
Introduction To Serverless ArchitectureBen Sherman
 
Lego bricks of cloud applications
Lego bricks of cloud applicationsLego bricks of cloud applications
Lego bricks of cloud applicationsAhmed Soliman
 
Architecture - why so serious?
Architecture - why so serious?Architecture - why so serious?
Architecture - why so serious?Barbara Fusinska
 
Kickstart android development with xamarin
Kickstart android development with xamarinKickstart android development with xamarin
Kickstart android development with xamarinFoyzul Karim
 
ASAS 2013 - Space-based architecture: Linear scalability? High throughput? Lo...
ASAS 2013 - Space-based architecture: Linear scalability? High throughput? Lo...ASAS 2013 - Space-based architecture: Linear scalability? High throughput? Lo...
ASAS 2013 - Space-based architecture: Linear scalability? High throughput? Lo...Avisi B.V.
 
Economia AWS Journey
Economia AWS  Journey Economia AWS  Journey
Economia AWS Journey Stepan Burda
 
Architecture evolution
Architecture evolutionArchitecture evolution
Architecture evolutionamit bezalel
 
How to automate the SharePoint Provisioning
How to automate the SharePoint Provisioning How to automate the SharePoint Provisioning
How to automate the SharePoint Provisioning Knut Relbe-Moe [MVP, MCT]
 
VMware VCP7-DTM: More than just Horizon View
VMware VCP7-DTM: More than just Horizon ViewVMware VCP7-DTM: More than just Horizon View
VMware VCP7-DTM: More than just Horizon ViewMatt Crape
 
Moving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScaleMoving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScalemmoline
 
The Journey To Serverless At Home24 - reflections and insights
The Journey To Serverless At Home24 - reflections and insights The Journey To Serverless At Home24 - reflections and insights
The Journey To Serverless At Home24 - reflections and insights AWS Germany
 
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...IndicThreads
 
WebsitePerformance
WebsitePerformanceWebsitePerformance
WebsitePerformanceVivek Jain
 

What's hot (20)

Azure Cloud Services
Azure Cloud ServicesAzure Cloud Services
Azure Cloud Services
 
Can you build a Intranet with Modern SharePoint
Can you build a Intranet with Modern SharePointCan you build a Intranet with Modern SharePoint
Can you build a Intranet with Modern SharePoint
 
What is new in pass summit 2014
What is new in pass summit 2014What is new in pass summit 2014
What is new in pass summit 2014
 
The future of cloud programming
The future of cloud programmingThe future of cloud programming
The future of cloud programming
 
Lieven Vandegaer from MEDIAGENIX - Orchestrating a video-on-demand pipeline w...
Lieven Vandegaer from MEDIAGENIX - Orchestrating a video-on-demand pipeline w...Lieven Vandegaer from MEDIAGENIX - Orchestrating a video-on-demand pipeline w...
Lieven Vandegaer from MEDIAGENIX - Orchestrating a video-on-demand pipeline w...
 
Windows Azure introduction
Windows Azure introductionWindows Azure introduction
Windows Azure introduction
 
饿了么工作流介绍
饿了么工作流介绍饿了么工作流介绍
饿了么工作流介绍
 
Introduction To Serverless Architecture
Introduction To Serverless ArchitectureIntroduction To Serverless Architecture
Introduction To Serverless Architecture
 
Lego bricks of cloud applications
Lego bricks of cloud applicationsLego bricks of cloud applications
Lego bricks of cloud applications
 
Architecture - why so serious?
Architecture - why so serious?Architecture - why so serious?
Architecture - why so serious?
 
Kickstart android development with xamarin
Kickstart android development with xamarinKickstart android development with xamarin
Kickstart android development with xamarin
 
ASAS 2013 - Space-based architecture: Linear scalability? High throughput? Lo...
ASAS 2013 - Space-based architecture: Linear scalability? High throughput? Lo...ASAS 2013 - Space-based architecture: Linear scalability? High throughput? Lo...
ASAS 2013 - Space-based architecture: Linear scalability? High throughput? Lo...
 
Economia AWS Journey
Economia AWS  Journey Economia AWS  Journey
Economia AWS Journey
 
Architecture evolution
Architecture evolutionArchitecture evolution
Architecture evolution
 
How to automate the SharePoint Provisioning
How to automate the SharePoint Provisioning How to automate the SharePoint Provisioning
How to automate the SharePoint Provisioning
 
VMware VCP7-DTM: More than just Horizon View
VMware VCP7-DTM: More than just Horizon ViewVMware VCP7-DTM: More than just Horizon View
VMware VCP7-DTM: More than just Horizon View
 
Moving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScaleMoving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScale
 
The Journey To Serverless At Home24 - reflections and insights
The Journey To Serverless At Home24 - reflections and insights The Journey To Serverless At Home24 - reflections and insights
The Journey To Serverless At Home24 - reflections and insights
 
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...
 
WebsitePerformance
WebsitePerformanceWebsitePerformance
WebsitePerformance
 

Viewers also liked

ADF Development Survival Kit
ADF Development Survival KitADF Development Survival Kit
ADF Development Survival Kitandrejusb
 
ADF Value Proposition in 10 key points
ADF Value Proposition in 10 key pointsADF Value Proposition in 10 key points
ADF Value Proposition in 10 key pointsJaime Cid
 
ORACLE FRAMEWORK ONLINE TRAINING
ORACLE FRAMEWORK ONLINE TRAININGORACLE FRAMEWORK ONLINE TRAINING
ORACLE FRAMEWORK ONLINE TRAININGTRAINING ICON
 
Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012Zubair Ali
 
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...Amit Singh
 
Oaf development-guide
Oaf development-guideOaf development-guide
Oaf development-guide俊 朱
 
Oracle Application Technical - Hz architecture
Oracle Application Technical - Hz architectureOracle Application Technical - Hz architecture
Oracle Application Technical - Hz architecturePrasad V
 
ADF Mythbusters UKOUG'14
ADF Mythbusters UKOUG'14ADF Mythbusters UKOUG'14
ADF Mythbusters UKOUG'14andrejusb
 
Building customer relationships without being a creep Chris Hayes R2i - Gil...
Building customer relationships without being a creep   Chris Hayes R2i - Gil...Building customer relationships without being a creep   Chris Hayes R2i - Gil...
Building customer relationships without being a creep Chris Hayes R2i - Gil...Chris Hayes
 
ADF Anti-Patterns: Dangerous Tutorials
ADF Anti-Patterns: Dangerous TutorialsADF Anti-Patterns: Dangerous Tutorials
ADF Anti-Patterns: Dangerous Tutorialsandrejusb
 
Impact of Trading Community Architecture (TCA) on Oracle Receivables
Impact of Trading Community Architecture (TCA) on Oracle ReceivablesImpact of Trading Community Architecture (TCA) on Oracle Receivables
Impact of Trading Community Architecture (TCA) on Oracle ReceivablesRhapsody Technologies, Inc.
 

Viewers also liked (20)

Oracle 12c Launch Event 04 Niels Gorter Bean Data Control
Oracle 12c Launch Event 04  Niels Gorter Bean Data ControlOracle 12c Launch Event 04  Niels Gorter Bean Data Control
Oracle 12c Launch Event 04 Niels Gorter Bean Data Control
 
ADF Development Survival Kit
ADF Development Survival KitADF Development Survival Kit
ADF Development Survival Kit
 
ADF Value Proposition in 10 key points
ADF Value Proposition in 10 key pointsADF Value Proposition in 10 key points
ADF Value Proposition in 10 key points
 
37727897 Oaf Basics
37727897 Oaf Basics37727897 Oaf Basics
37727897 Oaf Basics
 
ORACLE FRAMEWORK ONLINE TRAINING
ORACLE FRAMEWORK ONLINE TRAININGORACLE FRAMEWORK ONLINE TRAINING
ORACLE FRAMEWORK ONLINE TRAINING
 
Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012
 
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
 
Oaf development-guide
Oaf development-guideOaf development-guide
Oaf development-guide
 
Tca presentation
Tca presentationTca presentation
Tca presentation
 
Oracle Application Technical - Hz architecture
Oracle Application Technical - Hz architectureOracle Application Technical - Hz architecture
Oracle Application Technical - Hz architecture
 
Extensions in OAF
Extensions in OAF Extensions in OAF
Extensions in OAF
 
ADF Mythbusters UKOUG'14
ADF Mythbusters UKOUG'14ADF Mythbusters UKOUG'14
ADF Mythbusters UKOUG'14
 
Oracle TCA 101
Oracle TCA 101Oracle TCA 101
Oracle TCA 101
 
Oaf personalization examples
Oaf personalization examplesOaf personalization examples
Oaf personalization examples
 
Building customer relationships without being a creep Chris Hayes R2i - Gil...
Building customer relationships without being a creep   Chris Hayes R2i - Gil...Building customer relationships without being a creep   Chris Hayes R2i - Gil...
Building customer relationships without being a creep Chris Hayes R2i - Gil...
 
ADF Anti-Patterns: Dangerous Tutorials
ADF Anti-Patterns: Dangerous TutorialsADF Anti-Patterns: Dangerous Tutorials
ADF Anti-Patterns: Dangerous Tutorials
 
Oaf personaliztion examples
Oaf personaliztion examplesOaf personaliztion examples
Oaf personaliztion examples
 
Oracle ADF Case Study
Oracle ADF Case StudyOracle ADF Case Study
Oracle ADF Case Study
 
Impact of Trading Community Architecture (TCA) on Oracle Receivables
Impact of Trading Community Architecture (TCA) on Oracle ReceivablesImpact of Trading Community Architecture (TCA) on Oracle Receivables
Impact of Trading Community Architecture (TCA) on Oracle Receivables
 
Oracle application framework (oaf) online training
Oracle application framework (oaf) online trainingOracle application framework (oaf) online training
Oracle application framework (oaf) online training
 

Similar to 10 lessons learned from migrating Oracle Forms to ADF

Transitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTransitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTechWell
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP120bi
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsAchievers Tech
 
Workplace Simulated Courses - Course Technology Computing Conference
Workplace Simulated Courses - Course Technology Computing ConferenceWorkplace Simulated Courses - Course Technology Computing Conference
Workplace Simulated Courses - Course Technology Computing ConferenceCengage Learning
 
Lessons Learned From Cloud Migrations
Lessons Learned From Cloud MigrationsLessons Learned From Cloud Migrations
Lessons Learned From Cloud MigrationsMandi Walls
 
Kylin Engineering Principles
Kylin Engineering PrinciplesKylin Engineering Principles
Kylin Engineering PrinciplesXu Jiang
 
Using the Kanban Method with Team Foundation Server
Using the Kanban Method with Team Foundation ServerUsing the Kanban Method with Team Foundation Server
Using the Kanban Method with Team Foundation ServerImaginet
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedAlexander Makarov
 
1-Lec - Introduction vhvv,vbvv,v (2).ppt
1-Lec - Introduction vhvv,vbvv,v (2).ppt1-Lec - Introduction vhvv,vbvv,v (2).ppt
1-Lec - Introduction vhvv,vbvv,v (2).pptAqeelAbbas94
 
Core Agility Workout - AgileIndy 2015
Core Agility Workout - AgileIndy 2015Core Agility Workout - AgileIndy 2015
Core Agility Workout - AgileIndy 2015Matt Block, CSP
 
Introducing Pair Programming
Introducing Pair ProgrammingIntroducing Pair Programming
Introducing Pair ProgrammingSteven Smith
 
Approaches to Kanban with Microsoft Team Foundation Server (TFS) Dec 6-2012
Approaches to Kanban with Microsoft Team Foundation Server (TFS)  Dec 6-2012Approaches to Kanban with Microsoft Team Foundation Server (TFS)  Dec 6-2012
Approaches to Kanban with Microsoft Team Foundation Server (TFS) Dec 6-2012Imaginet
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?Rob Brown
 
Minimal Viable Architecture - Silicon Slopes 2020
Minimal Viable Architecture - Silicon Slopes 2020Minimal Viable Architecture - Silicon Slopes 2020
Minimal Viable Architecture - Silicon Slopes 2020Randy Shoup
 
Tales from the Platform Trade
Tales from the Platform TradeTales from the Platform Trade
Tales from the Platform TradeWilliam Grosso
 

Similar to 10 lessons learned from migrating Oracle Forms to ADF (20)

Software development fundamentals
Software development fundamentalsSoftware development fundamentals
Software development fundamentals
 
Transitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTransitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to Practice
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web Applications
 
How to do b tech be projects or any academic projects
How to do b tech be projects or any academic projectsHow to do b tech be projects or any academic projects
How to do b tech be projects or any academic projects
 
Afganistan Culture Shock
Afganistan Culture ShockAfganistan Culture Shock
Afganistan Culture Shock
 
Workplace Simulated Courses - Course Technology Computing Conference
Workplace Simulated Courses - Course Technology Computing ConferenceWorkplace Simulated Courses - Course Technology Computing Conference
Workplace Simulated Courses - Course Technology Computing Conference
 
Lessons Learned From Cloud Migrations
Lessons Learned From Cloud MigrationsLessons Learned From Cloud Migrations
Lessons Learned From Cloud Migrations
 
Kylin Engineering Principles
Kylin Engineering PrinciplesKylin Engineering Principles
Kylin Engineering Principles
 
Using the Kanban Method with Team Foundation Server
Using the Kanban Method with Team Foundation ServerUsing the Kanban Method with Team Foundation Server
Using the Kanban Method with Team Foundation Server
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developed
 
1-Lec - Introduction vhvv,vbvv,v (2).ppt
1-Lec - Introduction vhvv,vbvv,v (2).ppt1-Lec - Introduction vhvv,vbvv,v (2).ppt
1-Lec - Introduction vhvv,vbvv,v (2).ppt
 
Core Agility Workout - AgileIndy 2015
Core Agility Workout - AgileIndy 2015Core Agility Workout - AgileIndy 2015
Core Agility Workout - AgileIndy 2015
 
Scrum intro
Scrum intro Scrum intro
Scrum intro
 
Introducing Pair Programming
Introducing Pair ProgrammingIntroducing Pair Programming
Introducing Pair Programming
 
Approaches to Kanban with Microsoft Team Foundation Server (TFS) Dec 6-2012
Approaches to Kanban with Microsoft Team Foundation Server (TFS)  Dec 6-2012Approaches to Kanban with Microsoft Team Foundation Server (TFS)  Dec 6-2012
Approaches to Kanban with Microsoft Team Foundation Server (TFS) Dec 6-2012
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?
 
Minimal Viable Architecture - Silicon Slopes 2020
Minimal Viable Architecture - Silicon Slopes 2020Minimal Viable Architecture - Silicon Slopes 2020
Minimal Viable Architecture - Silicon Slopes 2020
 
Tales from the Platform Trade
Tales from the Platform TradeTales from the Platform Trade
Tales from the Platform Trade
 
R Studio Conference
R Studio Conference R Studio Conference
R Studio Conference
 

More from Getting value from IoT, Integration and Data Analytics

More from Getting value from IoT, Integration and Data Analytics (20)

AMIS Oracle OpenWorld en Code One Review 2018 - Blockchain, Integration, Serv...
AMIS Oracle OpenWorld en Code One Review 2018 - Blockchain, Integration, Serv...AMIS Oracle OpenWorld en Code One Review 2018 - Blockchain, Integration, Serv...
AMIS Oracle OpenWorld en Code One Review 2018 - Blockchain, Integration, Serv...
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaSAMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Data
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: DataAMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Data
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Data
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Cloud Infrastructure
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Cloud Infrastructure AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Cloud Infrastructure
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Cloud Infrastructure
 
10 tips voor verbetering in je Linkedin profiel
10 tips voor verbetering in je Linkedin profiel10 tips voor verbetering in je Linkedin profiel
10 tips voor verbetering in je Linkedin profiel
 
Iot in de zorg the next step - fit for purpose
Iot in de zorg   the next step - fit for purpose Iot in de zorg   the next step - fit for purpose
Iot in de zorg the next step - fit for purpose
 
Iot overview .. Best practices and lessons learned by Conclusion Conenct
Iot overview .. Best practices and lessons learned by Conclusion Conenct Iot overview .. Best practices and lessons learned by Conclusion Conenct
Iot overview .. Best practices and lessons learned by Conclusion Conenct
 
IoT Fit for purpose - how to be successful in IOT Conclusion Connect
IoT Fit for purpose - how to be successful in IOT Conclusion Connect IoT Fit for purpose - how to be successful in IOT Conclusion Connect
IoT Fit for purpose - how to be successful in IOT Conclusion Connect
 
Industry and IOT Overview of protocols and best practices Conclusion Connect
Industry and IOT Overview of protocols and best practices  Conclusion ConnectIndustry and IOT Overview of protocols and best practices  Conclusion Connect
Industry and IOT Overview of protocols and best practices Conclusion Connect
 
IoT practical case using the people counter sensing traffic density build usi...
IoT practical case using the people counter sensing traffic density build usi...IoT practical case using the people counter sensing traffic density build usi...
IoT practical case using the people counter sensing traffic density build usi...
 
R introduction decision_trees
R introduction decision_treesR introduction decision_trees
R introduction decision_trees
 
Introduction overviewmachinelearning sig Door Lucas Jellema
Introduction overviewmachinelearning sig Door Lucas JellemaIntroduction overviewmachinelearning sig Door Lucas Jellema
Introduction overviewmachinelearning sig Door Lucas Jellema
 
IoT and the Future of work
IoT and the Future of work IoT and the Future of work
IoT and the Future of work
 
Oracle OpenWorld 2017 Review (31st October 2017 - 250 slides)
Oracle OpenWorld 2017 Review (31st October 2017 - 250 slides)Oracle OpenWorld 2017 Review (31st October 2017 - 250 slides)
Oracle OpenWorld 2017 Review (31st October 2017 - 250 slides)
 
Ethereum smart contracts - door Peter Reitsma
Ethereum smart contracts - door Peter ReitsmaEthereum smart contracts - door Peter Reitsma
Ethereum smart contracts - door Peter Reitsma
 
Blockchain - Techniek en usecases door Robert van Molken - AMIS - Conclusion
Blockchain - Techniek en usecases door Robert van Molken - AMIS - ConclusionBlockchain - Techniek en usecases door Robert van Molken - AMIS - Conclusion
Blockchain - Techniek en usecases door Robert van Molken - AMIS - Conclusion
 
kennissessie blockchain - Wat is Blockchain en smart contracts @Conclusion
kennissessie blockchain -  Wat is Blockchain en smart contracts @Conclusion kennissessie blockchain -  Wat is Blockchain en smart contracts @Conclusion
kennissessie blockchain - Wat is Blockchain en smart contracts @Conclusion
 
Internet of Things propositie - Enterprise IOT - AMIS - Conclusion
Internet of Things propositie - Enterprise IOT - AMIS - Conclusion Internet of Things propositie - Enterprise IOT - AMIS - Conclusion
Internet of Things propositie - Enterprise IOT - AMIS - Conclusion
 
Omc AMIS evenement 26012017 Dennis van Soest
Omc AMIS evenement 26012017 Dennis van SoestOmc AMIS evenement 26012017 Dennis van Soest
Omc AMIS evenement 26012017 Dennis van Soest
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

10 lessons learned from migrating Oracle 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_