View
135
Download
2
Category
Tags:
Preview:
DESCRIPTION
Slides from Oracle's ADF Architecture TV series covering the Design phase of ADF projects, investigating application customisation and MDS. Like to know more? Check out: - Subscribe to the YouTube channel - http://bit.ly/adftvsub - Design Playlist - http://www.youtube.com/playlist?list=PLJz3HAsCPVaSemIjFk4lfokNynzp5Euet - Read the episode index on the ADF Architecture Square - http://bit.ly/adfarchsquare
Citation preview
1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Real World ADF Design & Architecture Principles Application Customization and Personalization
ORACLE PRODUCT
LOGO
15th Feb 2013 v1.0
3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Learning Objectives
• At the end of this module you should be able to:
– Know about the differences between Customization and Personalization
– Explain the MDS architecture – Understand how to apply customization to an ADF application
and how to deploy customized applications – Identify the number of MDS instances and partitions you need for
an application
Image: imagerymajestic/ FreeDigitalPhotos.net
4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
• Intro • Adaptation • Personalization • Customization • Composer (Customization @ Runtime) • Personalization & Customization Architecture
5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
You can only please most people some of the time, and some people most of the time.
Image: Ambro/ FreeDigitalPhotos.net
6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
You can only please most people some of the time, and some people most of the time.
Image: Ambro+imagerymajestic/ FreeDigitalPhotos.net
What if it was possible for anyone at any time?
7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Application Development Framework (ADF)
• ADF Faces Rich Client • Data Visualization Components • ADF Controller • ADF Binding Layer • ADF Business Components
Candidates for Customization and Personalization
8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
How does customization and personalization fit in an architect training course?
Image: imagerymajestic/ FreeDigitalPhotos.net
9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
• Intro • Adaptation • Personalization • Customization • Composer (Customization @ Runtime) • Personalization & Customization Architecture
10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Adaptation
• Adaptive Design – Build responsive user interfaces
• Adapting to user agents – Screen resolution – Touch support – Responsibility
11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
• Intro • Adaptation • Personalization • Customization • Composer (Customization @ Runtime) • Personalization & Customization Architecture
12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Personalization Use Case
• Wants different order of panel boxes in a panel dash board • Prefers data table columns in a different order • Likes to re-arrange order of input fields in an input form • Needs application to memorize collapse state of panelBox,
panelSplitter, showDetail header • Wants to save custom af:query settings
A User …
13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Application Personalization in ADF Faces
• Persists changes for ADF Faces components and restores them • User personalization based on end user interaction
– Changes to an attribute value – Addition or removal of a child component – Re-ordering of children within the same parent – Move of child component to a different parent
14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Personalization With MDS Or Without?
15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Personalization Without MDS
• All component changes are saved for the duration of the user session – No filtering of components that should not be personalizable – All changes are kept in session object, which has an impact to
performance for large applications
16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Personalization With MDS
• Personalization is saved beyond application re-start • You can define which component type and which component
attributes can be personalized – Configuration in adf-config.xml
• Each UI component has a persist / dontPersist property that allows you to override the global component type settings for fine granular personalization definitions – Personalization by component instance added to a page or view
17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
• Intro • Adaptation • Personalization • Customization • Composer (Customization @ Runtime) • Personalization & Customization Architecture
18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Customization Use Case
• Requires additional input fields and business service attributes in specific geographic regions
• Needs a way to provide experienced users with a "type ahead" form whereas novice users need data input wizards and LOV
• Requires an application to render different if accessed from outside of the intranet or after business hours
• Wants to perform navigation differently based on user responsibilities identified by application roles
• Show different user information based on user's role in the company
A Business …
19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Customization Should
• Not impact the base application • Support patching and upgrades • Require zero or only minor application downtime • Be easy to manage and maintain • Be provided with optimized performance • Be scalable and fail over enabled • Be applied conditionally
20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Customization Layers in MDS
• Customization layers are defined and configured as Java objects • Seeded metadata changes are associated with a customization
layer • Order of layers matters • Personalization always is the "tip-layer"
21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Metadata Customization
Base App Individual Customiza4on
Individual Customiza4on
Group Customiza4on
Group Customiza4on
22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Adding Customization To ADF Applications
• Build the base application • Enable MDS and seeded customization • Optionally, create your own customization class
– Name – Cache hint – Layer name
• Configure customization classes in adf-config.xml – Important: add UserCC customization object for user specific
personalization
23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Default Customization Classes in ADF
• UserCC – Returns the Principal name for authenticated user – Use for end user personalization
• SiteCC – Returns "site" as layer value
• ADFRolesCC – Returns enterprise and application role names
• Use enterprise roles for site level customization • Use application roles for seeded customization
24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Ho-to Build Seeded MDS Customizations Declarative Development
• Start Oracle JDeveloper with the Customization Developer Role
• Define metadata changes for defined customization layers
• Note that developer experience is the same as when creating base metadata
• Only existing metadata is customizable – No Java objects
25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Packaging of Defined Customizations
• A Compressed archive of selected metadata • Used to deploy metadata content to MDS repository • Used by the following application types
– ADF applications – SOA composite applications – Oracle WebCenter Portal applications
Metadata Archive (MAR)
26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Packaging of Defined Customizations Metadata Archive (MAR)
27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
• Intro • Adaptation • Personalization • Customization • Composer (Customization @ Runtime) • Personalization & Customization Architecture
28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Oracle WebCenter
• Integrated set of products to build social applications, collaborative communities, composite applications and enterprise portals
• Product and Framework built based on Oracle ADF • Leverages ADF Security for application security and customization
authorization • Separate license from Oracle ADF
29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Oracle WebCenter
• Browser based platform • Allows page and layout customization
at runtime • Includes
– Resource Catalog to select view components and services (developed as task flows)
– Sandbox to test changes in isolation
• Provides additional ADF layout container components
Oracle Composer
30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
• Intro • Adaptation • Personalization • Customization • Composer (Customization @ Runtime) • Personalization & Customization Architecture
31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Layered Customization Runtime View Application
View
Controller
ADF Model
ADF BC
Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7
Personalization Base App
Seeded Customization
32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Application Runtime View
33 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 33 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
How many customization layers do I need and what is the number of layers I should not exceed?
Image: imagerymajestic/ FreeDigitalPhotos.net
34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Could I use customization for implementing security?
Image: imagerymajestic/ FreeDigitalPhotos.net
35 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 35 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Anything I have to keep in mind when using MDS to implement security?
Image: imagerymajestic/ FreeDigitalPhotos.net
36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Conclusion
• Customization and Personalization should be considered as part of the application design to avoid unnecessary coding
• Consider performance aspects when applying customizations and personalization features
• Customization may be used to enforce security. If you do so – Ensure application is save when MDS repository content is missing – Implement defense in depth in that you backup MDS security
definitions in the application
• Consider a deployment strategy that allows you to upgrade applications and FMW components
37 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Further Reading
• Building Customizable Applications Using Oracle Metadata Services (III) – http://www.oracle.com/technetwork/articles/adf/part10-085778.html
• Fusion Middleware Fusion Developer's Guide : – Customizing Applications with MDS
• http://docs.oracle.com/cd/E15523_01/web.1111/b31974/customize.htm#CFHBABEB – Allowing User Customizations at Runtime
• http://docs.oracle.com/cd/E15523_01/web.1111/b31974/ad_persist.htm
38 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Recommended