91
#Kscope HFM, Workspace, and FDM – Voiding Your Warranty Charles Beyer

HFM, Workspace, and FDM – Voiding your warranty

Embed Size (px)

DESCRIPTION

While these three products work well out of the box and offer plenty of functionality for end users, administrators and power users are always looking for ways to increase productivity and functionality of their tools. While some updates have introduced functionality for the administrators/power users such as LCM, there are plenty of areas that could be improved. Gathering system usage statistics, performing bulk import/export operations between development/production environments, improving data import/export, generating more useful security audit data, and improving system performance are all items that can be improved upon. This presentation will provide viewers with a selection of real world “hacks” that they can apply to their environments. Viewers will first be presented with a low level technical discussion on how these products work and how they can leverage that knowledge. Fully working “hacks” are also attached at the end of the powerpoint.

Citation preview

Page 1: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM, Workspace, and FDM – Voiding Your Warranty

Charles Beyer

Page 2: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

About the Speaker

● 15+ years professional development experience in various languages/technologies (6 years w/ Hyperion products)

● Significant experience reverse engineering software

● Loves to help others solve problems● Posts under beyerch2 on OTN Discussion

Boards

Page 3: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

OverviewWhy Void Your Warranty?● OOTB functionality doesn’t exist● API Doesn’t exist or isn’t practical● Learn more!

Page 4: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Will they really void my warranty?!?!● No… But you might have support trouble!

● If you are reporting a known issue, shouldn’t be a problem.

● If you have a mysterious issue that they have never heard of ……

“For Oracle operating systems software, technical support is provided for issues (including problems you create) that are demonstrable in the currently supported release(s) of the operating system, running unaltered, and on a certified hardware configuration, as specified in your order or program documentation.”

http://www.oracle.com/us/support/library/hardware-systems-support-policies-069182.pdf

Page 5: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Why Would I want to change things?● Out of the Box Functionality Not Sufficient● You Want to Experiment to Get a Better

Understanding of the Technology

Page 6: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

What about APIs & Support?● ANY product change will make the product

non-standard…. ● Using API in a standalone program – OK● Altering existing Web Pages with additional API calls

– Not OK

● API may be too much overhead for what you want or doesn’t cover what you need.

● You may have requirements restricting what you can do● No DLLs / Libraries installed on machine (i.e. Smart

View)

Page 7: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

How Do I Learn?

● Understand Basic Software Design / Operation● Memory, Disk, Registry, U/I, Database

● Understand Basic Operation of Hyperion Programs● Read Lots of Product Documentation● Talk to Other People about Products● “Be the Program”

● Experiment● Trial and Error, Mostly Error

Page 8: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

How Do I Learn? (cont.)● Use Tools to Help Gather Information● Re-Research on New Information● Leverage Existing Code / API ● Test, Test, Test● Test More● Deploy to Production

Page 9: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools

Page 10: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools

● Product Info● http://support.oracle.com – Knowledgebase, Patches &

Update, and “Communities”

Page 11: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

● Product Info● OTN Discussion Forum (http://forums.oracle.com)

Page 12: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

● Product Info● Product Documentation

● System 11.1.2.1 - http://docs.oracle.com/cd/E24674_01/index.htm● System 9.3.x - http://docs.oracle.com/cd/E10530_01/welcome.html

● NOTE : These move periodically! Google ‘Hyperion documentation library’ if you cannot find what you are looking for

Page 13: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

Page 14: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)● Knowledge Tools

● Tips and Tricks from EPM System Infrastructure Development

● Issues 1 to 72 - http://www.oracle.com/technetwork/middleware/bi-foundation/epm-tips-issues-1-72-427329.pdf

● Issues 73 and up - http://www.oracle.com/technetwork/middleware/bi-foundation/epm-tips-issues-73-up-399995.pdf

● NOTE: Constantly updating, so there will be more, etc.

Page 15: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

