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.
2. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmeadwww.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmeadwww.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmeadwww.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead
Stewart Bryson
•Oracle ACE Director
•@StewartBryson
•stewart.bryson@rittmanmead.com
•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
•Real Time BI with Kevin & Stewart
‣iTunes: http://bit.ly/realtimebi
‣YouTube: http://www.youtube.com/user/
realtimebi
3. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmeadwww.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmeadwww.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmeadwww.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead
About Rittman Mead
•@RittmanMead
•Oracle BI and DW Partner
•Innovation leader in Oracle BI
•Over 100 consultants worldwide
•Offices in US (Atlanta), Europe,
Australia, India and South Africa
•Skills in broad range of supporting
Oracle BI Tools
‣OBIEE, Exalytics and OBIA
‣ODI, EDQ, OWB
‣Essbase and Oracle OLAP
‣GoldenGate
‣Exadata
‣Endeca
4. www.rittmanmead.com inquiries@rittmanmead.com @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
5. www.rittmanmead.com inquiries@rittmanmead.com @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
12. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead
Completed MUDE Project Checkout
In 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
28. www.rittmanmead.com inquiries@rittmanmead.com @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
29. www.rittmanmead.com inquiries@rittmanmead.com @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
36. www.rittmanmead.com inquiries@rittmanmead.com @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.”
37. www.rittmanmead.com inquiries@rittmanmead.com @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.
38. www.rittmanmead.com inquiries@rittmanmead.com @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:
39. www.rittmanmead.com inquiries@rittmanmead.com @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
51. www.rittmanmead.com inquiries@rittmanmead.com @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
83. www.rittmanmead.com inquiries@rittmanmead.com @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?
84. www.rittmanmead.com inquiries@rittmanmead.com @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?
85. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead
Contact Information
Stewart Bryson
Chief Innovation Officer
Rittman Mead
stewart.bryson@rittmanmead.com
@stewartbryson
https://github.com/RittmanMead/scripts