SlideShare a Scribd company logo
REST APIs for FDMEE and
Cloud Data Management
Francisco Amores – inlumi Group
June 13, 2018
• Domain Lead – Master Data and
Integration @inlumi
• 12 years (From HAL to Cloud)
• Based in Malaga (Spain)
• Trail Running Lover
• Blogger
That’s me
EPM Roadmap
Methodology
Process
Improvement
Best Practices
Design & Build
Test & Roll Out
Go-Live Support
Performance Testing
Training
Managed Services
Hosting
Cloud Solutions
24x7 Support
Advisory Implementation Operations
WE
FOLLOW
THE SUN
FDMEE
On-Prem?
Cloud Data
Management?
EPM
Automate for
DM?
REST APIs for
DM?
Menu of the Day
Why Today’s Session?
I’m new to REST
REST APIs for FDMEE/CDM
The Next Level
Q&A
Why today’s topic?
The IT world is changing and
the clouds are constantly flying
over us
There is an important need to
integrate Cloud-Cloud and
Cloud-On Prem worlds
APIs are not a privilege
anymore, but a common need
FDMEE and Cloud Data
Management are part of
change
I’m new to What’s a Web Service?
What’s REST?
What’s JSON?
REST APIs
Web Services & REST
They make SW
application resources
available over
networks
Technology that allows
data transmission
across the network
Network
Send HTTP Request
Send HTTP Response
Service Requesters
(Clients)
Service Provider
(Server)
Architectural style for designing
Web Services (RESTful WS)
Easier alternative for such
complex technologies as SOAP
Uses HTTP to share information
between a client and a server
Stateless Services as Resources
(They don’t have memory)
REST
Web Services
JavaScript Object Notation
Language in which the REST Client and the REST Server speak
{
origin : Malaga,
destination: Orlando
how: flying
}
{
direct: No
shortest : 12h,
cost: 890€
}
RESTful Application Program Interface
Base URL + Endpoint path + (Request Parameters)
https://odtug-kscope18.pbcs.em2.oraclecloud.com:443/aif/rest/V1/jobs/{jobid}
Access to the REST resources (black boxes)
REST APIs are identified by URLs (Resources)
Usually available in OP
Requests and Responses
Request - encapsulates the instructions
• URL
• TYPE – GET/POST/PUT/DELETE
• BODY (Payload) – usually JSON
• HEADERS – Authentication, Content Type, etc.
Response - encapsulates the result
• BODY – usually JSON
• HEADERS – Content Type, etc.
Request URL
HTTP Method
Request Headers
Request Body
REST Clients
Advanced REST Client
HTTPBot
Programming/Scripting Languages Web Clients
for Chrome
1. Create Request
• Type, Authorization Header, Body*
• Other Headers
2. Click Send
3. See Response Body
Xxx
PowerShell
1. Encrypt Basic Authentication
2. Create payload (body)
3. Convert payload to JSON
4. Invoke REST
5. Parse Response
REST APIs for
FDMEE and
Cloud Data
Management
The REST APIs
Execute Rules and Batches
Import/Export Maps
Execute Reports
The Secret REST APIs
Overview
Post Job
Get Job
Details
{jobId}
{jobStatus}
While <> “SUCCESS”
Available in Cloud Data Management (V1)
Introduced in FDMEE 11.1.2.4.210 (Supported PSU220)
Execute UI tasks externally (admins/non-admins)
REST APIs Vs. EPM Automate (Wrapper)
 verbosing  concurrency  error handling
