SlideShare a Scribd company logo
By: Rohan Walia 
Oracle ADF and Webcenter Portal Implementation Specialist
 Customizations/ Personalization 
 Types of Customizations 
 MetaData Services in Oracle ADF 
 Using MDS for Customization 
 Implementing Customizations in ADF App 
 Deep dive into how MDS is used in ADF 
 Demo on Personalization 
 Questions
Must Be thinking ! 
 Oracle ADF and Webcenter Consultant. 
 Oracle Certified ADF & Webcenter Implementation specialist. 
 Consultant, Blogger, Speaker and open networker. 
 Passionate about Oracle Technologies. 
 Have been working in Oracle/Java products from 8.5 years. 
 Currently working with Oracle Consulting. 
 Blog – http://rohanwalia.blogspot.in/ 
 Twitter - @rohanwalia17
 Nothing is as Certain as “CHANGE” 
 Good Applications is one with Longevity. 
 Need to protect the investment in Application Development. 
 Need to react to change should be part of App Design. 
 It should not come as a shock after App Development.
 Personalization - User Customizations 
 Seeded Customization
 Personalization or User Customization 
 Every end user is Unique. 
 Different preference for how they like UI to be rendered. 
 Users like to make themselves at home within the 
application.
 Visual and declarative development using Best Practices 
 ADF uses XML where ever possible, to configure and drive these 
technologies 
 Provides powerful MDS Framework for Customizations/ 
Personalization 
 This use of metadata is a key component of the overall ADF 
architecture 
 XML enables OOTB Customization as these are done using XML and 
not code 
 Code does not needs to be compiled to apply Customizations 
 Provides configurations to enable and implement customizations 
without too much learning curve
JSF View 
Controller 
Model 
Business 
Services 
Data Services 
Desktop Browser-Based 
Office 
ADF 
Swing 
MDS in Oracle ADF 
ADF Faces 
JSF ADF Controller 
Mobile 
ADF Binding 
Java EJB ADFBC BAM Web Services BPEL BI Portlets 
Metadata Services (MDS) 
Mobile 
Database Web Services Legacy Systems Apps Unlimited
Oracle Metadata Services (MDS) is the personalization and 
customization engine within Oracle Fusion Middleware that manages 
all of this XML metadata of behalf of components such as JDeveloper 
and ADF. 
Metadata is used by the following components 
 ADF Faces rich client Java Server Faces components 
 ADF Faces Data Visualization Tools (DVT) 
 ADF Task Flow 
 ADF Binding layer 
 ADF Business Components 
 Oracle WebCenter
 Dynamic Structure and Property changes 
 Changes are on Metadata of Views, bindings and fragments 
 Addition and removal of properties on the components of 
Page or Fragments(JSFF) 
 Application consist of one Base Application 
 One or Many Customization Layers holding modifications are 
applied at runtime
Customizations in Enterprise Applications using Oracle ADF
 Customization layer is defined by set of metadata documents 
 These are stored in metadata store on file system or MDS 
database repository 
 Customization layer Object determines when to apply these 
changes 
 Customization layer object is simple java class 
 Customization layer determines specific conditions under 
which customization needs to be applied to application on 
run
Metadata 
Repository - 
File or DB
 Plain Old Java Object 
 Determines when to apply customization to base document. 
 Objects for Common scenarios is provided by ADF Framework. 
 Customization Layer Object needs to be registered in the application. 
 E.g. : UserCC , SiteCC , ADFRoleCC etc. 
 Developer can create Custom Object by extending 
oracle.mds.cust.CustomizationClass 
 Needs to override getCacheHint() , getName() and getValue() methods. 
 Value returned by getValue() method determines when to apply 
customization
Customizations in Enterprise Applications using Oracle ADF
Customizations in Enterprise Applications using Oracle ADF
ADF Faces components are added in adf-config.xml for which persistence is required.
 Context Param CHANGE_PERSISTENCE is added to Web.xml 
 Has value FilteredPersistenceChangeManager 
 MDSDocumentChangeManager gets Configured in adf-config.xml
 Component Changes occur in response of User – UI Interaction. 
 They consist of change of properties/attributes of components. 
 Implicit component changes are performed by the ADF Faces component 
