SlideShare uma empresa Scribd logo
1 de 48
Luc Bors, june 2013, ODTUG KScope 2013 New Orleans
Tips and Tricks for UI Reuse in Oracle ADF
Don't Reinvent the Wheel
Who Am I
• Luc Bors
• Principal Consultant
• AMIS Nieuwegein Netherlands
• Friends of Oracle & Java
• 5 Oracle ACE(D)
• Oracle Partner
Topics
• Reuse – ADF Controller and Faces
– Page Templates
– Declarative Components
– Stylesheets
– Task Flows
The (somewhat ugly)
Sample Application
Page Templates
• Specify the layout structure (of groups) of pages
– For example: top bar, side bar, footer
– Predefine placeholders for pages to inject their contents
• Page can be based on template
– It will provide the content for the placeholders (seen as facets)
– It can pass parameters to the template – for example for the title of the page or the
page bread crumb trail
Page Templates
• Centrally specifying the overall structure and some of the look & feel for
all or specific types of pages
• Can also be applied dynamically, depending on some context settings
– This allows a single page to be presented in different ways to different users or under
different conditions
– Templates allow different structure and component ordering for the same page
• Page Templates make maintenance of the overall layout structure much
easier
Page Templates
• Create a Page Template
– Embed one or more facetRef elements for the holes to be filled by the pages
based on the template
– Publish the template “API” – the input parameters it supports
• Create pages based on the template
– In these pages, provide content for the facets exposed by the template
– Provide values for input parameters supported by template
• At any point in time:
– change the template (reusing same facetRefs and parameters)
– change the facet contents in any page
– change template ref in a page (to template with same facets)
• Can be done dynamically
Defining the template
Building the Layout
Using the Attributes
The Template Definition
The Template UI components
Demo
Custom Components
• Compose reusable ‘packages’ for frequently occurring combinations of
ADF Faces/JSF components
– Declarative reuse for consistency and productivity
– Better encapsulation than page fragments
– Internally a declarative component is built out of a combination of JSF components
• Declarative components can be used like normal JSF components
– They expose a number of attributes (that are wired to attributes of the internal JSF
components)
– They may have facets (to embed other JSF components)
• Examples: LOV/DropDown Switcher, InputTime, Selection components for
static domains, Button bars
Custom Components
• Choose JSF Declarative Component in the New Gallery
• Specify the properties for the component
– Name, Package, TaglibName
– The attributes exposed to consumers of the components
• And default values for the attributes
– Methods – name and signature – to use for method bindings
– Names of the facets that are published (and that will be used to embed JSF content
inside the declarative component)
• Create the content of the Component by assembling JSF components –
much like you do for a Page Template
– Using facetRef components, #{attrs.<attrName>} and #{component.<methodName>}
Create Custom Component
Defining the Component
Building the UI
Demo
Stylesheets
Demo
Overview
• Reusable components – Bounded Task Flows
– Multi page, isolated memory scope
– Controller and flow logic, executing business logic
– Interface with input parameters and output events
– Dynamically switching between regions
– Role based authorization
– Transaction management
– Savepoints and Rollback support
• Unbounded Task Flow
– Bookmarking, …
Examples
Create a Bounded Task Flow
Taskflows
Building a Reusable Task Flow
Catalog
• Organizations may create a catalog of task flows
• Reusable services, encapsulated with clear
interfaces
– Input parameters
– Result
– Events published
• Such task flows can also be published by
– Third parties
– ‘the community’
Demo
Reusing Reusables:
ADF Libraries
• Sharing reusable assets
– Task Flows, Stylsheets, PageTemplates and Custom Components
– can be deployed and distributed through ADF Libraries (JAR files, design time)
– ADF Libraries are added to consuming applications
– When added, components from library can be reused in consuming application
ADF Libraries
• ADF Library enables you to reuse components:
– Package them into ADF Library JAR files
– Add them to a reusable component repository
– Add the library to a project to use its components
How does it work
• Deploy the project that contains the component(s) to an ADF Library JAR
– JDeveloper automatically adds the required Tag library for the declarative
component(s)
• Add the Library in consuming projects
– Via the Resource Palette
• Declarative components will show up on the Component Palette
– They are used like normal components with attributes, method bindings and facets
Deployment Profile
Library Deployment
Using an ADF Library
Libraries are added
What do we have so far ?
• ADF Page Template
• ADF Custom Component
• ADF Style sheet
• ADF Taskflow
Using the Template
Setting attribute values
Using the Stylesheet
Using the Custom Component
Using the Taskflow
Setting up the region
Refreshing the region
Demo
Lets make some Changes
• All Reusable components can be changed
• Will have immediate effect in the application
– After redeployment of the library
Other Topic : Reuse in ADF BC
• Declarative Model Driven functionality
– Most Recently Used, UI Hints
– List of Values, Model Driven Query Form
• Entity Object Business Logic Group
• View Criteria
– Multiple faces on the same ViewObject
• Shared Application Module
– Reuse data across sessions
Summary
• ADF Provides mechanisms for reuse
• Initial investment
• Payback time is later
• Considerations:
– Is it reusable ?
– Will I reuse it ?
• But also
– Modularity
– Maintainability
– Increased Productivity
Luc Bors, AMIS, The Netherlands
Luc.Bors@amis.nl
LucBors@gmail.com
Follow me on : @lucb_

