oracle adf architecture tv - design - mds infrastructure decisions

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

Upload: chris-muir

Post on 11-Nov-2014

207 views

Category:

Technology


1 download

DESCRIPTION

Slides from Oracle's ADF Architecture TV series covering the Design phase of ADF projects, reviewing MDS infrastructure considerations for your ADF applications. 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 - MDS Infrastructure Decisions

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

Page 2: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

Real World ADF Design & Architecture Principles MDS Infrastructure Decisions

ORACLE PRODUCT

LOGO

15th Feb 2013 v1.0

Page 3: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

Learning Objectives

•  At the end of this module you should be able to:

–  Identify the server infrastructure for your application MDS requirements

– Understand the MDS runtime architecture –  Identify the number of MDS repositories to create

Image: imagerymajestic/ FreeDigitalPhotos.net

Page 4: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

Program Agenda

•  MDS Repository •  MDS Runtime Architecture •  Deployment & Performance •  How Many MDS Repositories Do You Need?

Page 5: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

Oracle Metadata Service Repository

•  File based or database based •  Contains metadata (data about data) for Oracle Fusion Middleware

components, like –  Oracle BPEL Process Manager –  Oracle WebCenter –  Oracle Business Activity Monitoring –  Oracle Event Processing etc.

•  Contains information about your ADF application metadata

Page 6: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

Oracle Metadata Service Repository

•  Use Oracle Fusion Middleware Metadata Repository Creation Utility (RCU) to create the metadata repository in an existing database

•  A database can have multiple repositories installed •  A WLS domain can use multiple MDS installations •  For better performance, install metadata repositories on same site

as customizable components –  Keep network latency small

Database Repository

Page 7: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

MDS Database Repository Benefits

•  Better query performance •  A database-based MDS Repository uses the database transaction

semantics, to roll back any failed import or deployment •  Maintains versions of the documents in a database-based repository

–  Changes to metadata objects can be stored as separate version Provides version history and label

Page 8: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

MDS Structure

•  Independent logical repository within MDS repository •  MDS repository can have multiple partitions •  Can be associated with more than one application

–  Recommendation though is to use 1 partition for 1 application for ease of administration and maintenance

•  Can be deleted, cloned, imported and exported to move metadata from one environment to another

Partition

Page 9: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

Program Agenda

• MDS Repository • MDS Runtime Architecture • Deployment & Performance • How Many MDS Repositories Do You Need?

Page 10: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

MDS Runtime Architecture

•  Consists of MDS runtime engine and a set of Mbeans –  Applied to domain as part of the Java Runtime Files (JRF) template

•  Runtime engine –  Manages MDS Repository access and the import of Metadata Archive

(MAR) files contained in an EAR file –  Provides in-built runtime cache for application specific metadata objects

Page 11: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

MDS Runtime Architecture

•  MBeans are provided for WebLogic Sever Scripting Tool (WLST) and Enterprise Manager to – Clear cache –  Import and export application specific customizations – Manages

• The built-in meta object cache –  Cache size, purge interval, external change detection

• Repository connection retry

•  WLS MBeans are not the same as JSF Managed Beans

Page 12: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

MDS Runtime Architecture

WLS Admin Server

Managed WLS Server

Custom ADF Application

MDS Runtime

MDS Repository (RDBMS)

Enterprise Manager Fusion Middleware Control

MDS Administration MBean

WLST

MDS App MBean

Import/ Export

De- / Register Repositories

Repository Access MAR Import

Page 13: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

Program Agenda

•  MDS Repository •  MDS Runtime Architecture •  Deployment & Performance •  How Many MDS Repositories Do You Need?

Page 14: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

ADF Application Deployment Considerations

•  MDS personalization and customization for ADF applications is enabled at development time –  Configuration in adf-config.xml

•  MDS enabled ADF applications must be explicitly associated with a specific MDS repository and partition –  JDeveloper –  MDS WLST commands –  Enterprise Manager Deployment Wizard

•  Seeded customization require application EAR file to contain special MAR file

Page 15: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

Metadata Cache

•  MDS uses a cache to store metadata objects in memory •  Shared cache is accessible to all users of the application that are on

the same JVM •  Metadata object that are requested repeatedly, with the same

customizations, are retrieved more quickly from the cache •  Initial cache size can be configured in adf-config.xml prior

deployment

Page 16: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

MDS Performance Tuning Hints

•  Tuning Database Repository –  For MDS database indexes to work best RDBMS schema statistics are

needed –  Generally, larger redo log files provide better performance –  Have database administrators manually rebuild indexes and shrink MDS

tables to increase performance and to reclaim disk space –  See: Oracle Database Performance Tuning Guide

•  Purging Document Version History –  Choose a sensible auto purge frequency –  Setting in adf-config.xml that can be changed at runtime

Page 17: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

MDS Performance Tuning Hints

•  Using Database Polling Interval for Change Detection –  MDS poll the database to gauge if the data in the MDS cache is out of

sync with data in the database –  If it is out of sync, MDS clears any invalid data from the cache for

subsequent operations –  Default poll interval is 30 seconds. Try to find the best setting for your

deployment –  Polling interval can be configured or changed post deployment through

Mbeans or, before deployment, in the adf-config.xml file

Page 18: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

Program Agenda

• MDS Repository • MDS Runtime Architecture • Deployment & Performance • How Many MDS Repositories Do You Need?

Page 19: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

How many MDS repositories and partitions do we need and what should they contain?

Image: imagerymajestic/ FreeDigitalPhotos.net

Page 20: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

There is no hard rule, but there is a strategy to share

Image: Ambro/ FreeDigitalPhotos.net

Page 21: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

MDS Repository Infrastructure Consideration

•  Define a MDS repository infrastructure that guarantees ease of administration, ease of configuration and best performance –  Many small repositories vs. one monolithic repository –  Infrastructure cost vs. cost of administration for large repository

•  Plan for application versioning –  You may have the requirement to run two versions of an application in

parallel –  ISVs may sell and maintain different versions of your product

Page 22: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

MDS Repository Infrastructure Consideration

•  Consider different Fusion Middleware releases and patch sets –  Application may not be able to migrate to a new FMW patch set or

release with all FMW components at once

•  Consider repository version de-commission –  You should be able to easily get rid of metadata of application and FMW

versions that are no longer in use

•  Ensure the production environment is secure

Page 23: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

MDS Repository Recommendation

•  Use database repositories –  Exception: When developing seeded customization in JDeveloper,

development uses a file based repository

•  Use different repositories for Dev, QA and Prod •  Use partitions for application versions

–  fod-v1-dev, fod-v1-test, fod-v1-prod –  fod-v2-dev, fod-v2-test, fod-v2-prod

•  Create distinct repositories for FMW components

Page 24: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

MDS Repository Strategy and Blueprint

•  "APPLICATION MDS REPOSITORIES" - SOA - WebCenter - Application - etc.

•  "APPLICATION MDS INFRASTRUCTURE" –  Instances of " APPLICATION MDS REPOSITORIES " for Dev, Test,

Production

•  Duplicate APPLICATION MDS INFRASTRUCTURE for each FMW version or patch set

Page 25: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

25 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 26: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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

Further Reading

•  Oracle Fusion Middleware WebLogic Scripting Tool Command Reference –  http://docs.oracle.com/cd/E12839_01/web.1111/e13813/custom_mds.htm

•  Oracle Fusion Middleware Administrator's Guide –  http://docs.oracle.com/cd/E17904_01/core.1111/e10105/repos.htm

Page 27: Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions

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