renderers. 
 Implicit changes are defined in adf-config.xml components and tags. 
 Explicit changes are initiated by developer using ADF ChangeManager API. 
 ChangeManager can accessed through FacesContext to perform explicit 
changes. 
 FilteredPersistenceChangeManager 
◦ Gets into action for every UI component change request. 
◦ Verifies that no restrictions have been applied by the developers to individual component instances. 
◦ Verifies whether restrictions are applied using persist and dontPersist attributes on Components. 
 MDSDocumentChangeManager 
◦ After all the validations(as above) changes are passed to MDS Document Change Manager. 
◦ Is referenced by FilteredPersistenceChangeManager after validations in defined in adf-config.xml 
◦ Updates the MDS metadata document associated with a page.
Customizations in Enterprise Applications using Oracle ADF
 Allow developers to pre define application settings for individual or group of 
users. 
 Seeded Customizations are pre defined during development. 
 They are dynamically applied to the application at runtime.
Changes are done for Customization Values 
in Customization Developer Mode
Customizations in Enterprise Applications using Oracle ADF
Questions ? 
in.linkedin.com/in/rohanwalia/ 
er.walia@gmail.com 
@rohanwalia17 
http://rohanwalia.blogspot.in/
Ad

More Related Content

What's hot (20)

Reuse in adf applications
Reuse in adf applicationsReuse in adf applications
Reuse in adf applications
Matthieu De Graaf
 
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...
Nancy Thomas
 
Oracle application framework (oaf) online training
Oracle application framework (oaf) online trainingOracle application framework (oaf) online training
Oracle application framework (oaf) online training
Glory IT Technologies Pvt. Ltd.
 
Greate Introduction to Oracle Fusion Middleware and ADF
Greate Introduction to Oracle Fusion Middleware and ADFGreate Introduction to Oracle Fusion Middleware and ADF
Greate Introduction to Oracle Fusion Middleware and ADF
Mohamed Shahpoup
 
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
Lucas Jellema
 
ADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep Sharda
Er. Sndp Srda
 
Oracle ADF Overview
Oracle ADF OverviewOracle ADF Overview
Oracle ADF Overview
Bahaa Farouk
 
Extensions in OAF
Extensions in OAF Extensions in OAF
Extensions in OAF
iWare Logic Technologies Pvt. Ltd.
 
Oracle fusion dba online training
Oracle fusion  dba online trainingOracle fusion  dba online training
Oracle fusion dba online training
Glory IT Technologies Pvt. Ltd.
 
Mogadala Printing Pdf
Mogadala Printing PdfMogadala Printing Pdf
Mogadala Printing Pdf
mmogadala
 
Oracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africaOracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africa
magnificsmile
 
J developer, oracle adf introduction
J developer, oracle adf   introductionJ developer, oracle adf   introduction
J developer, oracle adf introduction
AUDRIC Consultancy Services
 
37727897 Oaf Basics
37727897 Oaf Basics37727897 Oaf Basics
37727897 Oaf Basics
Hossam El-Faxe
 
Pega sample resume
Pega sample resumePega sample resume
Pega sample resume
Ashock Roy
 
Pega prpc tutorials for beginners
Pega prpc tutorials for beginnersPega prpc tutorials for beginners
Pega prpc tutorials for beginners
Ashock Roy
 
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
seasofttraining
 
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI SupportOracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
andrejusb
 
CSSA TOPICS (1)
CSSA TOPICS (1)CSSA TOPICS (1)
CSSA TOPICS (1)
Ashock Roy
 
AX2012 Technical Track - Entreprise portal, Czesia Langoswka
AX2012 Technical Track -  Entreprise portal, Czesia LangoswkaAX2012 Technical Track -  Entreprise portal, Czesia Langoswka
AX2012 Technical Track - Entreprise portal, Czesia Langoswka
dynamicscom
 
Vf ppt (1)
Vf ppt (1)Vf ppt (1)
Vf ppt (1)
Preeti Mohanty
 
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...
Nancy Thomas
 
Greate Introduction to Oracle Fusion Middleware and ADF
Greate Introduction to Oracle Fusion Middleware and ADFGreate Introduction to Oracle Fusion Middleware and ADF
Greate Introduction to Oracle Fusion Middleware and ADF
Mohamed Shahpoup
 
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
Lucas Jellema
 
ADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep Sharda
Er. Sndp Srda
 