Mais conteúdo relacionado

Mais procurados

Dashbuilder community overview
Dashbuilder community overviewDashbuilder community overview
Dashbuilder community overview
dashbuilder
 

Mais procurados (20)

MVC Web Application
MVC Web ApplicationMVC Web Application
MVC Web Application
 
Oracle ADF Case Study
Oracle ADF Case StudyOracle ADF Case Study
Oracle ADF Case Study
 
Oracle adf online training
Oracle adf online trainingOracle adf online training
Oracle adf online training
 
Coding the Salesforce1 Platform User Interface
Coding the Salesforce1 Platform User InterfaceCoding the Salesforce1 Platform User Interface
Coding the Salesforce1 Platform User Interface
 
SharePoint 2013 Client Side Rendering
SharePoint 2013 Client Side RenderingSharePoint 2013 Client Side Rendering
SharePoint 2013 Client Side Rendering
 
Dashbuilder community overview
Dashbuilder community overviewDashbuilder community overview
Dashbuilder community overview
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for Beginners
 
oracle oa framework training | oracle oa framework training courses | oa fram...
oracle oa framework training | oracle oa framework training courses | oa fram...oracle oa framework training | oracle oa framework training courses | oa fram...
oracle oa framework training | oracle oa framework training courses | oa fram...
 
Using the Kentico CMS API
Using the Kentico CMS APIUsing the Kentico CMS API
Using the Kentico CMS API
 
Oracle application framework (oaf) online training
Oracle application framework (oaf) online trainingOracle application framework (oaf) online training
Oracle application framework (oaf) online training
 
Introduction to JSLink in 2013
Introduction to JSLink in 2013Introduction to JSLink in 2013
Introduction to JSLink in 2013
 
Best Oracle adf online training
Best Oracle adf online trainingBest Oracle adf online training
Best Oracle adf online training
 
Using MVC with Kentico 8
Using MVC with Kentico 8Using MVC with Kentico 8
Using MVC with Kentico 8
 
Uop bsa 411 week 3 individual design classes
Uop bsa 411 week 3 individual design classesUop bsa 411 week 3 individual design classes
Uop bsa 411 week 3 individual design classes
 
Kentico and MVC
Kentico and MVCKentico and MVC
Kentico and MVC
 
4. Introduction to ASP.NET MVC - Part I
4. Introduction to ASP.NET MVC - Part I4. Introduction to ASP.NET MVC - Part I
4. Introduction to ASP.NET MVC - Part I
 
