oracle adf architecture tv - design - application customization and mds

38
1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Upload: chris-muir

Post on 31-Oct-2014

135 views

Category:

Technology


2 download

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

TRANSCRIPT

Page 1: Oracle ADF Architecture TV - Design - Application Customization and MDS

1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Page 2: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 3: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 4: Oracle ADF Architecture TV - Design - Application Customization and MDS

4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Intro •  Adaptation •  Personalization • Customization • Composer (Customization @ Runtime) •  Personalization & Customization Architecture

Page 5: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 6: Oracle ADF Architecture TV - Design - Application Customization and MDS

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?

Page 7: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 8: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 9: Oracle ADF Architecture TV - Design - Application Customization and MDS

9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Intro •  Adaptation •  Personalization • Customization • Composer (Customization @ Runtime) •  Personalization & Customization Architecture

Page 10: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 11: Oracle ADF Architecture TV - Design - Application Customization and MDS

11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Intro •  Adaptation •  Personalization • Customization • Composer (Customization @ Runtime) •  Personalization & Customization Architecture

Page 12: Oracle ADF Architecture TV - Design - Application Customization and MDS

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 …

Page 13: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 14: Oracle ADF Architecture TV - Design - Application Customization and MDS

14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Personalization With MDS Or Without?

Page 15: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 16: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 17: Oracle ADF Architecture TV - Design - Application Customization and MDS

17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Intro •  Adaptation •  Personalization • Customization • Composer (Customization @ Runtime) •  Personalization & Customization Architecture

Page 18: Oracle ADF Architecture TV - Design - Application Customization and MDS

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 …

Page 19: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 20: Oracle ADF Architecture TV - Design - Application Customization and MDS

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"

Page 21: Oracle ADF Architecture TV - Design - Application Customization and MDS

21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Metadata Customization

Base  App   Individual  Customiza4on  

Individual  Customiza4on  

Group  Customiza4on  

Group  Customiza4on  

Page 22: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 23: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 24: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 25: Oracle ADF Architecture TV - Design - Application Customization and MDS

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)

Page 26: Oracle ADF Architecture TV - Design - Application Customization and MDS

26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Packaging of Defined Customizations Metadata Archive (MAR)

Page 27: Oracle ADF Architecture TV - Design - Application Customization and MDS

27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Intro •  Adaptation •  Personalization • Customization • Composer (Customization @ Runtime) •  Personalization & Customization Architecture

Page 28: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 29: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 30: Oracle ADF Architecture TV - Design - Application Customization and MDS

30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Intro •  Adaptation •  Personalization • Customization • Composer (Customization @ Runtime) •  Personalization & Customization Architecture

Page 31: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 32: Oracle ADF Architecture TV - Design - Application Customization and MDS

32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Application Runtime View

Page 33: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 34: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 35: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 36: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 37: Oracle ADF Architecture TV - Design - Application Customization and MDS

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

Page 38: Oracle ADF Architecture TV - Design - Application Customization and MDS

38 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.