Basic Http Authentication
Upload/Download files with Migration REST APIs (admins)
Base URL
https://<SERVICE_NAME>-<TENANT_NAME>.<SERVICE_TYPE>.<dcX>.oraclecloud.com/aif/rest/{api_version}/{resource path)
https://planning-kscope18.pbcs.em2.oraclecloud.com:443/aif/rest/
http(s)://epmserver:port/aif/rest/{api_version}/{resource path)
http://epm11124:6550/aif/rest/V1/jobs
Upload File
Download File
Execute Data Load Rules
Resource Path /aif/rest/{api_version}/jobs
Request Type POST
Request Parameters Notes
jobType DATARULE
jobName Name of DLR (use “” if spaces)
startPeriod Period name
endPeriod Period name
fileName Must be in the inbox (use “” for predefined)
importMode APPEND/REPLACE/RECALCULATE/NONE (skip)
exportMode (E)PBCS/Planning FCCS/TRCS
STORE_DATA
ADD_DATA
SUBTRACT_DATA
REPLACE_DATA
NONE (skip)
REPLACE
MERGE
NONE (skip)
• HFM Replace by Security/Accum not supported
• FULL_REFRESH/SNAPSHOT/INCREMENTAL (OP)
• Can load Metadata (CDM)
• Location security applies
Execute Batches
Resource Path /aif/rest/{api_version}/jobs
Request Type POST
Request Parameters Notes
jobType BATCH
jobName Name of the batch
• Doesn’t accept parameters
• Ex: if you pass start and end periods, they
will be ignored
Import/Export Mappings
Resource Path /aif/rest/{api_version}/jobs
Request Type POST
Request Parameters Notes
jobType MAPPINGIMPORT
jobName Dimension Name/ALL
fileName CSV, .TXT, .XLS, or .XLSX
Must be in the inbox first
importMode REPLACE/MERGE
validationMode true/false
locationName Location name
• Specify the relative path with the filename
• Scripts supported in Text export
• Bug – security location is bypassed
Resource Path /aif/rest/{api_version}/jobs
Request Type POST
Request Parameters Notes
jobType MAPPINGEXPORT
jobName Dimension Name/ALL
fileName CSV, .TXT, .XLS, or .XLSX
XLS/XLSX exported as XLSM
locationName Location name
Execute Reports
Resource Path /aif/rest/{api_version}/jobs
Request Type POST
Request
Parameters
Notes
jobType REPORT
jobName Report name (as it is)
reportFormatType PDF, XLSX, HTML, EXCEL
parameters JSON with pairs “param name”:”param value”
• Generic error when invalid report
name
• Application/outbox/reports (OP)
Job Execution Response
Response
Parameter
Description
status -1 (in progress) / 0 (success)
1 (error)
2 (cancel)
3 (cancelled)
4 (invalid parameter)
jobStatus RUNNING / SUCCESS / FAILED
jobId Process ID in FDMEE/CDM
logFileName Log File (relative path)
outputFileName Output File (relative path)
processType COMM_LOAD_BALANCES / MAPPING_EXPORT / …
executedBy Login name of the user calling the REST API
details Exception message in case of errors
Links Links related to the Job
The secret GET/POST REST APIs
They are not documented but they do exist (supported?)
GET REST APIs
• Job Details (paging)
• Application and Details (definition, options, dimensions)
• Dimensions, Rules, Import Formats, Locations, etc.
POST REST APIs
• Refresh Metadata and Members
• Execute Scripts (Cloud and OP)
• Direct Import/Export Planning/PBCS/FCCS, Export to ARM
Refresh Dimension Members
Automate mouse click
Get Process Details into Excel
GET - /aif/rest/V1/jobs
Execute Custom Script
 Similar to REST resource for executing Reports (jobType = SCRIPT)
 OP – Custom Scripts
 CDM – System Maintenance Tasks only
