Upload
salesforce-developers
View
122
Download
9
Tags:
Embed Size (px)
DESCRIPTION
Using a combination of Heroku and Force.com, Moroku is able to provide provide a high-volume Gamefication engine for iOS and Android clients. Our core engine runs on Heroku, and all of the configuration and view of Analytics is done via Force.com. Join us to learn how to integrate the on-demand scalability of Heroku with Force.com to provide an administration and analytics portal for customers. We'll show you how to use the Salesforce Bulk API to upload thousands of records to Force.com and how to use the REST API to get configuration data from Force.com, and more.
Citation preview
Integrating Force.com and HerokuIntegrating Force.com and HerokuUsing REST and Bulk APIs
Mark Puddick, Moroku, CTO
@MarkPudd
Mark PuddickMark Puddick
CTO, MorokuCTO, 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
MobileApp
Bank Customers
Bank Admin
Moroku Game ServerGame FunctionalityAnalytics Summary
Generation
Moroku Game ConsoleConfiguration
Analytics ViewsRESTBulk API
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 - [email protected]: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 PuddickMark Puddick
CTO, Moroku