SlideShare a Scribd company logo
1 of 25
Reuse in ADF applications
June 2nd 2016. Matthieu de Graaf & Frank Houweling
Write once, Use everywhere
2
Content
• Short introduction into Oracle ADF
• Reuse in Taskflows
• Reuse in the UI layer
– Crud actions
– Dynamic Save/Rollback buttons
• Reuse in the model layer
– Selection of sequences
– Executing database procedures
– Make a screen readonly in seconds
• Final example
– Global search out of the box
Frank Houweling
• Principal Java / ADF / SOA
consultant - AMIS (Netherlands)
• Focus on performance diagnosis & performance management
• Frequent speaker at Kscope, UKOUG and OOW
• Tech Lead of ADF Performance Monitor
Frank.houweling@amis.nl
Matthieu de Graaf
• Principal Java / ADF
consultant - AMIS (Netherlands)
• Focus on ADF/Database and .Net (WPF) Development
• Not so frequent speaker
Matthieu.de.graaf@amis.nl
5
Short introduction into Oracle
ADF
Application
Module
ViewController Part
Model Part
Taskflow
View Objects
Entity Objects
Application Module
Page(fragments)
Beans
Database
UI description
Dynamic behavior of UI
Business data, retrieves data
Interface to the outside world
Interface to the ViewController
Transaction management
1:1 presentation of the
database tables in the java
world
6
Reuse in the UI Layer: Taskflowtemplates
• By means of taskflow templates
• Default Structure
• Error handling
• Close actions for a popup
7
Reuse in the UI layer: TaskflowBean
Library Module
TaskflowBean
Taskflow
ModuleBean
taskflowBean
Is instantiated in
Is subclassed in
8
TaskflowBean: Utility Functions
• Contains general utility functions
– Example refresh of UI components
Page:
Bean:
this.refreshPageComponent(“buttonbarPanel");
9
TaskflowBean: Container for behaviour
of declarative components
• Container for (declarative) components
10
Container for declarative
components – pattern
Library Module
DeclCompBean
Page
TaskflowBean
Binds to
Declarative component
Can be subclassed in
ModuleDeclCompBean
Binds to
Is used in
My
Declarative
component
Default
behavior
Module specific
behavior
12
Example declarative
component
• CrudPanel: For Inserting, editing and deleting occurences
– Edit link default not shown
13
CrudBean: Add Part in the
library
14
Crud Actions: non default
behavior
15
TaskflowBean: Enabling/Disabling
Save/Cancel buttons
• Enabling/Disabling of save/cancel buttons depending on the dirty state of
the Datacontrol associated with the taskflow
No changes to be saved
Changes
16
TaskflowBean: Enabling/Disabling
Save/Cancel buttons
Library Module
Taskflow
PageLifeCycleBean Page
RibbonSavePanel
component
Label
Autosubmit is
true
Evaluates
#{pageFlowScope.taskflowBea
n.isDataControlDirty
taskflowBean
Refreshes the panel
surrounding the save/Cancel
buttons
SaveBean
17
Reuse in the model layer
• Generate sequence values
• Call stored procedures/functions
• Set page in readonly mode
18
Reuse in de model layer
• Use Subclasses of the standard Entity/ViewObject/ApplicationModule
classes
Class Subclass of object Subclass of row of
Object
ApplicationModule ApplicationModuleImpl -
Entity EntityImpl
ViewObject ViewObjectImpl ViewObjectRowImpl
19
Generate sequence in ADF
• Override EntityImpl: initDefaults method
20
Call stored procedures
• Override ApplicationModuleImpl
21
Make a page readonly
– Updatable
– Readonly
• Classic approach: Set an EL Expression on the readonly attribute of UI Components
22
Make a page readonly
Library Module
ViewObjectRowImpl
Taskflow
taskflowBean
page
ViewObjectImpl
UpdateMode
Property
attributeUpdatable
Property
Sets the
attributeUpdatable
Property
UpdateMode prop.
Iterator prop.
23
Reuse in UI and Module layer
working together: Global search
• Purpose: 1 Search field queries all columns in a viewObject with wildcards
24
Global search: Pattern
Library Module
Taskflow
taskflowBean
Calls the
viewObject by
iterator name
View
ObjectImpl
Puts custom
viewCriteria on the
ViewObject and
query
searchBean
IteratorName
pageSearchPanel
25
Conclusion
• In Oracle ADF you can accomplish reuse in a lot of ways
• Switch from declarative approach to a code approach
• Your application
– Will have consistent look and feel
– Will take less time to develop
– Can be maintained easier
Reuse in adf applications

More Related Content

What's hot

Project Management With SharePoint
Project Management With SharePointProject Management With SharePoint
Project Management With SharePointSteve Pucelik
 
Introduction to JSLink in 2013
Introduction to JSLink in 2013Introduction to JSLink in 2013
Introduction to JSLink in 2013Sparkhound Inc.
 
Dotnet- An overview of ASP.NET & ADO.NET- Mazenet solution
Dotnet- An overview of ASP.NET & ADO.NET- Mazenet solutionDotnet- An overview of ASP.NET & ADO.NET- Mazenet solution
Dotnet- An overview of ASP.NET & ADO.NET- Mazenet solutionMazenetsolution
 
Asp 1-mvc introduction
Asp 1-mvc introductionAsp 1-mvc introduction
Asp 1-mvc introductionFajar Baskoro
 
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...MskDotNet Community
 
Leveraging SharePoint 2013 Search and CSR
Leveraging SharePoint 2013 Search and CSRLeveraging SharePoint 2013 Search and CSR
Leveraging SharePoint 2013 Search and CSRSparkhound Inc.
 
ALV with Integrated Data Access
ALV with Integrated Data AccessALV with Integrated Data Access
ALV with Integrated Data AccessRadosław Gref
 
Dot net interview questions and asnwers
Dot net interview questions and asnwersDot net interview questions and asnwers
Dot net interview questions and asnwerskavinilavuG
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVCEmad Alashi
 
Open Source Leadership Management Dashboard Powerpoint
Open Source Leadership Management Dashboard Powerpoint Open Source Leadership Management Dashboard Powerpoint
Open Source Leadership Management Dashboard Powerpoint Joe Barbano
 
KWiizCom Forms -external values
KWiizCom Forms -external valuesKWiizCom Forms -external values
KWiizCom Forms -external valuesNimrod Geva
 

What's hot (20)

Getting a Quick Start with Visualforce
Getting a Quick Start with Visualforce Getting a Quick Start with Visualforce
Getting a Quick Start with Visualforce
 
Project Management With SharePoint
Project Management With SharePointProject Management With SharePoint
Project Management With SharePoint
 
Standard List Controllers
Standard List Controllers Standard List Controllers
Standard List Controllers
 
Introduction to JSLink in 2013
Introduction to JSLink in 2013Introduction to JSLink in 2013
Introduction to JSLink in 2013
 
Dotnet- An overview of ASP.NET & ADO.NET- Mazenet solution
Dotnet- An overview of ASP.NET & ADO.NET- Mazenet solutionDotnet- An overview of ASP.NET & ADO.NET- Mazenet solution
Dotnet- An overview of ASP.NET & ADO.NET- Mazenet solution
 
Best Oracle adf online training
Best Oracle adf online trainingBest Oracle adf online training
Best Oracle adf online training
 
Asp 1-mvc introduction
Asp 1-mvc introductionAsp 1-mvc introduction
Asp 1-mvc introduction
 
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
 
Leveraging SharePoint 2013 Search and CSR
Leveraging SharePoint 2013 Search and CSRLeveraging SharePoint 2013 Search and CSR
Leveraging SharePoint 2013 Search and CSR
 
Onboarding ibos
Onboarding ibosOnboarding ibos
Onboarding ibos
 
asp-net.pptx
asp-net.pptxasp-net.pptx
asp-net.pptx
 
ALV with Integrated Data Access
ALV with Integrated Data AccessALV with Integrated Data Access
ALV with Integrated Data Access
 
Dot net interview questions and asnwers
Dot net interview questions and asnwersDot net interview questions and asnwers
Dot net interview questions and asnwers
 
Fast Report VCL 5
Fast Report VCL 5Fast Report VCL 5
Fast Report VCL 5
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
Open Source Leadership Management Dashboard Powerpoint
Open Source Leadership Management Dashboard Powerpoint Open Source Leadership Management Dashboard Powerpoint
Open Source Leadership Management Dashboard Powerpoint
 
Mvc framework
Mvc frameworkMvc framework
Mvc framework
 
Nw2004s What Is New
Nw2004s What Is NewNw2004s What Is New
Nw2004s What Is New
 
KWiizCom Forms -external values
KWiizCom Forms -external valuesKWiizCom Forms -external values
KWiizCom Forms -external values
 
CAF & Portlet Development Notes
CAF & Portlet Development NotesCAF & Portlet Development Notes
CAF & Portlet Development Notes
 

Similar to Reuse in adf applications

Process State vs. Object State: Modeling Best Practices for Simple Workflows ...
Process State vs. Object State: Modeling Best Practices for Simple Workflows ...Process State vs. Object State: Modeling Best Practices for Simple Workflows ...
Process State vs. Object State: Modeling Best Practices for Simple Workflows ...Thorsten Franz
 
Drools & jBPM Info Sheet
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info SheetMark Proctor
 
Flex Modular Development and Mate
Flex Modular Development and MateFlex Modular Development and Mate
Flex Modular Development and MateGareth Edwards
 
Migrating to Database 12c Multitenant - New Opportunities To Get It Right!
Migrating to Database 12c Multitenant - New Opportunities To Get It Right!Migrating to Database 12c Multitenant - New Opportunities To Get It Right!
Migrating to Database 12c Multitenant - New Opportunities To Get It Right!Performance Tuning Corporation
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Jeremy Likness
 
Advantages of Rails Framework
Advantages of Rails FrameworkAdvantages of Rails Framework
Advantages of Rails FrameworkSathish Mariappan
 
Building Highly Reusable Taskflows
Building Highly Reusable TaskflowsBuilding Highly Reusable Taskflows
Building Highly Reusable TaskflowsSteven Davelaar
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialThomas Daly
 
Performant Django - Ara Anjargolian
Performant Django - Ara AnjargolianPerformant Django - Ara Anjargolian
Performant Django - Ara AnjargolianHakka Labs
 
Java Enterprise Performance - Unburdended Applications
Java Enterprise Performance - Unburdended ApplicationsJava Enterprise Performance - Unburdended Applications
Java Enterprise Performance - Unburdended ApplicationsLucas Jellema
 
Enhanced Reframework Session_16-07-2022.pptx
Enhanced Reframework Session_16-07-2022.pptxEnhanced Reframework Session_16-07-2022.pptx
Enhanced Reframework Session_16-07-2022.pptxRohit Radhakrishnan
 
Nicholas Gustilo "Clean Android: building great mobile apps"
Nicholas Gustilo "Clean Android: building great mobile apps"Nicholas Gustilo "Clean Android: building great mobile apps"
Nicholas Gustilo "Clean Android: building great mobile apps"IT Event
 
St Hilaire Ajax Start Odtug Nov 2009
St Hilaire   Ajax Start Odtug Nov 2009St Hilaire   Ajax Start Odtug Nov 2009
St Hilaire Ajax Start Odtug Nov 2009ruiruitang
 
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...Anson Han
 
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsChris Muir
 
ADF Taskflows for beginners
ADF Taskflows for beginnersADF Taskflows for beginners
ADF Taskflows for beginnersRajasekhar Manda
 
Using Web Taxonomies in Drupal
Using Web Taxonomies in DrupalUsing Web Taxonomies in Drupal
Using Web Taxonomies in DrupalJoachim Neubert
 
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginnersKoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginnersTobias Koprowski
 
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginnersKoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginnersTobias Koprowski
 

Similar to Reuse in adf applications (20)

Process State vs. Object State: Modeling Best Practices for Simple Workflows ...
Process State vs. Object State: Modeling Best Practices for Simple Workflows ...Process State vs. Object State: Modeling Best Practices for Simple Workflows ...
Process State vs. Object State: Modeling Best Practices for Simple Workflows ...
 
Drools & jBPM Info Sheet
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info Sheet
 
Flex Modular Development and Mate
Flex Modular Development and MateFlex Modular Development and Mate
Flex Modular Development and Mate
 
Migrating to Database 12c Multitenant - New Opportunities To Get It Right!
Migrating to Database 12c Multitenant - New Opportunities To Get It Right!Migrating to Database 12c Multitenant - New Opportunities To Get It Right!
Migrating to Database 12c Multitenant - New Opportunities To Get It Right!
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!
 
Advantages of Rails Framework
Advantages of Rails FrameworkAdvantages of Rails Framework
Advantages of Rails Framework
 
Building Highly Reusable Taskflows
Building Highly Reusable TaskflowsBuilding Highly Reusable Taskflows
Building Highly Reusable Taskflows
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 
Performant Django - Ara Anjargolian
Performant Django - Ara AnjargolianPerformant Django - Ara Anjargolian
Performant Django - Ara Anjargolian
 
Taskflow
TaskflowTaskflow
Taskflow
 
Java Enterprise Performance - Unburdended Applications
Java Enterprise Performance - Unburdended ApplicationsJava Enterprise Performance - Unburdended Applications
Java Enterprise Performance - Unburdended Applications
 
Enhanced Reframework Session_16-07-2022.pptx
Enhanced Reframework Session_16-07-2022.pptxEnhanced Reframework Session_16-07-2022.pptx
Enhanced Reframework Session_16-07-2022.pptx
 
Nicholas Gustilo "Clean Android: building great mobile apps"
Nicholas Gustilo "Clean Android: building great mobile apps"Nicholas Gustilo "Clean Android: building great mobile apps"
Nicholas Gustilo "Clean Android: building great mobile apps"
 
St Hilaire Ajax Start Odtug Nov 2009
St Hilaire   Ajax Start Odtug Nov 2009St Hilaire   Ajax Start Odtug Nov 2009
St Hilaire Ajax Start Odtug Nov 2009
 
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
 
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
 
ADF Taskflows for beginners
ADF Taskflows for beginnersADF Taskflows for beginners
ADF Taskflows for beginners
 
Using Web Taxonomies in Drupal
Using Web Taxonomies in DrupalUsing Web Taxonomies in Drupal
Using Web Taxonomies in Drupal
 
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginnersKoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
 
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginnersKoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
 

Recently uploaded

WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 

Recently uploaded (20)

WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 

Reuse in adf applications

  • 1. Reuse in ADF applications June 2nd 2016. Matthieu de Graaf & Frank Houweling Write once, Use everywhere
  • 2. 2 Content • Short introduction into Oracle ADF • Reuse in Taskflows • Reuse in the UI layer – Crud actions – Dynamic Save/Rollback buttons • Reuse in the model layer – Selection of sequences – Executing database procedures – Make a screen readonly in seconds • Final example – Global search out of the box
  • 3. Frank Houweling • Principal Java / ADF / SOA consultant - AMIS (Netherlands) • Focus on performance diagnosis & performance management • Frequent speaker at Kscope, UKOUG and OOW • Tech Lead of ADF Performance Monitor Frank.houweling@amis.nl
  • 4. Matthieu de Graaf • Principal Java / ADF consultant - AMIS (Netherlands) • Focus on ADF/Database and .Net (WPF) Development • Not so frequent speaker Matthieu.de.graaf@amis.nl
  • 5. 5 Short introduction into Oracle ADF Application Module ViewController Part Model Part Taskflow View Objects Entity Objects Application Module Page(fragments) Beans Database UI description Dynamic behavior of UI Business data, retrieves data Interface to the outside world Interface to the ViewController Transaction management 1:1 presentation of the database tables in the java world
  • 6. 6 Reuse in the UI Layer: Taskflowtemplates • By means of taskflow templates • Default Structure • Error handling • Close actions for a popup
  • 7. 7 Reuse in the UI layer: TaskflowBean Library Module TaskflowBean Taskflow ModuleBean taskflowBean Is instantiated in Is subclassed in
  • 8. 8 TaskflowBean: Utility Functions • Contains general utility functions – Example refresh of UI components Page: Bean: this.refreshPageComponent(“buttonbarPanel");
  • 9. 9 TaskflowBean: Container for behaviour of declarative components • Container for (declarative) components
  • 10. 10 Container for declarative components – pattern Library Module DeclCompBean Page TaskflowBean Binds to Declarative component Can be subclassed in ModuleDeclCompBean Binds to Is used in My Declarative component Default behavior Module specific behavior
  • 11. 12 Example declarative component • CrudPanel: For Inserting, editing and deleting occurences – Edit link default not shown
  • 12. 13 CrudBean: Add Part in the library
  • 13. 14 Crud Actions: non default behavior
  • 14. 15 TaskflowBean: Enabling/Disabling Save/Cancel buttons • Enabling/Disabling of save/cancel buttons depending on the dirty state of the Datacontrol associated with the taskflow No changes to be saved Changes
  • 15. 16 TaskflowBean: Enabling/Disabling Save/Cancel buttons Library Module Taskflow PageLifeCycleBean Page RibbonSavePanel component Label Autosubmit is true Evaluates #{pageFlowScope.taskflowBea n.isDataControlDirty taskflowBean Refreshes the panel surrounding the save/Cancel buttons SaveBean
  • 16. 17 Reuse in the model layer • Generate sequence values • Call stored procedures/functions • Set page in readonly mode
  • 17. 18 Reuse in de model layer • Use Subclasses of the standard Entity/ViewObject/ApplicationModule classes Class Subclass of object Subclass of row of Object ApplicationModule ApplicationModuleImpl - Entity EntityImpl ViewObject ViewObjectImpl ViewObjectRowImpl
  • 18. 19 Generate sequence in ADF • Override EntityImpl: initDefaults method
  • 19. 20 Call stored procedures • Override ApplicationModuleImpl
  • 20. 21 Make a page readonly – Updatable – Readonly • Classic approach: Set an EL Expression on the readonly attribute of UI Components
  • 21. 22 Make a page readonly Library Module ViewObjectRowImpl Taskflow taskflowBean page ViewObjectImpl UpdateMode Property attributeUpdatable Property Sets the attributeUpdatable Property UpdateMode prop. Iterator prop.
  • 22. 23 Reuse in UI and Module layer working together: Global search • Purpose: 1 Search field queries all columns in a viewObject with wildcards
  • 23. 24 Global search: Pattern Library Module Taskflow taskflowBean Calls the viewObject by iterator name View ObjectImpl Puts custom viewCriteria on the ViewObject and query searchBean IteratorName pageSearchPanel
  • 24. 25 Conclusion • In Oracle ADF you can accomplish reuse in a lot of ways • Switch from declarative approach to a code approach • Your application – Will have consistent look and feel – Will take less time to develop – Can be maintained easier

Editor's Notes

  1. M
  2. M
  3. M
  4. M
  5. M
  6. M
  7. M
  8. M
  9. M
  10. M
  11. M
  12. M
  13. F
  14. F
  15. F
  16. F
  17. F
  18. F
  19. F
  20. F
  21. F
  22. F