Taking the
REST APIs to the
Next Level
Excel Mapping RESTloader
PowerShell Toolbox
Extended FDMEE API
Robotic Process Automation
Mobile Apps
Oracle Integration Cloud
EPMware Mappings
Excel Map RESTLoader
VBA API for REST APIs
Cloud/OP
Tasks
• Download Maps
• Upload Maps
• Scripts supported
• Send Email
• …
Downloading Mappings
Uploading Mappings
PowerShell Toolbox
Invoke-RestMethod
Scheduling/Email notifications
Admin ownership
.Net Libraries
Cloud/OP
Tools
• File Watcher
• Report Executor
• Rejected Records
• Adapters
• …
1. If there are files, then move files
to openbatch folder
2. Execute batch with REST APO
Extended FDMEE API
Custom Python/Java API
Used from FDMEE scripts (OP)
Tasks
• Download/Upload Maps
• Execute Rules/Batches
• Execute Reports
• Execute Scripts
• …
Executing Reports
Advance process logic (email…)
Get Job Id
Easy to rename reports
Error handling & verbosing
Better option than runreport utility
UiPath Robotic PA
Automate Business Processes/Tasks
Automate FDMEE/CDM Jobs
Health Checks
Cloud Adapters
Cloud/OP
Tasks
• HTTP Request
• JSON Deserialization
• Send Email
• …
Automating Rule/Batch
Mobile Apps
iOS and Android
Cloud/OP
Functionality
• Mapping Creator
• Rule Executor
• Report Executor
• Process Monitor
• …
Think about getting a
file in your email and
loading it from your
mobile/table
Data
Management?
Kscope.
iProcessMonitor
Download logs and Outbox files
Send emails to users
Capture rejected records
Etc.
Oracle Integration Cloud
Autonomous Integration Cloud
Integration PaaS (iPaaS)
Connect to on-prem
Pre-built adapters
REST adapter
Key Features
• Integration Apps
• Process Automation
• Visual Build
Running DM Rule
EPMware
MDM & DG Software
Manage FDMEE as app type
All mapping types
Direct import/export of maps
Deploying Map Requests
REST APIs for
FDMEE and CDM
are used to execute
jobs from external
clients
1
REST APIs can be
used in different
types of
deployment: cloud,
on-prem, and hybrid
2
As always, creativity
plays a very
important role
3
References
 My Blog - Fishing with FDMEE
 John Goodwin’s Blog
http://john-goodwin.blogspot.com/
 Oracle’s Documentation
 UiPath Robotics Process Automation
 Oracle Integration Cloud
Q&A
Francisco Amores
francisco.amores@inlumi.com
http://fishingwithfdmee.blogspot.com
@akafdmee
ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data Management

More Related Content

What's hot

HIDDEN GEMS IN PBCS—THE BENEFITS THEY DON’T TELL YOU ABOUT
  HIDDEN GEMS IN PBCS—THE BENEFITS THEY DON’T TELL YOU ABOUT  HIDDEN GEMS IN PBCS—THE BENEFITS THEY DON’T TELL YOU ABOUT
HIDDEN GEMS IN PBCS—THE BENEFITS THEY DON’T TELL YOU ABOUT
Kyle Goodfriend
 
Case Study: Using EDMCS to Solve Master Data Challenges
Case Study:  Using EDMCS to Solve Master Data ChallengesCase Study:  Using EDMCS to Solve Master Data Challenges
Case Study: Using EDMCS to Solve Master Data Challenges
Alithya
 
No more unknown members! Smart data load validation for Hyperion Planning usi...
No more unknown members! Smart data load validation for Hyperion Planning usi...No more unknown members! Smart data load validation for Hyperion Planning usi...
No more unknown members! Smart data load validation for Hyperion Planning usi...
Rodrigo Radtke de Souza
 
The Wright Move – A Continued Journey to the Oracle EPM Cloud
 The Wright Move – A Continued Journey to the Oracle EPM Cloud The Wright Move – A Continued Journey to the Oracle EPM Cloud
The Wright Move – A Continued Journey to the Oracle EPM Cloud
Alithya
 
Simplify Complex Consolidations and Close Processes with Oracle Financial Con...
Simplify Complex Consolidations and Close Processes with Oracle Financial Con...Simplify Complex Consolidations and Close Processes with Oracle Financial Con...
Simplify Complex Consolidations and Close Processes with Oracle Financial Con...
Alithya
 
Become Jythonic in FDMEE (KSCOPE15)
Become Jythonic in FDMEE (KSCOPE15)Become Jythonic in FDMEE (KSCOPE15)
Become Jythonic in FDMEE (KSCOPE15)
Francisco Amores
 
EPM Automate - Automating Enterprise Performance Management Cloud Solutions
EPM Automate - Automating Enterprise Performance Management Cloud SolutionsEPM Automate - Automating Enterprise Performance Management Cloud Solutions
EPM Automate - Automating Enterprise Performance Management Cloud Solutions
Alithya
 
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
Alithya
 
