From the origin to the future of Open Source model and business
Integrate Your Advanced Analytics into BI Apps and MS Office and Multiply Their Value
1. REvolution Confidential
Revolution
Deploying R evolution
R E nterpris e with
B us ines s
Intelligenc e
A pplic ations
David C hampagne
May 8, 2012
Revolution Confidential
2. Revolution Confidential
Our C us tomers Want to… REvolution Confidential
Revolution
Be more productive
Stop cutting and pasting analytics into MS Office applications
Get feedback from a wider variety of analytic consumers
Make the company’s “analytic consumers” self-sufficient
Provide the model and secure access to data and let them
iterate and learn
Provide more timely updates
Model updates with new data, so not restricted to “scheduled”
reporting intervals
Deliver more value through BI application investment
Advanced analytics complements traditional BI reporting, and
can leverage the work already done
Elevate the value of the analytics team
Once people see what’s possible, they’ll want more
3. Revolution Confidential
REvolution Confidential
Revolution
Most advanced statistical
analysis software available
The professor who invented analytic software for
Half the cost of the experts now wants to take it to the masses
commercial alternatives
2M+ Users
Power
2,500+ Applications
Finance
Statistics
Life Sciences
Predictive Manufacturing
Analytics Productivity
Retail
Data Mining Telecom Enterprise
Social Media Readiness
Visualization
Government
3
4. Revolution Confidential
A dvanc ed A nalytic s and B us ines s
Intelligenc e REvolution Confidential
Revolution
Obtain greater insights by adding advanced
Analytics
Predictive modeling
Sales Forecasts
Customer Affinity
Associations
Clustering and Classification
Expose this capability to the business users
4
5. Revolution Confidential
R is the bes t c hoic e for job REvolution Confidential
Revolution
R is a programming language
Catalog of over 2500 open-source add-on
packages
Community
Thousands of contributors, 2 million users
Resources and help in every domain
Develop and deploy your models with the
same environment
5
6. Revolution Confidential
A dding A dvanc ed A nalytic s REvolution Confidential
Revolution
Use the same analytic toolset across
applications and platforms
Web
Reporting and Dashboards
Custom Interactive applications
Mobile
Desktop Applications
Excel
Custom Apps via(.NET, Java)
Enterprise Processes via SOA
6
7. Revolution Confidential
R evolution R E nterpris e - Deployment REvolution Confidential
Revolution
Individual H S
Analysts O
S
S
T S
HDFS Database Appliance
Deployment
Servers High Workload
Hadoop Cluster
Clusters
Business Users
7
8. Revolution Confidential
C us tomer Us e C as es REvolution Confidential
Revolution
Major NY Bank using Revolution R
Enterprise to Create and Deploy Equity
Trading models
500+ Analysts using the developed models
Major Hospital Network doing analytics on
clinical data to generate treatment efficacy
predictions and capacity forecasting
Executive staff using output of analytics to make
business decisions
8
11. Revolution Confidential
R evoDeployR – K ey A dvantages REvolution Confidential
Revolution
Unlocks all the power of R to any 3rd party
application
Easy to use API – Rapid deployment
Scalability – Add nodes as you need them
Separation of expertise
Statistician - Just writes R code, no need to
know about the application
Application programmer – calls the API to
execute an R script, and gets the output.
11
12. Revolution Confidential
R evoDeployR REvolution Confidential
Revolution
Designed to be Enterprise Ready
Comprehensive collection of Web Service APIs
Enterprise Security
Stateful and Stateless execution of R
Code/Scripts
Asynchronous Job Execution
Repository for managing R objects and files
Administration
12
13. Revolution Confidential
R evoDeployR - A rc hitec ture REvolution Confidential
Revolution
End User Desktop Business Interactive Web or
Applications Intelligence Mobile
(i.e. Excel) (i.e. QlikView) Applications
Application
Client libraries (JavaScript, Java, .NET)
Developer
HTTP/HTTPS – JSON/XML
RevoDeployR Web Services
Admin Session Data/Script
Authentication Administration
Management Management
R
R
Programmer R
R
13
14. Revolution Confidential
R evoDeployR - S erver REvolution Confidential
Revolution
Applications Admin
R
R R
RevoDeployR Web Grid Node
Management Console
Services API
R
Grid Management R R
Framework Grid Node
Spring3 Framework J2EE Framework
R
R R
Grid Node
SQL Database WebDAV Repository
R R Session
14
15. Revolution Confidential
R evoDeployR REvolution Confidential
Revolution
Web Services Layer
Implemented as RESTful API accessed via
HTTP or HTTPS
Support for both JSON and XML formatted
payloads
Client libraries in JavaScript, Java and .NET to
make integration easy
15
16. Revolution Confidential
R evoDeployR REvolution Confidential
Revolution
R Scripts and R Code
Stateless execution of pre-defined R Scripts
Supports both Anonymous and Authenticated access
Project is automatically created, inputs loaded, R script
executed, outputs returned, and session destroyed
Stateful execution
Must be an authenticated user
Project is explicitly created/destroyed
R script or R code executed in the defined project
Jobs
Code and Script can be executed as a background job
Results are persisted and can be retrieved later
17. Revolution Confidential
R evoDeployR REvolution Confidential
Revolution
R Developer
Create R code, defining inputs and outputs
Inputs – R Objects
Outputs – Files, Console, Warnings/Errors, R Objects
R Objects that can be rendered in JSON or XML
as part of the API payload
Primitives (character, numeric, logical, date, factor)
Vector
Matrix
Data Frame
List
17
18. Revolution Confidential
R evoDeployR REvolution Confidential
Revolution
Application Developer
Define RevoDeployR Server connection (URL)
*Authenticate
*Create/Open Project
Execute Script or Execute Code
Create list of inputs
R Objects
Create lists of named outputs (if any)
R Objects
*Close R Project
* Required for Stateful execution
18
19. Revolution Confidential
R evoDeployR – R E S T ful A P I REvolution Confidential
Revolution
Example HTTP Call to Create a Project
format = json
HTTP POST on API call:
/r/session/create
JSON Response
{
"deployr": {
"response": {
"success": true,
"project": {
"lastmodified": "Thu, 20 Oct 2011 18:27:29 +0000",
"live": true,
"origin": "Project original.",
"longdescr": null,
"name": null,
"projectcookie": null,
"ispublic": false,
"owner": "testuser",
"descr": null,
"project": "PROJECT-5ab61ec0-09b9-44ea-837d-9e6f40a7e8a3"
},
"call": "/r/project/create"
}
}
}
19
20. Revolution Confidential
REvolution Confidential
Revolution
R evoDeployR – S tateles s E xample (J avaS c ript)
var exeScript = function () {
…
// set the call back configuration
var callback = { success : plot, failure: fail, scope : this, verbose : true };
var rnum = Y.Revolution.RDataFactory.createNumeric('input_randomNum', num);
var scriptConfig = { rscript:'DeployR - Hello World', inputs : [rnum]};
// execute RScript
Y.Revolution.DeployR.repositoryScriptExecute(scriptConfig, callback);
};
20
21. Revolution Confidential
R evoDeployR – S tateful E xample REvolution Confidential
Revolution
Use case - Simple Regression
Upload a CSV file to the RevoDeployR Server
Get a list of numeric variables
Run a simple regression using 2 of the variables
Return a plot
Implementation
2 R Scripts
Read the uploaded CSV and return the list of numeric variables
Run the regression on the selected variables
Requires authentication (login)
R Session is explicitly created after login
Both scripts execute in the same R Session
21
22. Revolution Confidential
R evoDeployR - S c alability REvolution Confidential
Revolution
Add compute nodes to handle changing
workload requirements
Execute code and scripts as background
jobs
Assign roles to nodes
Anonymous
Authenticated
Jobs
22
23. Revolution Confidential
T hank you. REvolution Confidential
Revolution
The leading commercial provider of software and support for the popular
open source R statistics language.
www.revolutionanalytics.com 650.646.9545 Twitter: @RevolutionR
23