SlideShare una empresa de Scribd logo
1 de 20
Integrating Force.com and Heroku
Using REST and Bulk APIs
Mark Puddick, Moroku, CTO
@MarkPudd
Mark Puddick
CTO, Moroku
Agenda
- Moroku Game System
- Authorization

- REST
- Bulk

- Polls Demonstration
Game System - Objective
• We Gamify bank customers banking
• Allow Player to gain points for banking activities such as goal
setting
• Points, badges and leaderboard mechanics are used
• We use Heroku to run our Game Server
• Sync with Force.com
• Sync quizzes, analytics and players
Game System - High Level Architecture
Mobile
App

Bank Customers

Bank Admin

Moroku Game Server
Game Functionality
Analytics Summary
Generation

REST
Bulk API

Moroku Game Console
Configuration
Analytics Views
Why?
• High request volume with Heroku
• Heroku gives us some great options to scale

• Administration with Force.com
• User management

• Integration points
• Familiar look and feel
Authentication
• Options
• Basic username/password

• Access Token/Refresh Flow

• Encrypted Token storage

• Configuration
• Sign on URL
REST API
- Obtain Information about Salesforce or Force.com objects
- Perform SOQL queries

- Update or delete records
Using REST API – SOQL to get Configuration
• Quiz configuration is done within Force.com
• Daily batch job syncs the quizzes with Heroku

• Heroku scheduler run the batches
• REST API used the get the quizzes

• Potential to run on demand
Using REST API – SOQL to get Configuration

Daily Batch
Using REST API -SOQL to update Analytics
• Analytics are generated around what players have been doing
• Generated from Postgres or Treasure Data

• Scheduled on Heroku Batch twice per day
• Reports, graphs and dashboard created for the bank
Using REST API -SOQL to update Analytics

Twice daily
batch
Using BulkAPI
• Create Job – specifies the object and action
• Create Batch of content – player information
• Create subsequent batch if needed

• Close job
• Check status and results
Bulk API – Update Customers Points
• Users points balance and goals uploaded
• Runs as a daily batch

• Leaderboards generated in Force.com
• Goal distribution shown in dashboard
Bulk API – Update Customers Points

Daily
Batch
Example Application – Setup Poll and Sync

Sync
Code
Github - git@github.com:markmoro/poll_demo.git
All about
Moroku makes banking fun because:
•Financial Mastery is both very important and very difficult for lots of
people.
•Fun is the most ancient and proven mechanism for learning skills and
delivering outcomes: “People rarely succeed unless they have fun in
what they are doing”: Dale Carnegie, 7 Habits ……

.
 Established January 2012, Sydney Australia
 May 2012, Game System Beta Released
 August 2012: Red Herring Asia 100
 September 2013, First bank goes live
Mark Puddick
CTO, Moroku
Integrating Heroku and Force.com Using Bulk and REST APIs

Más contenido relacionado

Similar a Integrating Heroku and Force.com Using Bulk and REST APIs

sumit.gadekar_Resume
sumit.gadekar_Resumesumit.gadekar_Resume
sumit.gadekar_Resume
Sumit Gadekar
 
2-1 Remember the Help Desk with AFCU - Jared Flanders, Final
2-1 Remember the Help Desk with AFCU - Jared Flanders, Final2-1 Remember the Help Desk with AFCU - Jared Flanders, Final
2-1 Remember the Help Desk with AFCU - Jared Flanders, Final
Jared Flanders
 
MongoDB at Dog on a Horse
MongoDB at Dog on a Horse MongoDB at Dog on a Horse
MongoDB at Dog on a Horse
MongoDB
 
201507_NeoHsu_Portfolio
201507_NeoHsu_Portfolio201507_NeoHsu_Portfolio
201507_NeoHsu_Portfolio
Neo Hsu
 

Similar a Integrating Heroku and Force.com Using Bulk and REST APIs (20)

Server Sent Events using Reactive Kafka and Spring Web flux | Gagan Solur Ven...
Server Sent Events using Reactive Kafka and Spring Web flux | Gagan Solur Ven...Server Sent Events using Reactive Kafka and Spring Web flux | Gagan Solur Ven...
Server Sent Events using Reactive Kafka and Spring Web flux | Gagan Solur Ven...
 
Automated Data Synchronization: Data Loader, Data Mirror & Beyond
Automated Data Synchronization: Data Loader, Data Mirror & BeyondAutomated Data Synchronization: Data Loader, Data Mirror & Beyond
Automated Data Synchronization: Data Loader, Data Mirror & Beyond
 
BlackBerry Jam Asia 2013 - Gaming on BlackBerry
BlackBerry Jam Asia 2013 - Gaming on BlackBerryBlackBerry Jam Asia 2013 - Gaming on BlackBerry
BlackBerry Jam Asia 2013 - Gaming on BlackBerry
 
Neo4j Aura on AWS: The Customer Choice for Graph Databases
Neo4j Aura on AWS: The Customer Choice for Graph DatabasesNeo4j Aura on AWS: The Customer Choice for Graph Databases
Neo4j Aura on AWS: The Customer Choice for Graph Databases
 
sumit.gadekar_Resume
sumit.gadekar_Resumesumit.gadekar_Resume
sumit.gadekar_Resume
 
CCI2018 - Real-time dashboard whatif analysis
CCI2018 - Real-time dashboard whatif analysisCCI2018 - Real-time dashboard whatif analysis
CCI2018 - Real-time dashboard whatif analysis
 