Oracle BI publisher intro
Oracle BI publisher introOracle BI publisher intro
Oracle BI publisher intro
Adil Arshad
 
How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...
How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...
How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...
Alithya
 
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
Alithya
 
Fusion HCM – Real Life Implementation Examples beyond the Hype!
Fusion HCM – Real Life Implementation Examples beyond the Hype!Fusion HCM – Real Life Implementation Examples beyond the Hype!
Fusion HCM – Real Life Implementation Examples beyond the Hype!
OHUG
 
The Wright Way into the Cloud: The Argument for ARCS
The Wright Way into the Cloud:  The Argument for ARCSThe Wright Way into the Cloud:  The Argument for ARCS
The Wright Way into the Cloud: The Argument for ARCS
Alithya
 
Automating Security Management in PBCS!
Automating Security Management in PBCS!Automating Security Management in PBCS!
Automating Security Management in PBCS!
Dayalan Punniyamoorthy
 
KScope14 Jython Scripting
KScope14 Jython ScriptingKScope14 Jython Scripting
KScope14 Jython Scripting
Alithya
 
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data ManagementODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
Francisco Amores
 
FDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next LevelFDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next Level
Francisco Amores
 
IaaS, PaaS, SaaS and the Evolution of Oracle EPM
IaaS, PaaS, SaaS and the Evolution of Oracle EPMIaaS, PaaS, SaaS and the Evolution of Oracle EPM
IaaS, PaaS, SaaS and the Evolution of Oracle EPM
Guillaume Slee
 
Understanding HFM System Tables
Understanding HFM System TablesUnderstanding HFM System Tables
Understanding HFM System Tables
aa026593
 
Oracle FCCS Getting Started Guide II
Oracle FCCS Getting Started Guide IIOracle FCCS Getting Started Guide II
Oracle FCCS Getting Started Guide II
Rati Sharma
 

What's hot (20)

HIDDEN GEMS IN PBCS—THE BENEFITS THEY DON’T TELL YOU ABOUT
  HIDDEN GEMS IN PBCS—THE BENEFITS THEY DON’T TELL YOU ABOUT  HIDDEN GEMS IN PBCS—THE BENEFITS THEY DON’T TELL YOU ABOUT
HIDDEN GEMS IN PBCS—THE BENEFITS THEY DON’T TELL YOU ABOUT
 
Case Study: Using EDMCS to Solve Master Data Challenges
Case Study:  Using EDMCS to Solve Master Data ChallengesCase Study:  Using EDMCS to Solve Master Data Challenges
Case Study: Using EDMCS to Solve Master Data Challenges
 
No more unknown members! Smart data load validation for Hyperion Planning usi...
No more unknown members! Smart data load validation for Hyperion Planning usi...No more unknown members! Smart data load validation for Hyperion Planning usi...
No more unknown members! Smart data load validation for Hyperion Planning usi...
 
The Wright Move – A Continued Journey to the Oracle EPM Cloud
 The Wright Move – A Continued Journey to the Oracle EPM Cloud The Wright Move – A Continued Journey to the Oracle EPM Cloud
The Wright Move – A Continued Journey to the Oracle EPM Cloud
 
Simplify Complex Consolidations and Close Processes with Oracle Financial Con...
Simplify Complex Consolidations and Close Processes with Oracle Financial Con...Simplify Complex Consolidations and Close Processes with Oracle Financial Con...
Simplify Complex Consolidations and Close Processes with Oracle Financial Con...
 
Become Jythonic in FDMEE (KSCOPE15)
Become Jythonic in FDMEE (KSCOPE15)Become Jythonic in FDMEE (KSCOPE15)
Become Jythonic in FDMEE (KSCOPE15)
 
EPM Automate - Automating Enterprise Performance Management Cloud Solutions
EPM Automate - Automating Enterprise Performance Management Cloud SolutionsEPM Automate - Automating Enterprise Performance Management Cloud Solutions
EPM Automate - Automating Enterprise Performance Management Cloud Solutions
 
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
 
Oracle BI publisher intro
Oracle BI publisher introOracle BI publisher intro
Oracle BI publisher intro
 
