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
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
340
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
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
190
モバイルアプリ開発概論2026
recruitengineers
PRO
1
380
初めてのGitHub Actions / GitHub Actions at First
tooppoo
0
140
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
550
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
0
170
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
200
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
3
500
サイバー捜査員研修(後半)
nomizone
1
750
名古屋の市バスGTFS-JPデータ×スガキヤ 最寄りバス停検索をAmazon ElastiCache Serverless for Valkeyで最適化する
usanchuu
1
340
新しい SLO が良い感じにハマっている話
z63d
5
2.1k
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
460
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
120
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
55
8.2k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
The Curious Case for Waylosing
cassininazir
1
450
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
440
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
260
From π to Pie charts
rasagy
0
250
The Cult of Friendly URLs
andyhume
79
7k
4 Signs Your Business is Dying
shpigford
187
22k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
270
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!