Monitoring your Power BI Tenant
Monitoring your Power BI TenantMonitoring your Power BI Tenant
Monitoring your Power BI Tenant
 
Optimizing React at Postmates
Optimizing React at PostmatesOptimizing React at Postmates
Optimizing React at Postmates
 
2-1 Remember the Help Desk with AFCU - Jared Flanders, Final
2-1 Remember the Help Desk with AFCU - Jared Flanders, Final2-1 Remember the Help Desk with AFCU - Jared Flanders, Final
2-1 Remember the Help Desk with AFCU - Jared Flanders, Final
 
How we built a job board in one week with JHipster
How we built a job board in one week with JHipsterHow we built a job board in one week with JHipster
How we built a job board in one week with JHipster
 
How we built a job board in one week with JHipster - @KileNiklawski @IpponUSA
How we built a job board in one week with JHipster - @KileNiklawski @IpponUSAHow we built a job board in one week with JHipster - @KileNiklawski @IpponUSA
How we built a job board in one week with JHipster - @KileNiklawski @IpponUSA
 
Daniel Wiggins, Kabam
Daniel Wiggins, KabamDaniel Wiggins, Kabam
Daniel Wiggins, Kabam
 
MongoDB at Dog on a Horse
MongoDB at Dog on a Horse MongoDB at Dog on a Horse
MongoDB at Dog on a Horse
 
Building Business Applications in Office 365 SharePoint Online Using Logic Apps
Building Business Applications in Office 365 SharePoint Online Using Logic AppsBuilding Business Applications in Office 365 SharePoint Online Using Logic Apps
Building Business Applications in Office 365 SharePoint Online Using Logic Apps
 
BigQuery in Social Gaming
BigQuery in Social GamingBigQuery in Social Gaming
BigQuery in Social Gaming
 
201507_NeoHsu_Portfolio
201507_NeoHsu_Portfolio201507_NeoHsu_Portfolio
201507_NeoHsu_Portfolio
 
Power BI Create lightning fast dashboard with power bi & Its Components
Power BI Create lightning fast dashboard with power bi & Its Components Power BI Create lightning fast dashboard with power bi & Its Components
Power BI Create lightning fast dashboard with power bi & Its Components
 
Extending Power BI with your own custom visual
Extending Power BI with your own custom visualExtending Power BI with your own custom visual
Extending Power BI with your own custom visual
 
Groupby -Power bi dashboard in hour by vishal pawar-Presentation
Groupby -Power bi dashboard in hour by vishal pawar-Presentation Groupby -Power bi dashboard in hour by vishal pawar-Presentation
Groupby -Power bi dashboard in hour by vishal pawar-Presentation
 
Y Boss External 20091017
Y Boss External 20091017Y Boss External 20091017
Y Boss External 20091017
 

Más de Salesforce Developers

Más de Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Integrating Heroku and Force.com Using Bulk and REST APIs

  • 1. Integrating Force.com and Heroku Using REST and Bulk APIs Mark Puddick, Moroku, CTO @MarkPudd
  • 3. Agenda - Moroku Game System - Authorization - REST - Bulk - Polls Demonstration
  • 4. Game System - Objective • We Gamify bank customers banking • Allow Player to gain points for banking activities such as goal setting • Points, badges and leaderboard mechanics are used • We use Heroku to run our Game Server • Sync with Force.com • Sync quizzes, analytics and players
  • 5. Game System - High Level Architecture Mobile App Bank Customers Bank Admin Moroku Game Server Game Functionality Analytics Summary Generation REST Bulk API Moroku Game Console Configuration Analytics Views
  • 6. Why? • High request volume with Heroku • Heroku gives us some great options to scale • Administration with Force.com • User management • Integration points • Familiar look and feel
  • 7. Authentication • Options • Basic username/password • Access Token/Refresh Flow • Encrypted Token storage • Configuration • Sign on URL
  • 8. REST API - Obtain Information about Salesforce or Force.com objects - Perform SOQL queries - Update or delete records
  • 9. Using REST API – SOQL to get Configuration • Quiz configuration is done within Force.com • Daily batch job syncs the quizzes with Heroku • Heroku scheduler run the batches • REST API used the get the quizzes • Potential to run on demand
  • 10. Using REST API – SOQL to get Configuration Daily Batch
  • 11. Using REST API -SOQL to update Analytics • Analytics are generated around what players have been doing • Generated from Postgres or Treasure Data • Scheduled on Heroku Batch twice per day • Reports, graphs and dashboard created for the bank
  • 12. Using REST API -SOQL to update Analytics Twice daily batch
  • 13. Using BulkAPI • Create Job – specifies the object and action • Create Batch of content – player information • Create subsequent batch if needed • Close job • Check status and results
  • 14. Bulk API – Update Customers Points • Users points balance and goals uploaded • Runs as a daily batch • Leaderboards generated in Force.com • Goal distribution shown in dashboard
  • 15. Bulk API – Update Customers Points Daily Batch
  • 16. Example Application – Setup Poll and Sync Sync
  • 18. All about Moroku makes banking fun because: •Financial Mastery is both very important and very difficult for lots of people. •Fun is the most ancient and proven mechanism for learning skills and delivering outcomes: “People rarely succeed unless they have fun in what they are doing”: Dale Carnegie, 7 Habits …… .  Established January 2012, Sydney Australia  May 2012, Game System Beta Released  August 2012: Red Herring Asia 100  September 2013, First bank goes live