Oracle ADF Overview
Oracle ADF OverviewOracle ADF Overview
Oracle ADF Overview
Bahaa Farouk
 
Mogadala Printing Pdf
Mogadala Printing PdfMogadala Printing Pdf
Mogadala Printing Pdf
mmogadala
 
Oracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africaOracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africa
magnificsmile
 
Pega sample resume
Pega sample resumePega sample resume
Pega sample resume
Ashock Roy
 
Pega prpc tutorials for beginners
Pega prpc tutorials for beginnersPega prpc tutorials for beginners
Pega prpc tutorials for beginners
Ashock Roy
 
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
seasofttraining
 
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI SupportOracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
andrejusb
 
CSSA TOPICS (1)
CSSA TOPICS (1)CSSA TOPICS (1)
CSSA TOPICS (1)
Ashock Roy
 
AX2012 Technical Track - Entreprise portal, Czesia Langoswka
AX2012 Technical Track -  Entreprise portal, Czesia LangoswkaAX2012 Technical Track -  Entreprise portal, Czesia Langoswka
AX2012 Technical Track - Entreprise portal, Czesia Langoswka
dynamicscom
 

Viewers also liked (11)

Document for restricting lov using form personalization
Document for restricting lov using form personalizationDocument for restricting lov using form personalization
Document for restricting lov using form personalization
Arsalan Dilawar
 
Form personalization 395117_r12_updated1212
Form personalization 395117_r12_updated1212Form personalization 395117_r12_updated1212
Form personalization 395117_r12_updated1212
flower705
 
Personalization how to restrict transaction type list of values
Personalization how to restrict transaction type list of valuesPersonalization how to restrict transaction type list of values
Personalization how to restrict transaction type list of values
Ahmed Elshayeb
 
Oracle Framework Personalization
Oracle Framework PersonalizationOracle Framework Personalization
Oracle Framework Personalization
Edi Yanto
 
21.1 personalization changing-the_field_name_part_21.1
21.1 personalization changing-the_field_name_part_21.121.1 personalization changing-the_field_name_part_21.1
21.1 personalization changing-the_field_name_part_21.1
Oracle HRMS Functional Consultant
 
Customizing Oracle EBS OA Framework
Customizing Oracle EBS OA FrameworkCustomizing Oracle EBS OA Framework
Customizing Oracle EBS OA Framework
iWare Logic Technologies Pvt. Ltd.
 
How to remove disable and cancel shipment functionality in enter purchase or...
How to remove  disable and cancel shipment functionality in enter purchase or...How to remove  disable and cancel shipment functionality in enter purchase or...
How to remove disable and cancel shipment functionality in enter purchase or...
Ahmed Elshayeb
 
Oracle EBS R12 Sales order personalization
Oracle EBS R12 Sales order personalizationOracle EBS R12 Sales order personalization
Oracle EBS R12 Sales order personalization
Ahmed Elshayeb
 
Personalization to restrict values in customer name and number lov in sales o...
Personalization to restrict values in customer name and number lov in sales o...Personalization to restrict values in customer name and number lov in sales o...
Personalization to restrict values in customer name and number lov in sales o...
Ahmed Elshayeb
 
Oracle Personalization How To Restricting users from assigning items to diffe...
Oracle Personalization How To Restricting users from assigning items to diffe...Oracle Personalization How To Restricting users from assigning items to diffe...
Oracle Personalization How To Restricting users from assigning items to diffe...
Ahmed Elshayeb
 
Oracle ERP Personalization for control master items list
Oracle ERP Personalization for control master items listOracle ERP Personalization for control master items list
Oracle ERP Personalization for control master items list
Ahmed Elshayeb
 
Document for restricting lov using form personalization
Document for restricting lov using form personalizationDocument for restricting lov using form personalization
Document for restricting lov using form personalization
Arsalan Dilawar
 
Form personalization 395117_r12_updated1212
Form personalization 395117_r12_updated1212Form personalization 395117_r12_updated1212
Form personalization 395117_r12_updated1212
flower705
 
Personalization how to restrict transaction type list of values
Personalization how to restrict transaction type list of valuesPersonalization how to restrict transaction type list of values
Personalization how to restrict transaction type list of values
Ahmed Elshayeb
 