How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...
How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...
How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...
 
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
 
Fusion HCM – Real Life Implementation Examples beyond the Hype!
Fusion HCM – Real Life Implementation Examples beyond the Hype!Fusion HCM – Real Life Implementation Examples beyond the Hype!
Fusion HCM – Real Life Implementation Examples beyond the Hype!
 
The Wright Way into the Cloud: The Argument for ARCS
The Wright Way into the Cloud:  The Argument for ARCSThe Wright Way into the Cloud:  The Argument for ARCS
The Wright Way into the Cloud: The Argument for ARCS
 
Automating Security Management in PBCS!
Automating Security Management in PBCS!Automating Security Management in PBCS!
Automating Security Management in PBCS!
 
KScope14 Jython Scripting
KScope14 Jython ScriptingKScope14 Jython Scripting
KScope14 Jython Scripting
 
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data ManagementODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
 
FDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next LevelFDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next Level
 
IaaS, PaaS, SaaS and the Evolution of Oracle EPM
IaaS, PaaS, SaaS and the Evolution of Oracle EPMIaaS, PaaS, SaaS and the Evolution of Oracle EPM
IaaS, PaaS, SaaS and the Evolution of Oracle EPM
 
Understanding HFM System Tables
Understanding HFM System TablesUnderstanding HFM System Tables
Understanding HFM System Tables
 
Oracle FCCS Getting Started Guide II
Oracle FCCS Getting Started Guide IIOracle FCCS Getting Started Guide II
Oracle FCCS Getting Started Guide II
 

Similar to ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data Management

JavaOne 2009 - TS-5276 - RESTful Protocol Buffers
JavaOne 2009 - TS-5276 - RESTful  Protocol BuffersJavaOne 2009 - TS-5276 - RESTful  Protocol Buffers
JavaOne 2009 - TS-5276 - RESTful Protocol Buffers
Matt O'Keefe
 
Reaching Out From PL/SQL (OPP 2010)
Reaching Out From PL/SQL (OPP 2010)Reaching Out From PL/SQL (OPP 2010)
Reaching Out From PL/SQL (OPP 2010)
Lucas Jellema
 
Taking Your FDM Application to the Next Level with Advanced Scripting
Taking Your FDM Application to the Next Level with Advanced ScriptingTaking Your FDM Application to the Next Level with Advanced Scripting
Taking Your FDM Application to the Next Level with Advanced Scripting
Alithya
 
Rest ful tools for lazy experts
Rest ful tools for lazy expertsRest ful tools for lazy experts
Rest ful tools for lazy experts
ColdFusionConference
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
Ortus Solutions, Corp
 
Webservices Workshop - september 2014
Webservices Workshop -  september 2014Webservices Workshop -  september 2014
Webservices Workshop - september 2014
clairvoyantllc
 
LeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration ServicesLeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration Services
Michael Stephenson
 
HTTP: the Other ESB
HTTP: the Other ESBHTTP: the Other ESB
HTTP: the Other ESB
Ryan Riley
 
Rapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devicesRapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devices
ciklum_ods
 
AD102 - Break out of the Box
AD102 - Break out of the BoxAD102 - Break out of the Box
AD102 - Break out of the Box
Karl-Henry Martinsson
 
Xml Publisher And Reporting To Excel
Xml Publisher And Reporting To ExcelXml Publisher And Reporting To Excel
Xml Publisher And Reporting To Excel
Duncan Davies
 
Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...
Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...
Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...
Nguyen Duc Phu
 
Simplify your professional web development with symfony
Simplify your professional web development with symfonySimplify your professional web development with symfony
Simplify your professional web development with symfony
Francois Zaninotto
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
Tiago Knoch
 
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
Phil Wilkins
 
jkljklj
jkljkljjkljklj
jkljklj
hoefo
 
RIA and Ajax
RIA and AjaxRIA and Ajax
RIA and Ajax
Schubert Gomes
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Python
gturnquist
 
