oracle bi multi-user development: mds xml versus mude

78
www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead MDS XML Versus MUDE: RPD Multi-User Development and SCM Options Stewart Bryson Chief Innovation Officer, Global Operations Rittman Mead

Upload: stewart-bryson

Post on 27-Jan-2015

123 views

Category:

Technology


0 download

DESCRIPTION

Oracle Business Intelligence 11g provides the ability to develop a metadata repository as a collection of XML documents instead of a single binary RPD file. Included in this functionality is the ability to configure the OBIEE Admin Tool to interact with third-party Source Control Management (SCM) systems as a way of version-controlling the repository development process. In this presentation, we will explore MDS XML functionality in the OBIEE Admin Tool, including how to generate the MDS XML files from an existing RPD file and configure the repository to work with Git as a sample SCM system. We will also explore how this new feature extends the capabilities of multi-user development for Oracle BI repositories, and how it compares to other pre-existing development options.

TRANSCRIPT

Page 1: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MDS XML Versus MUDE: RPD Multi-User Development and SCM OptionsStewart Bryson Chief Innovation Officer, Global Operations Rittman Mead

Page 2: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

About Stewart Bryson•Twitter : @StewartBryson •Oracle ACE in BI/DW •Chief Innovation Officer for Rittman Mead Global •Community Speaker and Enthusiast •Writer for Rittman Mead Blog:http://www.rittmanmead.com/blog

•BI Content Chair for Kscope14 ‣www.kscope14.com (Registration Open!)

•Developer of Transcend Framework •Email : [email protected] •Real Time BI with Kevin & Stewart ‣iTunes: http://bit.ly/realtimebi ‣YouTube: http://www.youtube.com/user/realtimebi

Page 3: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

About Rittman Mead•Oracle BI and DW Partner •World leader in solutions delivery and innovation in Oracle BI

•Over 100 consultants worldwide •Offices in US (Atlanta), Europe, Australia and India

•Skills in broad range of supporting Oracle BI Tools ‣OBIEE, Exalytics and OBIA ‣ODI, EDQ, OWB ‣Essbase and Oracle OLAP ‣GoldenGate ‣Exadata ‣Endeca

Page 4: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Presentation Agenda

•Take a look at OBIEE Multi-User Development Environment (MUDE)

•Understand MDS XML: what it is… why do we care? •Investigate Git, our sample version control system •See manage_rpd.pl: a Perl script for automating some basic tasks

•A demo of repository development using the Admin Tool and Git.

•(Optional) Discuss enterprise SCM deployments

Page 5: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Repository Software Development Lifecycle (SDLC) Challenges

• Allow multiple users to develop concurrently ‣Serialized ‣Non-serialized

• Version control of repository ‣Providing “rollback” capabilities ‣Never develop the same “code” twice

• Package up releases ‣Allow easy migration between

environments ‣Provide the ability to version the

entire BI project

Page 6: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

1

Configuring MUDE: Defining Projects

Page 7: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

1

Configuring MUDE: Defining Projects

2

Page 8: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

1

Configuring MUDE: Defining Projects

2

3

Page 9: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

1

Configuring MUDE: Checking-out Projects

Page 10: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

1

Configuring MUDE: Checking-out Projects

2

Page 11: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

1

Configuring MUDE: Checking-out Projects

23

Page 12: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Completed MUDE Project CheckoutIn the Master directory ‣gcbc.rpd: The original master RPD file ‣gcbc.000: A backup file for rollback

purposes ‣gcbc.mhl: The history file (can be

converted to an XML file using mhlconverter) !

In the Repositories directory ‣gcbc_project1.rpd: The subset RPD

file ‣originalgcbc_project1: Another copy

of the subset RPD file for doing 3-way merges

Page 13: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MUDE Development: Comparing Changes

Page 14: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MUDE Development: Comparing Changes

Page 15: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MUDE Development: Comparing Changes

Page 16: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MUDE Development: Merging Changes

Page 17: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MUDE Development: Merging Changes

Page 18: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MUDE Development: Merging Changes

Page 19: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MUDE Development: Merging Changes

Page 20: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MUDE Development: Merging Changes

Page 21: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MUDE Development: Merging Changes

Page 22: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MUDE Development: Viewing MUD History

Page 23: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MUDE Development: Viewing MUD History

Page 24: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MUDE Development: Viewing MUD History

Page 25: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MUDE Development: Viewing MUD History

Page 26: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

“Metadata-only” Multi-User Development

•Merging is done by the developer instead of a “source master”

•The master repository is not itself checked into version control

•Siloed merging and branching

•Doesn’t version entire BI project

Page 27: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

The MDS XML Repository Storage Format

•New in OBIEE 11.1.1.6 •Like XUDML, but individual documents for first-class repository objects

•Binary repository files are still required for the BI Server ‣Generated by the Admin Tool ‣Generated by validaterpd command-line utility ‣NOTE: Don’t use biserverxmlexec command-line utility

•Integration with version control systems built into the Admin Tool

Page 28: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Getting Started with MDS XML: Generating and Opening

Page 29: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Getting Started with MDS XML: Generating and Opening

Page 30: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Getting Started with MDS XML: Generating and Opening

Page 31: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

1

Getting Started with MDS XML: Registering

Page 32: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

1

Getting Started with MDS XML: Registering

2

Page 33: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

1