Uop bsa 411 week 3 individual design classes
Uop bsa 411 week 3 individual design classesUop bsa 411 week 3 individual design classes
Uop bsa 411 week 3 individual design classes
 
Project Management With SharePoint
Project Management With SharePointProject Management With SharePoint
Project Management With SharePoint
 
Oracle fusion dba online training
Oracle fusion  dba online trainingOracle fusion  dba online training
Oracle fusion dba online training
 
Nw2004s What Is New
Nw2004s What Is NewNw2004s What Is New
Nw2004s What Is New
 

Semelhante a Dont Reinvent the Wheel: Tips and Tricks for reuse in ADF

24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...
24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...
24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...
Hossam El-Faxe
 
Apex basics-for Beginners
Apex basics-for BeginnersApex basics-for Beginners
Apex basics-for Beginners
hrakhra
 
Maintainable Sitecore Solutions
Maintainable Sitecore SolutionsMaintainable Sitecore Solutions
Maintainable Sitecore Solutions
Thomas Eldblom
 

Semelhante a Dont Reinvent the Wheel: Tips and Tricks for reuse in ADF (20)

Siebel Open UI Presentation
Siebel Open UI PresentationSiebel Open UI Presentation
Siebel Open UI Presentation
 
Visualforce
VisualforceVisualforce
Visualforce
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
 
Oracle Forms to APEX conversion tool
Oracle Forms to APEX conversion toolOracle Forms to APEX conversion tool
Oracle Forms to APEX conversion tool
 
Automating Enterprise Application Deployments with PowerShell
Automating Enterprise Application Deployments with PowerShellAutomating Enterprise Application Deployments with PowerShell
Automating Enterprise Application Deployments with PowerShell
 
Bootstrapify Universal Theme
Bootstrapify Universal ThemeBootstrapify Universal Theme
Bootstrapify Universal Theme
 
24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...
24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...
24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection Navigation
 
AngularJS
AngularJSAngularJS
AngularJS
 
Client Side MVC with Backbone and Rails
Client Side MVC with Backbone and RailsClient Side MVC with Backbone and Rails
Client Side MVC with Backbone and Rails
 
Backbonification for dummies - Arrrrug 10/1/2012
Backbonification for dummies - Arrrrug 10/1/2012Backbonification for dummies - Arrrrug 10/1/2012
Backbonification for dummies - Arrrrug 10/1/2012
 
Apex basics-for Beginners
Apex basics-for BeginnersApex basics-for Beginners
Apex basics-for Beginners
 
Using js link and display templates
Using js link and display templatesUsing js link and display templates
Using js link and display templates
 
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
 
Maintainable Sitecore Solutions
Maintainable Sitecore SolutionsMaintainable Sitecore Solutions
Maintainable Sitecore Solutions
 
CUST-3 Document Management with Share
CUST-3 Document Management with ShareCUST-3 Document Management with Share
CUST-3 Document Management with Share
 
Creation&imitation
Creation&imitationCreation&imitation
Creation&imitation
 
Essentials for the SharePoint Power User - SharePoint Engage Raleigh 2017
Essentials for the SharePoint Power User - SharePoint Engage Raleigh 2017Essentials for the SharePoint Power User - SharePoint Engage Raleigh 2017
Essentials for the SharePoint Power User - SharePoint Engage Raleigh 2017
 
SFDC UI - Introduction to Visualforce
SFDC UI -  Introduction to VisualforceSFDC UI -  Introduction to Visualforce
SFDC UI - Introduction to Visualforce
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 

Mais de Luc Bors

Mais de Luc Bors (20)

Talk to me Goose: Going beyond your regular Chatbot
Talk to me Goose: Going beyond your regular ChatbotTalk to me Goose: Going beyond your regular Chatbot
Talk to me Goose: Going beyond your regular Chatbot
 
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development KitExtending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
 