Page 16: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools? (cont.)

● Google● +50 IQ Points

Page 17: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools? (cont.)

● SQL Mgmt Studio / Oracle Enterprise Manager● Review Database Structure (Tables, Views, Queries,

etc.)

Page 18: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools? (cont.)

● SQL Profiler / Oracle Enterprise Manager● Monitor Databases / Tables / Users / Processes to

understand how the data is moving

Page 19: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools? (cont.)

● SQL Profiler / Oracle Enterprise Manager● Monitor Databases / Tables / Users / Processes to

understand how the data is moving

Page 20: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

● Fiddler – Web proxy that allows you to monitor (and simulate) HTTP/HTTPS traffic. http://fiddler2.com/fiddler2/● Great Tool for HTTP/HTTPS traffic

● Warning : You can sniff / decode HTTPS traffic

● Warning : Some programs may send logins / passwords in plain text.

Page 21: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

Page 22: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

Page 23: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)● Wireshark – Network traffic analyzer – http://www.wireshark.org● Network packet analyzer● Monitors ALL network traffic, not just HTTP/HTTPS● Warning : Can intercept all types of traffic such as:

● Streaming Audio / Video● VoiP● Types of Encrypted Data● Plain Text User Name / Password

Page 24: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

Page 25: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

● Service Manager (services.msc) – View services to see which are running

Page 26: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

Page 27: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

● Process Monitor – Allows you to monitor processes’ file use, registry access, memory utilization, etc. http://technet.microsoft.com/en-us/sysinternals/bb896645

Page 28: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

Page 29: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

● WinGrep – Windows text searching tool.

Page 30: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

● SQLLocator – Database Searching Tool

Page 31: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools (cont.)

Page 32: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools? (cont.)● Oracle Application Testing Suite / LoadRunner / Jmeter● Stress testing for validation of changes● Create execution scripts for repeatable test cases

● Good for Testing● Good for Trying to ‘Reverse Engineer’ functionality

Page 33: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools? (cont.)

● Dependency Walker● Give it EXE / DLL and it will list all other files needed

by the EXE / DLL

Page 34: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools? (cont.)

● Dependency Walker● Also inspect function calls in each DLL

Page 35: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools? (cont.)

● Reflector - .NET Reverse Engineering Tool● If you don’t obfuscate / pack your compiled

program….

Page 36: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools? (cont.)

● Reflector - .NET Reverse Engineering Tool● Perfectly readable source code / logic…..

Page 37: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools? (cont.)

● Reflector - .NET Reverse Engineering Tool● Could lead to a bad day ….

Page 38: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools? (cont.)

● Reflector - .NET Reverse Engineering Tool● You can even recreate the whole project!

Page 39: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools? (cont.)

● IDA Pro – General Reverse Engineering Tool● Not for the faint of heart….

Page 40: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools? (cont.)

● IDA Pro – General Reverse Engineering Tool● Not for the faint of heart….

Page 41: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tools? (cont.)

● IDA Pro – General Reverse Engineering Tool● But even if you are not an expert, you can glean

useful info!

Page 42: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Precautions● Use a Development Environment!● Limits Risk● Easier to ‘Reverse Engineer’ when you are the only

one in the system● Virtualized Environment may be best since you can

take snapshots● Don’t forget about data files and databases though!

(back those up too)

Page 43: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM DEMO

Fix User Drop Down

Page 44: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM User Drop Down Example● Problem – Drop Downs not in order!

Page 45: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM User Drop Down Example (cont.)

● IDEAS??● How do we figure out what page(s) has

the problem in question?

Page 46: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM User Drop Down Example (cont.)

● Web Browser Properties menu

Page 47: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM User Drop Down Example (cont.)

● Sometimes ‘Properties’ is disabled, use Fiddler!

Page 48: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM User Drop Down Example (cont.)

● IDEAS??● How do we figure out WHERE the page