DELL BOOMi CLOUD INTEGRATION ONLINE TRAINING
DELL BOOMi CLOUD INTEGRATION ONLINE TRAININGDELL BOOMi CLOUD INTEGRATION ONLINE TRAINING
DELL BOOMi CLOUD INTEGRATION ONLINE TRAINING
Glory IT Technologies
 
Near real-time anomaly detection at Lyft
Near real-time anomaly detection at LyftNear real-time anomaly detection at Lyft
Near real-time anomaly detection at Lyft
markgrover
 

Similar to ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data Management (20)

JavaOne 2009 - TS-5276 - RESTful Protocol Buffers
JavaOne 2009 - TS-5276 - RESTful  Protocol BuffersJavaOne 2009 - TS-5276 - RESTful  Protocol Buffers
JavaOne 2009 - TS-5276 - RESTful Protocol Buffers
 
Reaching Out From PL/SQL (OPP 2010)
Reaching Out From PL/SQL (OPP 2010)Reaching Out From PL/SQL (OPP 2010)
Reaching Out From PL/SQL (OPP 2010)
 
Taking Your FDM Application to the Next Level with Advanced Scripting
Taking Your FDM Application to the Next Level with Advanced ScriptingTaking Your FDM Application to the Next Level with Advanced Scripting
Taking Your FDM Application to the Next Level with Advanced Scripting
 
Rest ful tools for lazy experts
Rest ful tools for lazy expertsRest ful tools for lazy experts
Rest ful tools for lazy experts
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
 
Webservices Workshop - september 2014
Webservices Workshop -  september 2014Webservices Workshop -  september 2014
Webservices Workshop - september 2014
 
LeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration ServicesLeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration Services
 
HTTP: the Other ESB
HTTP: the Other ESBHTTP: the Other ESB
HTTP: the Other ESB
 
Rapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devicesRapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devices
 
AD102 - Break out of the Box
AD102 - Break out of the BoxAD102 - Break out of the Box
AD102 - Break out of the Box
 
Xml Publisher And Reporting To Excel
Xml Publisher And Reporting To ExcelXml Publisher And Reporting To Excel
Xml Publisher And Reporting To Excel
 
Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...
Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...
Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...
 
Simplify your professional web development with symfony
Simplify your professional web development with symfonySimplify your professional web development with symfony
Simplify your professional web development with symfony
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
 
jkljklj
jkljkljjkljklj
jkljklj
 
RIA and Ajax
RIA and AjaxRIA and Ajax
RIA and Ajax
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Python
 
DELL BOOMi CLOUD INTEGRATION ONLINE TRAINING
DELL BOOMi CLOUD INTEGRATION ONLINE TRAININGDELL BOOMi CLOUD INTEGRATION ONLINE TRAINING
DELL BOOMi CLOUD INTEGRATION ONLINE TRAINING
 
Near real-time anomaly detection at Lyft
Near real-time anomaly detection at LyftNear real-time anomaly detection at Lyft
Near real-time anomaly detection at Lyft
 

Recently uploaded

Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
leebarnesutopia
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
DianaGray10
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
ScyllaDB
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
Fwdays
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
christinelarrosa
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
ScyllaDB
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
zjhamm304
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 

