Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DevOps and OBIEE: Do it Before it's too late!
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
140
Solve the Knapsack problem with recursive queries and PostgreSQL
ftisiot
0
170
Build an Open Source Data Pipeline
ftisiot
0
350
Get to know Apache Kafka with Jupyter Notebooks
ftisiot
0
780
Fix Your Strings in PostgreSQL
ftisiot
0
300
Practical Tips & Tricks for Apache Kafka Messages Integration
ftisiot
0
270
Track Database Changes with Apache Kafka
ftisiot
0
320
Apache Kafka and Flink: Stateful Streaming Data Pipelines made easy with SQL
ftisiot
0
990
Kickstart your Kafka with Faker Data
ftisiot
0
470
Other Decks in Technology
See All in Technology
[ホンマでっか SRE] あなたはなぜ SRE に?
_awache
0
270
ClaudeCodeでセキュリティ監視業務を半自動化_1年の運用でわかったAIに任せる設計の5つのポイント
kintotechdev
3
540
NANDでも描画したい!
nichica906
3
750
AI時代の「OAuth認証」にどう物申すか?(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
300
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
250
会計事務所と顧問先の契約関係をOIDC・OAuthで表現する
terara
0
440
:syncing_time:
sksat
2
780
分割40%キーボードにスムーズに入門するには
hoto17296
1
110
EUDIWの枠組みを出発点に民間エコシステムの在り方を考える(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
300
「ミスを許さない手順書」を作ってみた 〜 個人的にはこれ以上できることはあまりなさそう/20260827-ssmjp-operation-procedure-update
opelab
9
4.8k
顧客の要望は2次情報である 〜アンテナを張るFDEの構造論〜
noriakioji
3
910
AI時代のアウトプット――変わったこと、変わらないこと / Devsumi 2026 Kansai #devsumi
jnchito
0
590
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
630
Product Roadmaps are Hard
iamctodd
55
12k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Rails Girls Zürich Keynote
gr2m
96
14k
30 Presentation Tips
portentint
PRO
1
380
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
The Language of Interfaces
destraynor
162
27k
Statistics for Hackers
jakevdp
799
230k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
480
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
430
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
380
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!