Oracle BI Multi-user Development: MDS XML versus MUDE

2,072 views

Published on

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.

Published in: Technology
2 Comments
2 Likes
Statistics
Notes
  • For OBIEE Online Training register at http://www.todaycourses.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • http://dbmanagement.info/Tutorials/OBIEE.htm
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
2,072
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
130
Comments
2
Likes
2
Embeds 0
No embeds

No notes for slide

Oracle BI Multi-user Development: MDS XML versus MUDE

  1. 1. www.rittmanmead.com inquiries@rittmanmead.com @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
  2. 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. 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. 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. 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
  6. 6. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead 1 Configuring MUDE: Defining Projects
  7. 7. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead 1 Configuring MUDE: Defining Projects 2
  8. 8. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead 1 Configuring MUDE: Defining Projects 2 3
  9. 9. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead 1 Configuring MUDE: Checking-out Projects
  10. 10. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead 1 Configuring MUDE: Checking-out Projects 2
  11. 11. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead 1 Configuring MUDE: Checking-out Projects 2 3
  12. 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
  13. 13. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Comparing Changes
  14. 14. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Comparing Changes
  15. 15. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Comparing Changes
  16. 16. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Merging Changes
  17. 17. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Merging Changes
  18. 18. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Merging Changes
  19. 19. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Merging Changes
  20. 20. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Merging Changes
  21. 21. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Merging Changes
  22. 22. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Merging Changes
  23. 23. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Merging Changes
  24. 24. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Viewing MUD History
  25. 25. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Viewing MUD History
  26. 26. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Viewing MUD History
  27. 27. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MUDE Development: Viewing MUD History
  28. 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. 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
  30. 30. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Getting Started with MDS XML: Generating and Opening
  31. 31. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Getting Started with MDS XML: Generating and Opening
  32. 32. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Getting Started with MDS XML: Generating and Opening
  33. 33. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead 1 Getting Started with MDS XML: Registering
  34. 34. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead 1 Getting Started with MDS XML: Registering 2
  35. 35. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead 1 Getting Started with MDS XML: Registering 2 3
  36. 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. 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. 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. 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
  40. 40. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Git: Switching Between Branches 1
  41. 41. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Git: Switching Between Branches 1 2
  42. 42. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Git: Switching Between Branches 1 2 3
  43. 43. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Git: Switching Between Branches 1 2 3 4
  44. 44. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Git: Merging Branches 1
  45. 45. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Git: Merging Branches 1 2
  46. 46. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Git: Branching the Entire Process
  47. 47. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MDS XML: Choosing an Install Type Client Installation Using the Administration Tool to do standalone development
  48. 48. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MDS XML: Choosing an Install Type Enterprise Installation Separate containers for Admin and Managed Servers
  49. 49. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MDS XML: Choosing an Install Type Simple Installation Single Container uses a smaller footprint for laptops and VMs
  50. 50. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MDS XML: Choosing an Install Type
  51. 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
  52. 52. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MDS XML: Adding Online Development 1
  53. 53. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MDS XML: Adding Online Development 1 2
  54. 54. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MDS XML: Adding Online Development 1 2 3
  55. 55. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead MDS XML: Adding Online Development 1 2 3 4
  56. 56. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead manage_rpd.pl: Perl script for RPD management
  57. 57. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead manage_rpd.pl: Perl script for RPD management
  58. 58. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead manage_rpd.pl: Perl script for RPD management
  59. 59. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead DEMO MDS XML Multi-User Development using Git
  60. 60. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Complex Merge: Conflicts 1
  61. 61. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Complex Merge: Conflicts 1 2
  62. 62. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Complex Merge: Conflicts 1 2 3
  63. 63. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Complex Merge: Conflicts 1 2 3
  64. 64. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Complex Merge: Conflicts 1 2 3
  65. 65. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Conflict Resolution: Manual RPD Editing
  66. 66. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Conflict Resolution: Manual RPD Editing
  67. 67. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Conflict Resolution: Manual RPD Editing
  68. 68. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Conflict Resolution: Admin Tool Merge (Non-Equalized) 1
  69. 69. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Conflict Resolution: Admin Tool Merge (Non-Equalized) 1
  70. 70. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Conflict Resolution: Admin Tool Merge (Non-Equalized) 1
  71. 71. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Conflict Resolution: Admin Tool Merge (Non-Equalized) 1 2
  72. 72. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Conflict Resolution: Admin Tool Merge (Non-Equalized) 1 2 3
  73. 73. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Conflict Resolution: Admin Tool Merge (Non-Equalized) 1 2 3 4
  74. 74. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Conflict Resolution: Admin Tool Merge (Equalized) 1
  75. 75. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Conflict Resolution: Admin Tool Merge (Equalized) 1 2
  76. 76. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Conflict Resolution: Admin Tool Merge (Equalized) 1 2 3
  77. 77. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Deployments: RPD Patching
  78. 78. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Deployments: RPD Patching
  79. 79. www.rittmanmead.com inquiries@rittmanmead.com @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_BI1bifoundationserverbin
  80. 80. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Deployments: Build Process Development RPD comparerpd v1.0 v2.0 1
  81. 81. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Deployments: Build Process Development RPD comparerpd v1.0 v2.0 1 QA RPD patchrpd 2
  82. 82. www.rittmanmead.com inquiries@rittmanmead.com @rittmanmead www.facebook.com/rittmanmead Deployments: Build Process Development RPD comparerpd v1.0 v2.0 1 QA RPD patchrpd 2 Production RPD patchrpd 3
  83. 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. 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. 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

×