is?

Page 49: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM User Drop Down Example (cont.)

● Use File Search by filename!

Page 50: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM User Drop Down Example (cont.)

● IDEAS??● Now how do we find what to fix???

● HINT: Look at the screen again. Is there anything unique about the field??

Page 51: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM User Drop Down Example (cont.)

● Use Notepad / Text search for User Name and look in the vicinity for something making a drop down…

Page 52: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM User Drop Down Example (cont.)

● IDEAS??● m_straActivityUserNames is a text

array of user names in no particular order…. What now???

Page 53: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM User Drop Down Example (cont.)

● Increase your IQ by checking Google for premade sorting scripts!

Page 54: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM User Drop Down Example (cont.)

● A free quicksort routine, which is just dropped on your page

Page 55: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM User Drop Down Example (cont.)

● Update page to pass array through sort routine..

Page 56: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM User Drop Down Example (cont.)

● Update page to pass array through sort routine..

Page 57: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM User Drop Down Example (cont.)

● Test Output

Page 58: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM DEMO

Fix Orphaned Data

Page 59: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data● Original Data

Page 60: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data● Original Data

Page 61: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● Load new Metadata….

Page 62: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● Houston (San Antonio), we have a problem…

Page 63: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● IDEAS??● What happened?

Page 64: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● A quick scan of database tables, gives a clue…

Page 65: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● IDEAS??● How could we confirm this table is

involved?

Page 66: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● Looking at the table and it should be obvious..

Page 67: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● IDEAS??● But what about the data????

Page 68: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● SQL Profiler and some test data will help!

Page 69: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● SQL Profiler and some test data will help!

Page 70: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● SQL Profiler and some test data will help!

Page 71: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● SQL Profiler and some test data will help!

Page 72: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● How about we check for orphaned rows?

Page 73: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● IDEAS??● So we identified one table where the

data we put in went, is that it?

Page 74: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● Another look at database tables…

Page 75: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● IDEAS??● How do we attempt to verify?

Page 76: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● Lets plug our clues into Google

Page 77: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● Jackpot…..

Page 78: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● Or… we can use some SQL magic to find all tables with a reference to entity!

Page 79: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

Page 80: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● IDEAS??● Now that we know what to fix, what

should we do to fix this? (HINT)

Page 81: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● IDEAS??● Should we change the ID of Lanai to

match Stamford (20)?● Should we go through every data table

and replace Stamford (20) to Lanai (26)?

Page 82: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● Lets change out the ID, but be careful

Page 83: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● Not just ENTITY_ITEM table, but ENTITY_LAYOUT!

Page 84: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● Is everything fixed and is life good?

Page 85: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● No! The App is still in memory and has cached the old info….

Page 86: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● After a restart of the app (Reboot Server / Kill HsvDatasource.exe / Log off all users)

Page 87: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

HFM Orphaned Data (cont.)

● Other thoughts● What if we didn’t realize this right away

and loaded data to the new entity?● Could we prevent entities with data

from being deleted?● Does this apply to accounts?

Page 88: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Tips and Tricks● Make Small / Frequent Changes!● Limiting the number of changes and testing

immediately after making a change simplifies testing by limiting variables….

● Practice, Practice, Practice● Frequent Discussion Boards (OTN / Network 54) and

when people have issues, try to solve them. You are doing someone a favor AND learning something new.

Page 89: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Other Samples

● Workspace● Bulk Renaming of Objects (Fix Invalid Characters)● Add Links to the Install Menu

Page 90: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Other Samples ● FDM● User Synchronization Between Applications (System

9)● Global Import Format Updates● Global Mapping Updates● Remove Domain from Login Functionality

● Other● Poor Man’s Smart View Emulation

Page 91: HFM, Workspace, and FDM – Voiding your warranty

#Kscope

Questions?● If you have any questions with the sample code or presentation, feel free to ask/contact me● [email protected]