Oracle Framework Personalization
Oracle Framework PersonalizationOracle Framework Personalization
Oracle Framework Personalization
Edi Yanto
 
How to remove disable and cancel shipment functionality in enter purchase or...
How to remove  disable and cancel shipment functionality in enter purchase or...How to remove  disable and cancel shipment functionality in enter purchase or...
How to remove disable and cancel shipment functionality in enter purchase or...
Ahmed Elshayeb
 
Oracle EBS R12 Sales order personalization
Oracle EBS R12 Sales order personalizationOracle EBS R12 Sales order personalization
Oracle EBS R12 Sales order personalization
Ahmed Elshayeb
 
Personalization to restrict values in customer name and number lov in sales o...
Personalization to restrict values in customer name and number lov in sales o...Personalization to restrict values in customer name and number lov in sales o...
Personalization to restrict values in customer name and number lov in sales o...
Ahmed Elshayeb
 
Oracle Personalization How To Restricting users from assigning items to diffe...
Oracle Personalization How To Restricting users from assigning items to diffe...Oracle Personalization How To Restricting users from assigning items to diffe...
Oracle Personalization How To Restricting users from assigning items to diffe...
Ahmed Elshayeb
 
Oracle ERP Personalization for control master items list
Oracle ERP Personalization for control master items listOracle ERP Personalization for control master items list
Oracle ERP Personalization for control master items list
Ahmed Elshayeb
 
Ad

Similar to Customizations in Enterprise Applications using Oracle ADF (20)

Oracle ADF Tutorial
Oracle ADF TutorialOracle ADF Tutorial
Oracle ADF Tutorial
Deepak Bhagat
 
Castle in the Clouds: SaaS-Enabling Oracle ADF Faces Applications
Castle in the Clouds: SaaS-Enabling Oracle ADF Faces ApplicationsCastle in the Clouds: SaaS-Enabling Oracle ADF Faces Applications
Castle in the Clouds: SaaS-Enabling Oracle ADF Faces Applications
Lucas Jellema
 
Metamorphosis from Forms to Java: A technical lead's perspective, part II
Metamorphosis from Forms to Java:  A technical lead's perspective, part IIMetamorphosis from Forms to Java:  A technical lead's perspective, part II
Metamorphosis from Forms to Java: A technical lead's perspective, part II
Michael Fons
 
ODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11g
ODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11gODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11g
ODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11g
Edwin Biemond
 
Cetas - Application Development Services
Cetas - Application Development ServicesCetas - Application Development Services
Cetas - Application Development Services
Kabilan D
 
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Lucas Jellema
 
Best practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata APIBest practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata API
Sanchit Dua
 
Deep Dive: MVC Controller Architecture
Deep Dive: MVC Controller ArchitectureDeep Dive: MVC Controller Architecture
Deep Dive: MVC Controller Architecture
Chris Eargle
 
ADF Applications and Metadata
ADF Applications and MetadataADF Applications and Metadata
ADF Applications and Metadata
Nakul Thacker
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
s4al_com
 
Best practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata APIBest practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata API
Sanchit Dua
 
J2EE pattern 5
J2EE pattern 5J2EE pattern 5
J2EE pattern 5
Naga Muruga
 
Mt ADF 001 adf-course outlines
Mt ADF 001 adf-course outlinesMt ADF 001 adf-course outlines
Mt ADF 001 adf-course outlines
Abbas Qureshi
 
Build java-ee-applications-with-adf
Build java-ee-applications-with-adfBuild java-ee-applications-with-adf
Build java-ee-applications-with-adf
Amit Sharma
 
Jsf
JsfJsf
Jsf
Esraa Yaseen
 
Revised Adf security in a project centric environment
Revised Adf security in a project centric environmentRevised Adf security in a project centric environment
Revised Adf security in a project centric environment
Jean-Marc Desvaux
 
Anatomy Of A Driver Presentation 09 15 2008
Anatomy Of A Driver Presentation   09 15 2008Anatomy Of A Driver Presentation   09 15 2008
Anatomy Of A Driver Presentation 09 15 2008
ctindale
 
MetaASO J2EE Web Framework
MetaASO J2EE Web FrameworkMetaASO J2EE Web Framework
MetaASO J2EE Web Framework
guestc23c1f
 
