Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DevOps and OBIEE: Do it Before it's too late!
Search
FTisiot
June 11, 2018
Technology
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DevOps and OBIEE: Do it Before it's too late!
FTisiot
June 11, 2018
More Decks by FTisiot
See All by FTisiot
Apache Kafka JDBC Source Connector: What could go wrong?
ftisiot
0
150
Solve the Knapsack problem with recursive queries and PostgreSQL
ftisiot
0
190
Build an Open Source Data Pipeline
ftisiot
0
370
Get to know Apache Kafka with Jupyter Notebooks
ftisiot
0
800
Fix Your Strings in PostgreSQL
ftisiot
0
310
Practical Tips & Tricks for Apache Kafka Messages Integration
ftisiot
0
280
Track Database Changes with Apache Kafka
ftisiot
0
330
Apache Kafka and Flink: Stateful Streaming Data Pipelines made easy with SQL
ftisiot
0
1k
Kickstart your Kafka with Faker Data
ftisiot
0
490
Other Decks in Technology
See All in Technology
新卒エンジニア、 介護士になる
ryu1013
1
660
Lint の層を組み直した話
bengo4com
1
280
Content Mapper APIの応用例~CSS Modules、言語ファイル~
uhyo
2
470
AIコーディングエージェント開発_全体像
happysamurai294
0
140
Claude for Google Workspaces ポン出し/claude-for-google-workspace-slide-conversion
emiki
0
13k
"計画的無茶振り"を通してAIネイティブ世代の新人を育てる
subroh0508
1
140
書き手が人でもAIでも正しくなる道、SREを埋め込んだDeveloper Platform / tech drivers day8
chmikata
4
870
Vibe-to-Spec開発_実践ガイド
happysamurai294
0
140
You Have Agency(サンキュー、Ruby)
snoozer05
PRO
5
640
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
0
180
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
130
キヨさん、67歳。AIコーディングエージェントに挑む
happysamurai294
0
130
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
290
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Building Adaptive Systems
keathley
44
3.3k
Docker and Python
trallard
47
4.2k
Code Review Best Practice
trishagee
74
20k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
510
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
KATA
mclloyd
PRO
35
16k
Odyssey Design
rkendrick25
PRO
2
910
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Transcript
[email protected]
www.rittmanmead.com @rittmanmead !1 DevOps and OBIEE: Do it Before
it's Too Late!
[email protected]
www.rittmanmead.com @rittmanmead !2 Verona, Italy Rittman Mead Blog 10
Years Experience in BI/Analytics
[email protected]
@FTisiot Oracle ACE No Cappuccino After 11 Knight Photo by Matt Hoffman on Unsplash Francesco Tisiot BI Tech Lead at Rittman Mead
[email protected]
www.rittmanmead.com @rittmanmead !3 Photo by Pascal van de Vendel
on Unsplash Mode 1 Analytics IT Driven Long Cycle Times Centralised
[email protected]
www.rittmanmead.com @rittmanmead !4 Photo by Kyle Henderson on Unsplash
Mode 2 Analytics Fast Business Driven Data Discovery
[email protected]
www.rittmanmead.com @rittmanmead !5 Photo by Jovica Smileski on Unsplash
Centralised • Unique Source of Truth • KPIs Definition • Development • Test • Release
[email protected]
www.rittmanmead.com @rittmanmead !6 Photo by Chris Sabor on Unsplash
TTD Development Isolation Manual Deployment Manual Testing
[email protected]
www.rittmanmead.com @rittmanmead !7 Photo by chage tang on Unsplash
Agile DevOps
[email protected]
www.rittmanmead.com @rittmanmead !8 https://www.01net.it/sviluppare-software-metodo-agile/ Collaboration Frequent Delivery Focus Iteration
[email protected]
www.rittmanmead.com @rittmanmead !9 DevOps https://www.niceideas.ch/roller2/badtrash/entry/devops-explained
[email protected]
www.rittmanmead.com @rittmanmead !10 https://www.niceideas.ch/roller2/badtrash/entry/devops-explained Waste Before it’s Too Late?
[email protected]
www.rittmanmead.com @rittmanmead !11 Before it’s Too Late? https://www.niceideas.ch/roller2/badtrash/entry/devops-explained Risk
[email protected]
www.rittmanmead.com @rittmanmead !12 Before it’s Too Late! The Results
are Wrong! Production is Pointing to UAT! We Locked the DB User! Which RPD can we Promote? Photo by R. Mac Wheeler on Unsplash
[email protected]
www.rittmanmead.com @rittmanmead !13 OBIEE *1996 - ✝2018 Photo by
Jerry Kiesewetter on Unsplash Before it’s Too Late!
[email protected]
www.rittmanmead.com @rittmanmead !14 Agenda • Default Situation • Code
Versioning • Development Isolation • Testing • Promoting • Process Automation
[email protected]
www.rittmanmead.com @rittmanmead !15 RPD Source Catalog OBIEE Security Config
Artefacts
[email protected]
www.rittmanmead.com @rittmanmead !16 The Original OBIEE Sins • No
Code Versioning • Concurrent Online RPD Editing • Manual Regression Testing • Limited Scripting • Manual Deployment Photo by David Clode on Unsplash
[email protected]
www.rittmanmead.com @rittmanmead !17 Photo by Erwan Hesry on Unsplash
DevOps is a Methodology
[email protected]
www.rittmanmead.com @rittmanmead !18 Photo by Fidel Fernando on Unsplash
Start Simple - Code Versioning • RPD • Catalog • Security • Config Files • Artefacts
[email protected]
www.rittmanmead.com @rittmanmead !19 Gitflow Method Master Branch -> Production
Develop Branch -> Development Features -> New Developments
[email protected]
www.rittmanmead.com @rittmanmead !20 RPD • RPD Binary • MDS
XML • How to Merge?
[email protected]
www.rittmanmead.com @rittmanmead !21 Catalog • Set of XML Files
• Stored as .catalog? • What about .atr? • How to deploy?
[email protected]
www.rittmanmead.com @rittmanmead !22 Security • system-jazn-data in 11g •
bar file in 12c (contains system-jazn-data) • WLST Scripting (infrastructure as code)
[email protected]
www.rittmanmead.com @rittmanmead !23 Config Files • Automatically promoted? •
Distinct files per environment
[email protected]
www.rittmanmead.com @rittmanmead !24 Photo by raquel raclette on Unsplash
Development Isolation Local Instances VMs Docker
[email protected]
www.rittmanmead.com @rittmanmead !25 Photo by Matthew Henry on Unsplash
Original Situation Online RPD/Catalog Editing No History No Change Control No Automated Regression Testing
[email protected]
www.rittmanmead.com @rittmanmead !26 Photo by Aaron Burden on Unsplash
Start Simple • Offline RPD • Dev Server for Catalog No test of the RPD Before Merging!
[email protected]
www.rittmanmead.com @rittmanmead !27 Photo by James & Carol Lee
on Unsplash And Evolve… • Fully Separated Dev Envs • Content pushed/pulled from Git
[email protected]
www.rittmanmead.com @rittmanmead !28 Photo by James & Carol Lee
on Unsplash And Evolve… • Automated Environment Creation • Docker ‣ https:/ /github.com/gianniceresa/docker-images
[email protected]
www.rittmanmead.com @rittmanmead !29 OBIEE + DB OBIEE F1 OBIEE
F2 DB F1_BIPLATFORM F2_BIPLATFORM Docker Options
[email protected]
www.rittmanmead.com @rittmanmead !30 Photo by Timothy Rhyne on Unsplash
Testing
[email protected]
www.rittmanmead.com @rittmanmead !31 RPD Consistency Check Validates RPD Logic
Errors Warnings
[email protected]
www.rittmanmead.com @rittmanmead !32 RPD Command Line Consistency Check validaterpd
-R <repositoryName> -O/C/X <outputfile> Text CSV XML
[email protected]
www.rittmanmead.com @rittmanmead !33 RPD Understanding Differences comparerpd -C <modifiedRPD>
-G <originalRPD> -O/F <outputfile> Validating Differences
[email protected]
www.rittmanmead.com @rittmanmead !34 Catalog Consistency Check runcat.cmd -cmd validate
-items Report -links Report -offline <path_to_catalog> Valid XMLs No Broken Links
[email protected]
www.rittmanmead.com @rittmanmead !35 Photo by Vincent van Zalinge on
Unsplash Regression Testing Before After
[email protected]
www.rittmanmead.com @rittmanmead !36 Photo by Tanner Larson on Unsplash
Testing Suite • Static • Comprehensive • Security Sensitive Separate Catalog Folder
[email protected]
www.rittmanmead.com @rittmanmead !37 BVT Baseline Validation Tool • Automated
Testing • Set of Prebuilt Test ‣ Logic SQL (Discontinued) ‣ Catalog ‣ Reports ‣ Dashboards ‣ UI ‣ BI Publisher ‣ Visual Analyser
[email protected]
www.rittmanmead.com @rittmanmead !38 BVT Baseline Validation Tool • Deployment
‣ Deployment Name ‣ Connections (analytics/bip/va) ‣ User • Test ‣ Set of Tests to run ‣ Catalog Folder • Results ‣ Results Folder textconfig.xml
[email protected]
www.rittmanmead.com @rittmanmead !39 BVT Baseline Validation Tool • Thresholds
‣ UI Comparison
[email protected]
www.rittmanmead.com @rittmanmead !40 BVT Baseline Validation Tool • Baseline
• Changes • Compare Results bin\obibvt.bat -config testconfig.xml -deployment PRE bin\obibvt.bat -config testconfig.xml -deployment AFTER bin\obibvt.bat -compareresults Results\PRE Results\AFTER -config testconfig.xml
[email protected]
www.rittmanmead.com @rittmanmead !41 Photo by Jordan Whitt on Unsplash
Code Promotion
[email protected]
www.rittmanmead.com @rittmanmead !42 Promoting • Push ‣ RPD ‣
Catalog ‣ Security ‣ Configuration ‣ Custom Files/Images
[email protected]
www.rittmanmead.com @rittmanmead !43 Photo by Rob Schreckhise on Unsplash
Do you Remember the Password?
[email protected]
www.rittmanmead.com @rittmanmead !44 RPD • UploadRPD • Patch RPD
- Change Connection Pools datamodel.cmd uploadrpd -I <file> -D -U <user> -SI ssi -S <server> -N <port> admintool /command <filename> datamodel.sh updateConnectionpool -SI sis -U <user> -P <password> -C <filejson> patchrpd ... -C <curr_rpd> -G <origin_rpd> -I <patch_file> -O <dest_rpd>
[email protected]
www.rittmanmead.com @rittmanmead !45 Catalog • File System Copy •
Webservices /shared /system WebCatalogService.pasteItem2(<.catalog_file>,…)
[email protected]
www.rittmanmead.com @rittmanmead !46 Security • WLST scripts • system-jazn
wlst.sh <wlst_script.py> Config • File System Copy
[email protected]
www.rittmanmead.com @rittmanmead !47 Custom Files AnalyticsRes - File System
Copy
[email protected]
www.rittmanmead.com @rittmanmead !48 Photo by Armando Tobar on Unsplash
Sticking Everything Together
[email protected]
www.rittmanmead.com @rittmanmead !49 Automation Tools Jenkins Gitlab
[email protected]
www.rittmanmead.com @rittmanmead b !50 Environment Creation New Feature/New Ticket
in Jira New Git Branch Jenkins Flow Docker OBIEE Image RPD+Catalog Deployment Development Baseline Creation
[email protected]
www.rittmanmead.com @rittmanmead !51 Finish Feature Finish Feature (Commit to
work Branch) RPD & Catalog Validation Jenkins Flow Baseline Validation Tool - Against Baseline Pre-Changes Push to Dev Review/Approve Fix
[email protected]
www.rittmanmead.com @rittmanmead b !52 Merge Into Dev Commit to
Dev RPD & Catalog Validation Jenkins Flow Baseline Validation Tool Push to Test Review/Approve RPD & Catalog Merge - Manual Intervention when Conflicts Fix
[email protected]
www.rittmanmead.com @rittmanmead !53 Production Release Commit to Master Jenkins
Flow Automatic Push to UAT/Production
[email protected]
www.rittmanmead.com @rittmanmead !54 Rittman Mead BI Developer Toolkit https://www.rittmanmead.com/blog/2017/02/concurrent-rpd-development-with-git/
• Accelleration Framework • Set of pre-packaged functions ‣ Git versioning ‣ Testing Suite • Written in Python - Easy to Integrate ‣ OBIEE Webservices, command line, file system • Git/SVN Versioning ‣ Binary RPD ‣ .catalog files
[email protected]
www.rittmanmead.com @rittmanmead !55 Rittman Mead BI Developer Toolkit •
Creation of Testing Suite - Parameter Modification python modify_reports.py /shared/Test /shared/Test_Suite/2014_2015 "Date Period" Year 2014 2015 • Regression Testing ‣ Comparison of LSQL and Results ‣ Parameter Modification ‣ Push Results to Database ‣ Prebuilt RPD/catalog
[email protected]
www.rittmanmead.com @rittmanmead !56 Developer Toolkits available for ‣ BI
‣ ODI ‣ Informatica ‣ Essbase Apply DevOps to the Whole BI Cycle!