customizations in enterprise applications using oracle adf
TRANSCRIPT
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
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
Must Be thinking !
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
Business Services
Data Services
Model
Controller
JSF View
Desktop Browser-Based
OfficeADF
Swing
MDS in Oracle ADF
EJB BAMADFBC PortletsBIBPELWeb ServicesJava
ADF Faces
Me
tad
ata
Se
rvic
es (
MD
S)
Mobile
Database Web Services Legacy Systems Apps Unlimited
JSF ADF Controller
ADF Binding
Mobile
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 JDeveloperand 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
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
MetadataRepository -
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
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.
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
Questions ?
in.linkedin.com/in/rohanwalia/
@rohanwalia17
http://rohanwalia.blogspot.in/