Aqua presentation
Aqua presentationAqua presentation
Aqua presentation
Shivnarayan Varma
 
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
GlobalLogic Ukraine
 
Castle in the Clouds: SaaS-Enabling Oracle ADF Faces Applications
Castle in the Clouds: SaaS-Enabling Oracle ADF Faces ApplicationsCastle in the Clouds: SaaS-Enabling Oracle ADF Faces Applications
Castle in the Clouds: SaaS-Enabling Oracle ADF Faces Applications
Lucas Jellema
 
Metamorphosis from Forms to Java: A technical lead's perspective, part II
Metamorphosis from Forms to Java:  A technical lead's perspective, part IIMetamorphosis from Forms to Java:  A technical lead's perspective, part II
Metamorphosis from Forms to Java: A technical lead's perspective, part II
Michael Fons
 
ODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11g
ODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11gODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11g
ODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11g
Edwin Biemond
 
Cetas - Application Development Services
Cetas - Application Development ServicesCetas - Application Development Services
Cetas - Application Development Services
Kabilan D
 
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Lucas Jellema
 
Best practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata APIBest practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata API
Sanchit Dua
 
Deep Dive: MVC Controller Architecture
Deep Dive: MVC Controller ArchitectureDeep Dive: MVC Controller Architecture
Deep Dive: MVC Controller Architecture
Chris Eargle
 
ADF Applications and Metadata
ADF Applications and MetadataADF Applications and Metadata
ADF Applications and Metadata
Nakul Thacker
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
s4al_com
 
Best practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata APIBest practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata API
Sanchit Dua
 
Mt ADF 001 adf-course outlines
Mt ADF 001 adf-course outlinesMt ADF 001 adf-course outlines
Mt ADF 001 adf-course outlines
Abbas Qureshi
 
Build java-ee-applications-with-adf
Build java-ee-applications-with-adfBuild java-ee-applications-with-adf
Build java-ee-applications-with-adf
Amit Sharma
 
Revised Adf security in a project centric environment
Revised Adf security in a project centric environmentRevised Adf security in a project centric environment
Revised Adf security in a project centric environment
Jean-Marc Desvaux
 
Anatomy Of A Driver Presentation 09 15 2008
Anatomy Of A Driver Presentation   09 15 2008Anatomy Of A Driver Presentation   09 15 2008
Anatomy Of A Driver Presentation 09 15 2008
ctindale
 
MetaASO J2EE Web Framework
MetaASO J2EE Web FrameworkMetaASO J2EE Web Framework
MetaASO J2EE Web Framework
guestc23c1f
 
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
GlobalLogic Ukraine
 
Ad

Recently uploaded (20)

Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
Building the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdfBuilding the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdf
Cheryl Hung
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
João Esperancinha
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Maarten Verwaest
 
Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?
Eric Torreborre
 
Zilliz Cloud Monthly Technical Review: May 2025
Zilliz Cloud Monthly Technical Review: May 2025Zilliz Cloud Monthly Technical Review: May 2025
Zilliz Cloud Monthly Technical Review: May 2025
Zilliz
 
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Markus Eisele
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
Build With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdfBuild With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdf
Google Developer Group - Harare
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Artificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptxArtificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptx
03ANMOLCHAURASIYA
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
Building the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdfBuilding the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdf
Cheryl Hung
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
João Esperancinha
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Maarten Verwaest
 
Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?
Eric Torreborre
 
Zilliz Cloud Monthly Technical Review: May 2025
Zilliz Cloud Monthly Technical Review: May 2025Zilliz Cloud Monthly Technical Review: May 2025
Zilliz Cloud Monthly Technical Review: May 2025
Zilliz
 
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Markus Eisele
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Artificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptxArtificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptx
03ANMOLCHAURASIYA
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 

