1. Luc Bors, 26-mar-2013, OBUG Connect Antwerpen10 lessons
learnedReal 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 ?
5. Some Modernization Projects
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
9. Centralized system
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
12. Web 2.0 !
13. 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. Dont be
Tempted. Use Small PoC !
17. Lesson 1: The Right Size
18. Lesson 1: The Right Size Application Architecture Taskflow
with page fragment and perTaskflow 1 page with 1 static region All
in one big workspace Or Taskflow with page fragment and
perApplication 1 page with 1 dynamicregion Use separate
workspaces
19. Lesson 2 : Dont Copy Paste Migrate As-is ?? Dont try to
copy forms functionality Know your ADF Faces Components Forms
Built-ins are not available in ADFand 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 : Dont 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 inthe project Let them know what you aredoing Let
them decide what goes inand what not
22. Lesson 3 : Involve People Include operational team
Infrastructure (DTAP) : Ready on Time Dont underestimate WebLogic
configuration SSO via MS-AD
23. Lesson 4 : Hire Experts Training is not enough. Steep
learning curve Dont mix in regular work Long Conscious
Incompetencephase: motivational dip Hire Experts
012345Week1Week20Week30Week40Week52NextYearEvenLaterImaginary ADF
LearningCurve
24. Lesson 4 : Hire ExpertsThe cheapest ADF Consultant isthe
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 GoalsSprint 1 Sprint 2 Sprint 32
weeks 2 weeks 2 weeksDemoDemoDemo
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 ViewObjectunnecessary executed - for
example when you have Refresh=ifNeeded)
29. Lesson 6 : Think Performance Oracles Default Values Do
NotAlways Rock ! ViewObject fetchMode andfetchSize are
underestimatedproperties and have bigperformance impact The default
value is 1 - will givepoor performance (unless only onerow 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 numberof
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
toSALESMAN the value of the Salary attribute should not behigher
than 2500. The difference between the maximum salary for
allemployees with the same job and their average salary maynot
exceed 30% of the average salary
34. Lesson 7: Business RulesHey, I can do ADF !We cant... But
we can doPL/SQL
35. Lesson 8: Documentation ?
36. Lesson 8: Documentation ! *.fmb are not Documentation !
Provide proper Documentation It is a Valid Investment Create a
Cookbook Architectural issues Development How tos
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 doesnt
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: Dont 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
[email protected]@gmail.comFollow me on :
@lucb_