Getting Started with MDS XML: Registering

23

Page 34: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Who Said This?“The primary purpose of this new storage format and the source control extensions in the Oracle BI Administration tool is to permit fine-grained tracking and recording of changes to objects in a single repository. It is not a replacement for the Multiuser Development Environment, as it does not have any features for merge conflict resolution, which instead would need to be performed using the source control client tools.”

Page 35: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Who Said This?“The primary purpose of this new storage format and the source control extensions in the Oracle BI Administration tool is to permit fine-grained tracking and recording of changes to objects in a single repository. It is not a replacement for the Multiuser Development Environment, as it does not have any features for merge conflict resolution, which instead would need to be performed using the source control client tools.”

Mark Rittman (2012-09-18). Oracle Business Intelligence 11g Developers Guide (Kindle Locations 19413-19417). McGraw-Hill. Kindle Edition.

Page 36: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Version Control using GIT

•Initially designed and developed by Linus Torvalds for Linux kernel development

•Local repository for remote publishing ‣Continual local commits ‣Periodic network publication

•Commands we care about today:

==> git checkout!==> git commit!==> git merge!==> git rebase!==> git reset!==> git push/pull

Page 37: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Git: Switching Between Branches

1

Page 38: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Git: Switching Between Branches

1

2

Page 39: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Git: Switching Between Branches

1

2

3

Page 40: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Git: Switching Between Branches

1

2

3

4

Page 41: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Git: Merging Branches

1

Page 42: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Git: Merging Branches

1

2

Page 43: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Git: Branching the Entire Process

Page 44: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MDS XML: Choosing an Install Type

Page 45: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MDS XML: Choosing an Install Type

Page 46: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MDS XML: Choosing an Install Type

Page 47: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MDS XML: Full Development Environment (Simple Install)

•RPD Development requires a BI Server ‣See the BI Server Intelligent Request Generation ‣See SQL or MDX Generation

•RPD Development requires a query tool ‣Something to query the BI Server ‣Presentation Server works well

•RPD Development requires data visualization ‣OBIEE just so happens to have that

Page 48: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MDS XML: Adding Online Development

1

Page 49: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MDS XML: Adding Online Development

1

2

Page 50: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MDS XML: Adding Online Development

1

23

Page 51: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

MDS XML: Adding Online Development

1

23

4

Page 52: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

manage_rpd.pl: Perl script for RPD management

Page 53: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

manage_rpd.pl: Perl script for RPD management

Page 54: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

manage_rpd.pl: Perl script for RPD management

Page 55: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

DEMO MDS XML Multi-User Development using Git

Page 56: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Complex Merge: Conflicts

1

Page 57: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Complex Merge: Conflicts

12

Page 58: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Complex Merge: Conflicts

12

3

Page 59: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Complex Merge: Conflicts

12

3

Page 60: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Conflict Resolution: Manual RPD Editing

Page 61: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Conflict Resolution: Manual RPD Editing

Page 62: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Conflict Resolution: Manual RPD Editing

Page 63: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Conflict Resolution: Admin Tool Merge (Non-Equalized)

1

Page 64: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Conflict Resolution: Admin Tool Merge (Non-Equalized)

1

Page 65: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Conflict Resolution: Admin Tool Merge (Non-Equalized)

1

2

Page 66: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Conflict Resolution: Admin Tool Merge (Non-Equalized)

1

2

3

Page 67: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Conflict Resolution: Admin Tool Merge (Non-Equalized)

1

2

3

4

Page 68: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Conflict Resolution: Admin Tool Merge (Equalized)

1

Page 69: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Conflict Resolution: Admin Tool Merge (Equalized)

1

2

Page 70: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Conflict Resolution: Admin Tool Merge (Equalized)

1

2

3

Page 71: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Deployments: RPD Patching

Page 72: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Deployments: RPD Patching

Page 73: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Deployments: RPD Patching

patchrpd -P [modified repository password] -C [modified repository path and name] -Q [original repository password] -G [original repository path and name] -I [patch file path and name] -O [new repository path and name]

comparerpd –P [current repository password] –C [current repository path and name] –W [original repository password] –G [original repository path and name] –D [patch file path and name]

In [middleware_home]\Oracle_BI1\bifoundation\server\bin

Page 74: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Deployments: Build Process

Development RPD

comparerpd

v1.0

v2.0

1

Page 75: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Deployments: Build Process

Development RPD

comparerpd

v1.0

v2.0

1 QA RPD

patchrpd

2

Page 76: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Deployments: Build Process

Development RPD

comparerpd

v1.0

v2.0

1 QA RPD

patchrpd

2 Production RPD

patchrpd

3

Page 77: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

What Do We Think?

•MUDE provides more granular control over individual repository objects ‣Multiple changes to the same physical file are supported ‣XML/Git can do the same using built-in Admin Tool utilities

•XML/Git allows us to use a common framework for all our BI Content in one central store ‣presentation catalog, ODI Content, database scripts ‣We can periodically check-in the MUDE master RPD and history file to Git as well

•Was Mark Rittman right?

Page 78: Oracle BI Multi-user Development: MDS XML versus MUDE

www.rittmanmead.com [email protected] @rittmanmead www.facebook.com/rittmanmead

Contact Information Stewart Bryson Chief Innovation Officer Rittman Mead [email protected] @stewartbryson https://github.com/RittmanMead/scripts