Recently uploaded (20)

Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 

ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data Management

  • 1.
  • 2. REST APIs for FDMEE and Cloud Data Management Francisco Amores – inlumi Group June 13, 2018
  • 3. • Domain Lead – Master Data and Integration @inlumi • 12 years (From HAL to Cloud) • Based in Malaga (Spain) • Trail Running Lover • Blogger That’s me
  • 4. EPM Roadmap Methodology Process Improvement Best Practices Design & Build Test & Roll Out Go-Live Support Performance Testing Training Managed Services Hosting Cloud Solutions 24x7 Support Advisory Implementation Operations
  • 7. Menu of the Day Why Today’s Session? I’m new to REST REST APIs for FDMEE/CDM The Next Level Q&A
  • 8. Why today’s topic? The IT world is changing and the clouds are constantly flying over us There is an important need to integrate Cloud-Cloud and Cloud-On Prem worlds APIs are not a privilege anymore, but a common need FDMEE and Cloud Data Management are part of change
  • 9. I’m new to What’s a Web Service? What’s REST? What’s JSON? REST APIs
  • 10. Web Services & REST They make SW application resources available over networks Technology that allows data transmission across the network Network Send HTTP Request Send HTTP Response Service Requesters (Clients) Service Provider (Server) Architectural style for designing Web Services (RESTful WS) Easier alternative for such complex technologies as SOAP Uses HTTP to share information between a client and a server Stateless Services as Resources (They don’t have memory) REST Web Services
  • 11. JavaScript Object Notation Language in which the REST Client and the REST Server speak { origin : Malaga, destination: Orlando how: flying } { direct: No shortest : 12h, cost: 890€ }
  • 12. RESTful Application Program Interface Base URL + Endpoint path + (Request Parameters) https://odtug-kscope18.pbcs.em2.oraclecloud.com:443/aif/rest/V1/jobs/{jobid} Access to the REST resources (black boxes) REST APIs are identified by URLs (Resources) Usually available in OP
  • 13. Requests and Responses Request - encapsulates the instructions • URL • TYPE – GET/POST/PUT/DELETE • BODY (Payload) – usually JSON • HEADERS – Authentication, Content Type, etc. Response - encapsulates the result • BODY – usually JSON • HEADERS – Content Type, etc. Request URL HTTP Method Request Headers Request Body
  • 14. REST Clients Advanced REST Client HTTPBot Programming/Scripting Languages Web Clients
  • 15. for Chrome 1. Create Request • Type, Authorization Header, Body* • Other Headers 2. Click Send 3. See Response Body Xxx
  • 16. PowerShell 1. Encrypt Basic Authentication 2. Create payload (body) 3. Convert payload to JSON 4. Invoke REST 5. Parse Response
  • 17. REST APIs for FDMEE and Cloud Data Management The REST APIs Execute Rules and Batches Import/Export Maps Execute Reports The Secret REST APIs
  • 18. Overview Post Job Get Job Details {jobId} {jobStatus} While <> “SUCCESS” Available in Cloud Data Management (V1) Introduced in FDMEE 11.1.2.4.210 (Supported PSU220) Execute UI tasks externally (admins/non-admins) REST APIs Vs. EPM Automate (Wrapper)  verbosing  concurrency  error handling Basic Http Authentication Upload/Download files with Migration REST APIs (admins) Base URL https://<SERVICE_NAME>-<TENANT_NAME>.<SERVICE_TYPE>.<dcX>.oraclecloud.com/aif/rest/{api_version}/{resource path) https://planning-kscope18.pbcs.em2.oraclecloud.com:443/aif/rest/ http(s)://epmserver:port/aif/rest/{api_version}/{resource path) http://epm11124:6550/aif/rest/V1/jobs Upload File Download File
  • 19. Execute Data Load Rules Resource Path /aif/rest/{api_version}/jobs Request Type POST Request Parameters Notes jobType DATARULE jobName Name of DLR (use “” if spaces) startPeriod Period name endPeriod Period name fileName Must be in the inbox (use “” for predefined) importMode APPEND/REPLACE/RECALCULATE/NONE (skip) exportMode (E)PBCS/Planning FCCS/TRCS STORE_DATA ADD_DATA SUBTRACT_DATA REPLACE_DATA NONE (skip) REPLACE MERGE NONE (skip) • HFM Replace by Security/Accum not supported • FULL_REFRESH/SNAPSHOT/INCREMENTAL (OP) • Can load Metadata (CDM) • Location security applies
  • 20. Execute Batches Resource Path /aif/rest/{api_version}/jobs Request Type POST Request Parameters Notes jobType BATCH jobName Name of the batch • Doesn’t accept parameters • Ex: if you pass start and end periods, they will be ignored
  • 21. Import/Export Mappings Resource Path /aif/rest/{api_version}/jobs Request Type POST Request Parameters Notes jobType MAPPINGIMPORT jobName Dimension Name/ALL fileName CSV, .TXT, .XLS, or .XLSX Must be in the inbox first importMode REPLACE/MERGE validationMode true/false locationName Location name • Specify the relative path with the filename • Scripts supported in Text export • Bug – security location is bypassed Resource Path /aif/rest/{api_version}/jobs Request Type POST Request Parameters Notes jobType MAPPINGEXPORT jobName Dimension Name/ALL fileName CSV, .TXT, .XLS, or .XLSX XLS/XLSX exported as XLSM locationName Location name
  • 22. Execute Reports Resource Path /aif/rest/{api_version}/jobs Request Type POST Request Parameters Notes jobType REPORT jobName Report name (as it is) reportFormatType PDF, XLSX, HTML, EXCEL parameters JSON with pairs “param name”:”param value” • Generic error when invalid report name • Application/outbox/reports (OP)
  • 23. Job Execution Response Response Parameter Description status -1 (in progress) / 0 (success) 1 (error) 2 (cancel) 3 (cancelled) 4 (invalid parameter) jobStatus RUNNING / SUCCESS / FAILED jobId Process ID in FDMEE/CDM logFileName Log File (relative path) outputFileName Output File (relative path) processType COMM_LOAD_BALANCES / MAPPING_EXPORT / … executedBy Login name of the user calling the REST API details Exception message in case of errors Links Links related to the Job
  • 24. The secret GET/POST REST APIs They are not documented but they do exist (supported?) GET REST APIs • Job Details (paging) • Application and Details (definition, options, dimensions) • Dimensions, Rules, Import Formats, Locations, etc. POST REST APIs • Refresh Metadata and Members • Execute Scripts (Cloud and OP) • Direct Import/Export Planning/PBCS/FCCS, Export to ARM
  • 26. Get Process Details into Excel GET - /aif/rest/V1/jobs
  • 27. Execute Custom Script  Similar to REST resource for executing Reports (jobType = SCRIPT)  OP – Custom Scripts  CDM – System Maintenance Tasks only
  • 28. Taking the REST APIs to the Next Level Excel Mapping RESTloader PowerShell Toolbox Extended FDMEE API Robotic Process Automation Mobile Apps Oracle Integration Cloud EPMware Mappings
  • 29. Excel Map RESTLoader VBA API for REST APIs Cloud/OP Tasks • Download Maps • Upload Maps • Scripts supported • Send Email • …
  • 32. PowerShell Toolbox Invoke-RestMethod Scheduling/Email notifications Admin ownership .Net Libraries Cloud/OP Tools • File Watcher • Report Executor • Rejected Records • Adapters • … 1. If there are files, then move files to openbatch folder 2. Execute batch with REST APO
  • 33. Extended FDMEE API Custom Python/Java API Used from FDMEE scripts (OP) Tasks • Download/Upload Maps • Execute Rules/Batches • Execute Reports • Execute Scripts • …
  • 34. Executing Reports Advance process logic (email…) Get Job Id Easy to rename reports Error handling & verbosing Better option than runreport utility
  • 35. UiPath Robotic PA Automate Business Processes/Tasks Automate FDMEE/CDM Jobs Health Checks Cloud Adapters Cloud/OP Tasks • HTTP Request • JSON Deserialization • Send Email • …
  • 37. Mobile Apps iOS and Android Cloud/OP Functionality • Mapping Creator • Rule Executor • Report Executor • Process Monitor • … Think about getting a file in your email and loading it from your mobile/table Data Management? Kscope.
  • 38. iProcessMonitor Download logs and Outbox files Send emails to users Capture rejected records Etc.
  • 39. Oracle Integration Cloud Autonomous Integration Cloud Integration PaaS (iPaaS) Connect to on-prem Pre-built adapters REST adapter Key Features • Integration Apps • Process Automation • Visual Build
  • 41. EPMware MDM & DG Software Manage FDMEE as app type All mapping types Direct import/export of maps
  • 43. REST APIs for FDMEE and CDM are used to execute jobs from external clients 1 REST APIs can be used in different types of deployment: cloud, on-prem, and hybrid 2 As always, creativity plays a very important role 3
  • 44. References  My Blog - Fishing with FDMEE  John Goodwin’s Blog http://john-goodwin.blogspot.com/  Oracle’s Documentation  UiPath Robotics Process Automation  Oracle Integration Cloud
  • 45. Q&A