NO CODE : Or How to Extend Oracle SaaS with Oracle Visual Builder Cloud Service
NO CODE : Or How to Extend Oracle SaaS with Oracle Visual Builder Cloud ServiceNO CODE : Or How to Extend Oracle SaaS with Oracle Visual Builder Cloud Service
NO CODE : Or How to Extend Oracle SaaS with Oracle Visual Builder Cloud Service
 
Real Life MAF (2.2) Oracle Open World 2015
Real Life MAF (2.2) Oracle Open World 2015Real Life MAF (2.2) Oracle Open World 2015
Real Life MAF (2.2) Oracle Open World 2015
 
Real life-maf-2015-k scope-final
Real life-maf-2015-k scope-finalReal life-maf-2015-k scope-final
Real life-maf-2015-k scope-final
 
Real life-maf-2015
Real life-maf-2015Real life-maf-2015
Real life-maf-2015
 
ADF Essentials (KScope14)
ADF Essentials (KScope14)ADF Essentials (KScope14)
ADF Essentials (KScope14)
 
Reaching out from ADF Mobile (ODTUG KScope 2014)
Reaching out from ADF Mobile (ODTUG KScope 2014)Reaching out from ADF Mobile (ODTUG KScope 2014)
Reaching out from ADF Mobile (ODTUG KScope 2014)
 
OgH Data Visualization Special Part III
OgH Data Visualization Special Part IIIOgH Data Visualization Special Part III
OgH Data Visualization Special Part III
 
OgH Data Visualization Special Part II
OgH Data Visualization Special Part IIOgH Data Visualization Special Part II
OgH Data Visualization Special Part II
 
OgH Data Visualization Special Part I
OgH Data Visualization Special Part IOgH Data Visualization Special Part I
OgH Data Visualization Special Part I
 
MAF push notifications
MAF push notificationsMAF push notifications
MAF push notifications
 
Doag wysiwyg
Doag wysiwygDoag wysiwyg
Doag wysiwyg
 
amis-adf-enterprise-mobility
amis-adf-enterprise-mobilityamis-adf-enterprise-mobility
amis-adf-enterprise-mobility
 
Oracle day 2014-mobile-customer-case
Oracle day 2014-mobile-customer-caseOracle day 2014-mobile-customer-case
Oracle day 2014-mobile-customer-case
 
Oracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptxOracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptx
 
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
 
ADF Mobile: 10 Things you don't get from the developers guide
ADF Mobile: 10 Things you don't get from the developers guideADF Mobile: 10 Things you don't get from the developers guide
ADF Mobile: 10 Things you don't get from the developers guide
 
oow2013-adf-mo-bi-le
oow2013-adf-mo-bi-leoow2013-adf-mo-bi-le
oow2013-adf-mo-bi-le
 
Goodbye Nightmare : Tops and Tricks for creating Layouts
Goodbye Nightmare : Tops and Tricks for creating LayoutsGoodbye Nightmare : Tops and Tricks for creating Layouts
Goodbye Nightmare : Tops and Tricks for creating Layouts
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 