Customizations in Enterprise Applications using Oracle ADF

  • 1. By: Rohan Walia Oracle ADF and Webcenter Portal Implementation Specialist
  • 2.  Customizations/ Personalization  Types of Customizations  MetaData Services in Oracle ADF  Using MDS for Customization  Implementing Customizations in ADF App  Deep dive into how MDS is used in ADF  Demo on Personalization  Questions
  • 3. Must Be thinking !  Oracle ADF and Webcenter Consultant.  Oracle Certified ADF & Webcenter Implementation specialist.  Consultant, Blogger, Speaker and open networker.  Passionate about Oracle Technologies.  Have been working in Oracle/Java products from 8.5 years.  Currently working with Oracle Consulting.  Blog – http://rohanwalia.blogspot.in/  Twitter - @rohanwalia17
  • 4.  Nothing is as Certain as “CHANGE”  Good Applications is one with Longevity.  Need to protect the investment in Application Development.  Need to react to change should be part of App Design.  It should not come as a shock after App Development.
  • 5.  Personalization - User Customizations  Seeded Customization
  • 6.  Personalization or User Customization  Every end user is Unique.  Different preference for how they like UI to be rendered.  Users like to make themselves at home within the application.
  • 7.  Visual and declarative development using Best Practices  ADF uses XML where ever possible, to configure and drive these technologies  Provides powerful MDS Framework for Customizations/ Personalization  This use of metadata is a key component of the overall ADF architecture  XML enables OOTB Customization as these are done using XML and not code  Code does not needs to be compiled to apply Customizations  Provides configurations to enable and implement customizations without too much learning curve
  • 8. JSF View Controller Model Business Services Data Services Desktop Browser-Based Office ADF Swing MDS in Oracle ADF ADF Faces JSF ADF Controller Mobile ADF Binding Java EJB ADFBC BAM Web Services BPEL BI Portlets Metadata Services (MDS) Mobile Database Web Services Legacy Systems Apps Unlimited
  • 9. Oracle Metadata Services (MDS) is the personalization and customization engine within Oracle Fusion Middleware that manages all of this XML metadata of behalf of components such as JDeveloper and ADF. Metadata is used by the following components  ADF Faces rich client Java Server Faces components  ADF Faces Data Visualization Tools (DVT)  ADF Task Flow  ADF Binding layer  ADF Business Components  Oracle WebCenter
  • 10.  Dynamic Structure and Property changes  Changes are on Metadata of Views, bindings and fragments  Addition and removal of properties on the components of Page or Fragments(JSFF)  Application consist of one Base Application  One or Many Customization Layers holding modifications are applied at runtime
  • 12.  Customization layer is defined by set of metadata documents  These are stored in metadata store on file system or MDS database repository  Customization layer Object determines when to apply these changes  Customization layer object is simple java class  Customization layer determines specific conditions under which customization needs to be applied to application on run
  • 13. Metadata Repository - File or DB
  • 14.  Plain Old Java Object  Determines when to apply customization to base document.  Objects for Common scenarios is provided by ADF Framework.  Customization Layer Object needs to be registered in the application.  E.g. : UserCC , SiteCC , ADFRoleCC etc.  Developer can create Custom Object by extending oracle.mds.cust.CustomizationClass  Needs to override getCacheHint() , getName() and getValue() methods.  Value returned by getValue() method determines when to apply customization
  • 17. ADF Faces components are added in adf-config.xml for which persistence is required.
  • 18.  Context Param CHANGE_PERSISTENCE is added to Web.xml  Has value FilteredPersistenceChangeManager  MDSDocumentChangeManager gets Configured in adf-config.xml
  • 19.  Component Changes occur in response of User – UI Interaction.  They consist of change of properties/attributes of components.  Implicit component changes are performed by the ADF Faces component renderers.  Implicit changes are defined in adf-config.xml components and tags.  Explicit changes are initiated by developer using ADF ChangeManager API.  ChangeManager can accessed through FacesContext to perform explicit changes.  FilteredPersistenceChangeManager ◦ Gets into action for every UI component change request. ◦ Verifies that no restrictions have been applied by the developers to individual component instances. ◦ Verifies whether restrictions are applied using persist and dontPersist attributes on Components.  MDSDocumentChangeManager ◦ After all the validations(as above) changes are passed to MDS Document Change Manager. ◦ Is referenced by FilteredPersistenceChangeManager after validations in defined in adf-config.xml ◦ Updates the MDS metadata document associated with a page.
  • 21.  Allow developers to pre define application settings for individual or group of users.  Seeded Customizations are pre defined during development.  They are dynamically applied to the application at runtime.
  • 22. Changes are done for Customization Values in Customization Developer Mode
  • 24. Questions ? in.linkedin.com/in/rohanwalia/ er.walia@gmail.com @rohanwalia17 http://rohanwalia.blogspot.in/
  翻译: