Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction to the Wave Platform API

Join us to explore the Wave Platform, including APIs, data loading, packaging, and licensing. We will discuss using Wave with, including Visualforce, Lightning, Apex, REST, and more.

  • Login to see the comments

Introduction to the Wave Platform API

  1. 1. Introduction to the Wave Platform APIs, ALM, and SDKs for Analytics Skip Sauls Director of Product Management, Analytics Cloud @SkipSauls
  2. 2. Forward-Looking Statements Statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available., inc. assumes no obligation and does not intend to update these forward-looking statements.
  3. 3. Agenda Wave Analytics Wave Platform ● API (Application Program Interface) ● ALM (Application Lifecycle Management) ● SDK (Software Development Kit) Q&A
  4. 4. Wave Analytics Overview
  5. 5. The Age of the Customer Everything and everyone is getting smarter IoT Data Science Social Mobile Cloud LAN/WAN Client Server SNA Mainframe Terminal MillionsThousands Billions connected things of customer interactions Trillions
  6. 6. Become a Customer Company Connect with your customers in a whole new way Run your business from your phone Build 1 to 1 customer journeys Get smarter about your customers THE CUSTOMER SUCCESS PLATFORM
  7. 7. The Wave Advantage Data + Insights + Actions
  8. 8. The Salesforce Advantage Wave Analytics built on the Salesforce Platform Multitenant cloud Fast innovation Scalable metadata platform Rapid customization Most trusted enterprise cloud Security | Availability | Performance
  9. 9. Wave Analytics Demo
  10. 10. Wave Platform - API Overview
  11. 11. Based on the Connect/Chatter API ● Works in same way as other APIs ● Uses Salesforce session IDs (OAuth, SAML, etc.) ● Includes URLs for linking to related resources ● Supports CRUD (GET, PUT, POST, PATCH, DELETE) on most asset types ● Apps, Dashboards, Lenses, Datasets, Templates, and XMD Dynamic Queries ● Execute Salesforce Analytics Query Language (SAQL) queries ● Returns query results as native JSON (no ugly XML-JSON) High Scalability and Performance ● Able to scale much higher than counterparts ● Higher limits than most APIs Wave Platform - API GA Spring ‘16
  12. 12. SAQL - Salesforce Analytics Query Language ● Used to access data in Wave Analytics datasets ● Supports statement chaining ● Statements ○ Keywords (filter, group, order, etc.) ○ Identifiers (accounts, ‘Id’, etc.) ○ Operators ( +, -, ==, >, &&, etc.) ○ Literals (16, 32.4, “My Results”) Wave Platform - API Query q = load "0FbB00000000M0cKAE/0FcB0000000DAvWKAW"; q = group q by (ProductName); q = foreach q generate ProductName, sum(TotalPrice) as sum_Price, percentile_cont(0.95) within group (order by 'TotalPrice') as 'sum_95Percentile'; q = limit q 5; { "action": "query", "responseId": "44FIanffZL82oAVeRhqeek", "results": { "records": [ { "ProductName": "Books", "sum_95Percentile": 2143632, "sum_Price": 277013830 }, { "ProductName": "Cables", "sum_95Percentile": 1028160, "sum_Price": 104820886 }, { "ProductName": "Cases", "sum_95Percentile": 3177076.25, "sum_Price": 175470429 }, { "ProductName": "Certifications", "sum_95Percentile": 1754181, "sum_Price": 172192826 }, { "ProductName": "Courses", "sum_95Percentile": 2164909.25, "sum_Price": 255853357 } ] }, "query": "q = load "0FbB00000000M0cKAE/0FcB0000000DAvWKAW";q = group q by (ProductName);q = foreach q generate ProductName, sum(TotalPrice) as sum_Price, percentile_cont(0.95) within group (order by 'TotalPrice') as 'sum_95Percentile';q = limit q 5;", "responseTime": 11 }
  13. 13. /services/data/v37.0/wave/query ● Supports POST for executing queries ● Executes the SAQL query in the body ● Returns results as JSON Wave Platform - API Query WorkbenchLightning Application
  14. 14. /services/data/v37.0/wave/dashboards ● GET (list) , POST (create) ● Returns a list of dashboards as JSON /services/data/v37.0/wave/dashboards/<id> ● GET (details), PATCH (update), DELETE ● Returns dashboard details Wave Platform - API Dashboards WorkbenchSlack
  15. 15. Wave Platform - API Action - Check out the Wave REST API Developer Guide
  16. 16. Wave Platform - API Demos
  17. 17. Wave Platform - ALM Overview
  18. 18. Supported Features Upgrade/Push Upgrade Wave components Delete/Deprecate a Wave component from a managed package LMA license control for all Wave components except Dataflow Trialforce • Wave Apps, Dashboards, Lenses, and Dataflows components will replicate to Trial Orgs • Can not replicate the Datasets themselves Unsupported Features Packaging for user XMD or Datafile - available after Winter ‘17 Obfuscation/IP protection • Currently all JSON is visible via the public API for components installed in a subscriber org Wave Platform - ALM Package, Publish, and Sell
  19. 19. Wave Platform - Package Package Wave Apps using the Setup Tools
  20. 20. Wave Platform - Publish Create the Listing for a Wave App Using the Publishing Console
  21. 21. Wave Platform - Sell Customers can Explore, Purchase, and Install Wave Apps from AppExchange
  22. 22. Allows you to manage leads and licenses for your AppExchange offerings Creates lead and license records for each installation of your package Installed in your Partner Business Org Wave Platform - Licensing Support License Management App (LMA)
  23. 23. Wave Platform - ISVs Building Apps 19 Committed & Probable to Deliver an App For Launch 20 Others Close Behind
  24. 24. Wave Platform - ALM Demo
  25. 25. Wave Platform - SDK Overview
  26. 26. Wave Platform - SDK Winter ‘17 Easy ● Authorization & access control ● Session management Simple ● Reduce/eliminate the need to call REST APIs directly ● Object centric - Direct mapping to Wave assets Fast ● Create apps in hours, not days or weeks ● Rapid publishing to AppExchange, App Store, and Play
  27. 27. Wave Platform - SDK Bridging the Gap Target Users Winter ‘17 ISV, OEM, & SI Partners PDOs Programmatic App Developers Spring ‘17 Citizen Developers Summer ‘17 Hero Admins Platforms Winter ‘17 - Apex Web - JS/HTML5/CSS Spring ‘17 iOS - Swift/Objective-C Summer ‘17 Android - Java
  28. 28. Wave Platform - SDK Ease of Use and Efficiency function getImages(item, callback) { var imageData = []; if (item.allowPreview === true && item.files && item.files.length > 0) { var count = 0; for (var j = 0; j < item.files.length; j++) { (function(file) { if (file.fileName === "assetPreviewThumb" && file.contentType === "image/png") { var self = this; var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4) { if (xhr.status > 199 && xhr.status < 300) { var blob = new Blob([xhr.response], { type: 'image/png' }); var reader = new FileReader(); =; reader.onload = function(e) { var returnedURL =; var returnedBase64 = returnedURL.replace(/^[^,]+,/, ''); imageData.push("data:image/png;base64," + returnedBase64); count++; if (count >= item.files.length && callback instanceof Function) { callback(imageData); } }; reader.readAsDataURL(blob); //Convert the blob from clipboard to base64 } else { console.error(xhr.responseText); } } };'GET', force.oauth.instance_url + file.url, true); xhr.responseType = 'arraybuffer'; xhr.setRequestHeader("Authorization", "Bearer " + force.oauth.access_token); xhr.send(undefined); } })(item.files[j]); } } else { if (callback instanceof Function) { callback(null); } } } dashboard.getPreview(); vs
  29. 29. Wave Platform - SDK Demo
  30. 30. Q&A
  31. 31. thank y u