Dont Reinvent the Wheel: Tips and Tricks for reuse in ADF

  • 1. Luc Bors, june 2013, ODTUG KScope 2013 New Orleans Tips and Tricks for UI Reuse in Oracle ADF Don't Reinvent the Wheel
  • 2. Who Am I • Luc Bors • Principal Consultant • AMIS Nieuwegein Netherlands • Friends of Oracle & Java • 5 Oracle ACE(D) • Oracle Partner
  • 3. Topics • Reuse – ADF Controller and Faces – Page Templates – Declarative Components – Stylesheets – Task Flows
  • 5. Page Templates • Specify the layout structure (of groups) of pages – For example: top bar, side bar, footer – Predefine placeholders for pages to inject their contents • Page can be based on template – It will provide the content for the placeholders (seen as facets) – It can pass parameters to the template – for example for the title of the page or the page bread crumb trail
  • 6. Page Templates • Centrally specifying the overall structure and some of the look & feel for all or specific types of pages • Can also be applied dynamically, depending on some context settings – This allows a single page to be presented in different ways to different users or under different conditions – Templates allow different structure and component ordering for the same page • Page Templates make maintenance of the overall layout structure much easier
  • 7. Page Templates • Create a Page Template – Embed one or more facetRef elements for the holes to be filled by the pages based on the template – Publish the template “API” – the input parameters it supports • Create pages based on the template – In these pages, provide content for the facets exposed by the template – Provide values for input parameters supported by template • At any point in time: – change the template (reusing same facetRefs and parameters) – change the facet contents in any page – change template ref in a page (to template with same facets) • Can be done dynamically
  • 12. The Template UI components
  • 13. Demo
  • 14. Custom Components • Compose reusable ‘packages’ for frequently occurring combinations of ADF Faces/JSF components – Declarative reuse for consistency and productivity – Better encapsulation than page fragments – Internally a declarative component is built out of a combination of JSF components • Declarative components can be used like normal JSF components – They expose a number of attributes (that are wired to attributes of the internal JSF components) – They may have facets (to embed other JSF components) • Examples: LOV/DropDown Switcher, InputTime, Selection components for static domains, Button bars
  • 15. Custom Components • Choose JSF Declarative Component in the New Gallery • Specify the properties for the component – Name, Package, TaglibName – The attributes exposed to consumers of the components • And default values for the attributes – Methods – name and signature – to use for method bindings – Names of the facets that are published (and that will be used to embed JSF content inside the declarative component) • Create the content of the Component by assembling JSF components – much like you do for a Page Template – Using facetRef components, #{attrs.<attrName>} and #{component.<methodName>}
  • 19. Demo
  • 21. Demo
  • 22. Overview • Reusable components – Bounded Task Flows – Multi page, isolated memory scope – Controller and flow logic, executing business logic – Interface with input parameters and output events – Dynamically switching between regions – Role based authorization – Transaction management – Savepoints and Rollback support • Unbounded Task Flow – Bookmarking, …
  • 24. Create a Bounded Task Flow
  • 26. Building a Reusable Task Flow Catalog • Organizations may create a catalog of task flows • Reusable services, encapsulated with clear interfaces – Input parameters – Result – Events published • Such task flows can also be published by – Third parties – ‘the community’
  • 27. Demo
  • 28. Reusing Reusables: ADF Libraries • Sharing reusable assets – Task Flows, Stylsheets, PageTemplates and Custom Components – can be deployed and distributed through ADF Libraries (JAR files, design time) – ADF Libraries are added to consuming applications – When added, components from library can be reused in consuming application
  • 29. ADF Libraries • ADF Library enables you to reuse components: – Package them into ADF Library JAR files – Add them to a reusable component repository – Add the library to a project to use its components
  • 30. How does it work • Deploy the project that contains the component(s) to an ADF Library JAR – JDeveloper automatically adds the required Tag library for the declarative component(s) • Add the Library in consuming projects – Via the Resource Palette • Declarative components will show up on the Component Palette – They are used like normal components with attributes, method bindings and facets
  • 33. Using an ADF Library
  • 35. What do we have so far ? • ADF Page Template • ADF Custom Component • ADF Style sheet • ADF Taskflow
  • 39. Using the Custom Component
  • 41. Setting up the region
  • 43. Demo
  • 44. Lets make some Changes • All Reusable components can be changed • Will have immediate effect in the application – After redeployment of the library
  • 45. Other Topic : Reuse in ADF BC • Declarative Model Driven functionality – Most Recently Used, UI Hints – List of Values, Model Driven Query Form • Entity Object Business Logic Group • View Criteria – Multiple faces on the same ViewObject • Shared Application Module – Reuse data across sessions
  • 46. Summary • ADF Provides mechanisms for reuse • Initial investment • Payback time is later • Considerations: – Is it reusable ? – Will I reuse it ? • But also – Modularity – Maintainability – Increased Productivity
  • 47.
  • 48. Luc Bors, AMIS, The Netherlands Luc.Bors@amis.nl LucBors@gmail.com Follow me on : @lucb_