take a peek at dell's smart epm global environment
TRANSCRIPT
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMAbout the Speakers
Giampaoli, Ricardo
• Oracle Ace
• Master in Business Administration and IT management
• EPM training instructor
• Essbase/Planning/OBIEE/ODI Certified Specialist
• Blogger @ devepm.com
Radtke, Rodrigo
• Oracle Ace
• Graduated in Computer Engineering
• Software Developer Sr. Advisor at Dell
• ODI, Oracle and Java Certified
• Blogger @ devepm.com
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMWhat we'll learn
• Global EPM Architecture Overview
• DRM Environment
• Hyperion Planning Environment
• Datamart Environment
• HFM Environment
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMGlobal EPM Architecture overview
EBI/DDW Units
HRDRM
(Metadata) NovoraGlovia PIM
GCC (Global Curr Conv)
Source Systems
TableauBO
OBIEE EnvironmentAP
DashboardJAT
Report Environment
SmartView WorkSpace
EBI/DDW
HR
CorpTax
DM
OutboundSystems
Assurenet
Ariba Data Enrichment
GWAC GISM
EPM/VendorCentral Currency
EMEA
DFS
CONWF
APJ CONPNL
AMER
RUM
WWOPS
Planning EnvironmentPnlMfg
CapexWrkForce
PnlWeekly
PlanWeekly
Apollo
StarPAris
FDM Environment
HFM Environment
TaxLEAppFinCApp
ODI
Deltek
Oracle DB
Essbase
Planning Essbase
SpreadSheet
WEB
Technologies
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMGlobal EPM Architecture Fun Facts
• 10000+ users around the world
• 24x7 operation
• 10+ source systems• 18 billions+ inserts/month
• 50 millions+ updates/month
• 60 millions+ deletes/month
• 14 thousand+ ODI sessions/month
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMDRM Environment
• All metadata from all Planning/Essbase/HFM/Datamart application is stored in DRM
• 24 direct downstream, some of then are HUBS that create 50+ indirect downstream• Entity/CC: 549.387
• Product: 59.278
• Local channel: 48.944
• Account: 8.431
• Abstraction layer extracts data and create views in an oracle database
• Each stream has it own service account that has access to views containing what they need to consume
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMDRM Environment
DRM
Downstream
Views
App A
App B
App C
App N
DRM Exports
PROD_HIER
ACCT_HIER
CHAN_HIER
Pro
file A
Pro
file B
Pro
file C
Pro
file N
DRM Abstraction Layer App
ODI
Product
Hierarchy
Channel
Hierarchy
Account
Hierarchy
DRM
Main
Applicati
on
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHyperion Planning Environment
• 6 Hyperion Planning applications
• 2 ASO cubes to aggregate Pnl and WrkForce data
• 1 BSO cube for central currency
• Data synchronization is done by using Replicated Partitions
AMER APJ EMEA WWOPS RUM DFS CONPNL CONWF
Dimensions 14 14 14 14 15 13 14 14
Account 4192 4192 4192 4192 4273 1918 4186 89
Entity 21048 14113 15565 14638 1591 3144 64525 64525
Size* 14 Gb 10 GB 11 Gb 11 Gb 2 Gb 450 Mb 15 GB 15 Gb
* Current Forecast
Central Currency
EMEA
DFS
CONWF
APJ CONPNL
AMER
RUM
WWOPS
Planning EnvironmentPnlMfg
CapexWrkForce
PnlWeekly
PlanWeekly
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHyperion Planning Metadata Load
• Creates a delta between what exists in DRM and what exists in Planning enabling: (Kscope 13 session)• Load only what’s new/changes thanks to our “Tieout” approach
• Identify if a shared members needs to be moved or created
• Move members
• “Move” attribute members
• Reorder sibling members
• Deleted Shared Members
• Creates UDA’s based in the DRM metadata:• Identify from where that metadata is coming from (Used in the replicated partition
area definition)
• Identify what Accounts, Entities and Products will be part of the replication
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHyperion Planning Metadata Load
• At Dell we need minimize the downtime during the maintenance process and guarantee the metadata accuracy
• For this we have 2 planning environment in load balance• One environment we call “Primary” environment and it contains 3
servers
• The other Environment we call “Meta” environment and it contains 1 server
• This enable us to restart the Meta Planning service without impact the Primary applications
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHyperion Planning Metadata Load
• All maintenance is done in the meta servers (Primary servers continues on line)
• The “Primary” application repository is copied over the “Meta” repository
• After the maintenance, the administrator team checks if all metadata is ok (A quarter of data is loaded for this check)
• After Metadata is validated the “Meta” application repository is “deployed” over the “Primary” application repository
Meta ApplicationsPrimary ApplicationsCopy
To startMaintenance
Maintenance processes
Deploy back to Primary
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHyperion Planning Metadata Load
StartCOPY PRIMARY
TO META
Copy Primary Planning App to
Meta AppYES
Restart PlanningLoad Metadata
from DRM
Load Metadata to Meta Apps
LOAD METADATA TO META APP
LOAD METADATA FROM DRM
YES
NO
YES
End
NO
Load Validation, pre tieout and Record Rejection Handle
Planning Extract for tieout table
Tieout metadata
User warnings and errors
APPLICATION SELECTION
NO
REFRESH ESSBASE
Refresh EssbaseYES
NO
Create Tieout Table
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHyperion Planning Metadata Deploy
StartAPPLICATION
SELECTION
Copy Meta app to Primary app (Planning)
Restart Planning
End
Backup Primary App (Planning)
Refresh Essbase
REFRESH ESSBASE
Error
YES
NOCopy Dim tables
from Meta Primary schema
User warnings and errors
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMBSO to ASO Replicated Partitions
• The data from the BSO cubes are replicated to the ASO Cubes
• All application, but RUM, uses the same set of accounts
• Each regional application has it own unique set of Entities
• RUM is a special application that shares Entities across the regional applications and have just a subset of all accounts
• RUM data has precedence over the regional applications
• Due to tuple limitation and Shared entities between apps, we are forced to split the partition in two subareas• One subarea replicate all account (AMER and RUM) and just the unique
entities for that application (AMER Entities)
• The other subarea replicates only the unique account for that application (AMER) and just the entities that are common to both application (AMER and RUM)
E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 AMER
A1 APJ
A2 EMEA
A3 WWOPS
A4 RUM*
A5
A6
A7
A8
A9
A10
RUM
AREA
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHyperion Planning Security
• For the regional applications all security is granted by administrators• 3 security groups for grant
• One for Channel and LOB
• Other for Product Line
• And other to define the data access (read or write)
• RUM is a special application that contains entities from all regions
• Security must be granted in such way that an user from a region can only see data from their cost centers
• The parents aggregation should display only the sum of data from that user region
• Cost center from different regions under the same parent
• Cost center region is defined by an attribute dimension
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHyperion Planning Security (RUM)
• A Region dimension to split the data by the world regions and provide the right aggregation in parent levels
• The security must be granted for all users or groups in the high level members
• The users or groups names should have a relationship between it and the attribute member.
• Use Planning application repository to dynamically build the Entity dimension security based in the geography attributes and the groups associated in the Entity Upper level members (Kscope 14)
Groups
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHyperion Essbase Backups
• All backups are automated by ODI
• There’re 2 backups:• Daily backups
• Backups the file system
• Weekly backups• Export Data
• Restructure
• Space Recovery
• The schedule respects the Application region to execute
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHyperion Planning Data Load
• Generic Component to handle all data load• Only a single component that loads data to Essbase. • All the possible maintenance will be done in just one point, not in
multiple• Since it is modular, it can be added to any other inbound interface easily• Inbound table is partitioned by ODI Job
• ODI constraints work great in this architecture• One constraint for each column• Validate it against the planning metadata repository in order to check if
all data is correct before loading to Essbase• No more “Unknown Members” (Kscope 15 session)
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHyperion Planning Data Load
Sources
Oracle
Stage
Area
Table 1
Table 2
Table 3
Table 4
Table N
Planning
App
1
App
2
App
N
SQL Server
Teradata
Excel
XML
E$ Table
E$ Inbound
Generic
Inbound Table
Inbound
Generic
Generic Components
Send
Error
Handling
App
3
1
2
3
4
3
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHyperion Planning Data Extract
• Generic Component to handle all data Extract• Only a single component that extract data from Essbase
• All the possible maintenance will be done in just one point, not in multiple
• Since it is modular, it can be added to any other outbound interface easily
• Outbound table is partitioned by ODI Job
• Views are created on top of the outbound generic table to grant specific access for each consumer
• Any special requirement is handled in the views (mapping or formulas)
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHyperion Planning Data Extract
Targets
Oracle
View
Layer
View 1
View 2
View 3
View 4
View N
Planning
App
1
App
2
App
N
SQL Server
Teradata
Outbound Table
Outbound
Generic
Generic Components
Send
Error
Handling
App
3
12
3
4
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMDatamart Environment
ASOMetadata
Source
DRM
Star
PAris
Apollo
EBS
Source
GL
PA
AP
Statutory
OBIEE
SmartView
JAT
AP
Dashboard
APStage
Base
Star
Stage
Base
Star
AP Dashboard FDM
Datamarts
BO TableauExternal Vendor
Notifications
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHFM Environment
• 2 HFM applications• FinCApp is used for consolidate and report external
financial data for SEC reporting purposes
• TaxEApp is used for Tax Reporting for CorpTax load
• ODI to load HFM 11.1.2.4 with custom KMs using Java API• RKM
• IKM Metadata
• IKM Data
• IKM Data Consolidation
• LKM Extract Data
HFM Environment
TaxLEAppFinCApp
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPMHFM Environment
Metadata
DRM
EBS
GL
HFM_ETLINBOUND_GENERIC
HFM Database
Datamart
FDM
Currency
GCC
FinCapp
TaxLEapp
HFM
CorpTax
Outbound
SmartView
Hyperion
Reports
Reports