workshop slides

116

Upload: joshua-birk

Post on 03-Nov-2014

721 views

Category:

Documents


5 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Workshop slides
Page 2: Workshop slides
Page 3: Workshop slides

In 1954, Steve Sasson invented the digital camera.

There was no FacebookNo Twitter

No YouTube

At the time, this was a very cool thing.

Page 4: Workshop slides

In 2012, Eastman Kodakfiled for Chapter 11

Mobile devices cited as a leading cause.

In 1954, Steve Sasson worked for Kodak

Page 5: Workshop slides

...fastest ramping mobile

device ever.“

CIOs Surveyed on Tablet Usage

2010

2011

Morgan Stanley, “Tablet Demand and Disruption”, February 14, 2011.

Purchased for EmployeesEmployee-ownedNot Allowed

Mobile EnterpriseIncreasing number of enterprise tablets and smartphones

Page 6: Workshop slides

Sources: Nielsen Wire, January, 2011. Morgan Stanley Internet Mobile Report, December 2009

Top Internet Uses

20062007

20082009

2010

22%internet time is social

Search

2011

Social Revolution: Facebook Eats the Web

Page 7: Workshop slides

“The traditional model for enterprise application distribution and deployment is quickly being obsoleted

by the cloud PaaS/app store model”

IDC Predictions 2012: Competing for 2020

Page 8: Workshop slides

Build the Social Enterprise - Today

site.com

Page 9: Workshop slides

Cloud App Platforms Eliminate Servers

DatabaseApp

ServerMessaging

Directory Services

Compute Storage

Network

Cloud App Platform

Virtualization & IaaS

Page 10: Workshop slides

What Are the Most Common Apps Built on the Platform?

Social Engagement

Critical Processes

Social Websites

Social Front Ends

Extend the the value of your backoffice

Cut inefficiency with the power of the cloud.

Accelerate your marketing to the pace the market moves at.

Connect to customers the way they expect it - social and mobile, all the time.

Page 11: Workshop slides

Streamline multi-step processes

Replace manual and inefficient workflow

Integrated collaboration and content

Can be built by Business or IT

Platform Services

Visual Workflow

Programmatic Logic

Chatter

Content

Analytics

Mobile

Critical Processes Increase efficiency with the Cloud

Customers Include:

Page 12: Workshop slides

ERP, Warehouses, Mainframes

Instant access for any employee

Proven user adoption

Rapid deployment, Instant scale

Integrated collaboration

Collaboration

Employees Partner

Social Media

Platform Services

Open API

Data Modeler

Customizable UI

Analytics

Mobile

Open Languages

Social Front Ends Create A Layer of Agility Around Legacy Systems

Customers Include:

Page 13: Workshop slides

Launch powerful websites in days

Empower business users to make edits

Create forms with just a few clicks

Deliver relevant content to web visitors

Ensure blazing fast load timesPlatform Services

Content mgt system

Web design studio

Site hosting

Website caching

Authentication

Integrated database

Marketing Websites Build A Web Presence In Days

Page 14: Workshop slides

Platform Services

Open-language

Git Deployment

Relational DB

NoSQL DB

Instant Scale

Erosion Resistance

Seamless Force.com

Add-on Catalog

Engage Customers With Interactive Social Apps

Customers Include:

Engage customers in new ways

Use multimedia and new interfaces

Design real-time interactive apps

Instantly scale for millions of users

Choice of modern development languages

Page 15: Workshop slides

Your applications, everywhere

Mobile Marketing

Calls & Alerts

Live Event Feed

Calendar

Apps

Customer Facing

Record browsing

Light data entry

Notes

Heavy data entry

Document creation

Administration

Full web access

NATIVE WEBHYBRID

On the Go In the Office On the Road

Page 16: Workshop slides

Collaboration Makes Every App More Productive

Collaboration on Records

ApprovalsCustomer Groups Triggers & Apex Connect API Messenger

Records Files

Approvals

Page 17: Workshop slides

Rapidly Built Apps With Reusable Services

Heroku Add-onsReusable Components

AppExchange

Page 18: Workshop slides

Open Choice of Developer Environments

Visual Design Any Language

Page 19: Workshop slides

Massive and Transparent Scalability45 Billion Transactions in Q4 FY12

Page 20: Workshop slides

Source: 2009 IDC Study, “Force.com Cloud Platform Drives Huge Time to Market and Cost Savings”

3x More Apps Per Year

Deliver More Apps

4.5x Faster Updates

Ideal for Agile Development

Make Changes Faster

Prebuilt Application

Components

Less Resources

94% Fewer Developer Hours

54% Lower TCO

Lower Cost

Proven Business Results

Multi-tenant PaaS

Automatic

Upgrades

Page 21: Workshop slides

“80% of new commercial enterprise apps will be deployed on cloud platforms in 2012”

IDC Predictions 2012: Competing for 2020

Page 22: Workshop slides

Now it’s your turn!

Page 23: Workshop slides

Declarative App Building

Page 24: Workshop slides

Safe Harbor

Safe harbor 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 salesforce.com, 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 non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year ended January 31, 2011 and in our quarterly report on Form 10-Q for the most recent fiscal quarter ended July 31, 2011. 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. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.

Page 25: Workshop slides

Easily create a data structure driven by business logic, without using any programmatic or database administration tools.

Page 26: Workshop slides

Declarative App BuildingAllows for the creation of data models and business logic without adding programmatic logic

Custom ObjectsCustom FieldsValidation RulesWorkflowsApprovals

Page 27: Workshop slides

Warehouse Application Requirements

• To have a system which allows tracking of price, and inventory on hand for all merchandise

• To have a system which allows the creation of invoices containing one more merchandise items as a line item on the invoice

• To have an invoice which presents total invoice amount and current shipping status

What are the nouns in our requirements?

Page 28: Workshop slides

Warehouse Application Requirements

• To have a system which allows tracking of price, and inventory on hand for all merchandise

• To have a system which allows the creation of invoices containing one more merchandise items as a line item on the invoice

• To have an invoice which presents total invoice amount and current shipping status

Page 29: Workshop slides

Warehouse Application Requirements

• To have a system which allows tracking of price, and inventory on hand for all merchandise

• To have a system which allows the creation of invoices containing one more merchandise items as a line item on the invoice

• To have an invoice which presents total invoice amount and current shipping status

Page 30: Workshop slides

Warehouse App Data Model

Merchandise

Name Price Inventory

Pinot $20 15

Cabernet $30 10

Malbec $20 20

Zinfandel $10 50

Invoice

Number Status Count Total

INV-01 Shipped 16 $370

INV-02 New 20 $200

Invoice Line Items

Invoice Line Merchandise Units

Sold

Unit Price

Value

INV-01 1 Pinot 1 15 $20

INV-01 2 Cabernet 5 10 $150

INV-01 3 Malbec 10 20 $200

INV-02 1 Pinot 20 50 $200

Page 31: Workshop slides

Declarative Business Logic

Page 32: Workshop slides

Functions in Formulas

• ‘Pre-packaged’ operations for performing common logic

• Support for commons functions– Math– Text– Date & Time – Logical

• Can chain functions togetherAND ( OR (

ISPICKVAL(StageName, "Closed Won"),

ISPICKVAL(StageName, "Negotiation/Review")),

ISBLANK(Delivery_Date__c) )

Page 33: Workshop slides

Formulas can to define business logic

Validation rules

Workflow rules

Approvals

Page 34: Workshop slides

New Requirement:

• A user can not buy more items than are in stock

Look for assertions.

Page 35: Workshop slides

If Then Error

Implied on record save.

Formula evals true (error) or false (save)

Return error message

(UI or API)

Page 36: Workshop slides

New requirement:

• Every time a line item is added to an open invoice we need to update inventory stock counts.

Look for time-based queues.

When Why

What

Page 37: Workshop slides

TaskOutbound Message

Update FieldEmail

Workflow & Approvals

Page 38: Workshop slides

When

Why

What

Page 39: Workshop slides

New Requirement:

• Every time an order greater than $1000 is placed a manager needs to sign off on it.

Human (role) interaction

Page 40: Workshop slides

Approvals allow

Single/Multi/Skip step processes

Route based on roles, or queues

Automation of manual processes

Approval via emails

Page 41: Workshop slides

Track Approval History

Define Actions

Page 42: Workshop slides

Formulas, Workflows and Approvals

Enforce consistency regardless on how you access Force.com

Leverage spreadsheet-like logic

Keep data (and compliance) clean

Automate manual processes

Page 43: Workshop slides

Chatter

Page 44: Workshop slides

Safe Harbor

Safe harbor 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 salesforce.com, 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 non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year ended January 31, 2011 and in our quarterly report on Form 10-Q for the most recent fiscal quarter ended July 31, 2011. 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. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.

Page 45: Workshop slides

Have data communicate with our users and allow our users to discuss work and share relevant files, all in real time.

Page 46: Workshop slides

ChatterAn enterprise collaboration tool based on social frameworks

Data FeedsGroupsComments, Likes, MentionsFile SharingURL Sharing

Page 47: Workshop slides

Follow

Page 48: Workshop slides

Share

Page 49: Workshop slides

Discuss

Page 50: Workshop slides

Privacy and Security

Home Tab / Profile Page Record Detail Page

Every internal user can see what you post

Only users with “Read” access to the record can see what

you post

Page 51: Workshop slides

Chatter Goes MobileTap into mobile success with Chatter

Page 52: Workshop slides

Chatter Components

chatter:follow

chatter:newsfeed

chatter:feed

chatter:followers

chatter:feedAndFollowers

Page 53: Workshop slides

Chatter Triggers

if(feed_text == ‘promote’) {rec.status__c = “Approved”

addToEmailPromotion(rec); FeedItem post = new FeedItem(); post.ParentId = rec.Id; post.Body = ‘Record added to promotion’;

feedsToInsert.addITem(post);}

Page 54: Workshop slides

Chatter API

https://rhatter.heroku.com

Create third party integrations using the RESTful Chatter API

Page 55: Workshop slides

Chatter Hands On Tutorial

Page 56: Workshop slides

Apex and Visualforce

Page 57: Workshop slides

Safe Harbor

Safe harbor 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 salesforce.com, 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 non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year ended January 31, 2011 and in our quarterly report on Form 10-Q for the most recent fiscal quarter ended July 31, 2011. 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. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.

Page 58: Workshop slides

Create a custom mobile interface for warehouse employees to track inventory from mobile phones

Page 59: Workshop slides

Salesforce Mobile

Mobile HTML Application

Mobile SDK Development

No additional development, admin configured and controlled

Web development skills required, easily made for multiple devices and screens

Offers access to device functionality and can create the most fast performing applications

Page 60: Workshop slides

Create a custom mobile interface for warehouse employees to track inventory from mobile phones

Page 61: Workshop slides

Create a data driven web page that is designed for mobile devices

Mobile HTML Application

Mobile SDK Development

Web development skills required, easily made for multiple devices and screens

Offers access to device functionality and can create the most fast performing applications

Page 62: Workshop slides
Page 63: Workshop slides

Model View Controller (MVC) Pattern

Model Controller

View

Page 64: Workshop slides

Model View Controller (MVC) Pattern

Your Data Your Logic

Your Interface

Page 65: Workshop slides

Model View Controller (MVC) Pattern

Custom Objects Apex

Visualforce

Page 66: Workshop slides

Create a custom mobile interface for warehouse employees to track inventory from mobile phones

Page 67: Workshop slides

Apexcloud-based programmatic language with direct access to Force.com data

Java like syntax supporting interfaces, scoping and annotationsDirectly accesses and manipulates data via SOQL and DMLCan be scheduled, run asynchronously, or set in batch modeCan send, receive and parse emails, HTTP callouts, SOAP, and JSONCan be exposed as a web service or REST endpoint

Page 68: Workshop slides

Apex Class Anatomypublic with sharing class myControllerExtension {

private final Account acct; public Contact newContact {get; set;} public myControllerExtension(ApexPages.StandardController stdController) { this.acct = (Account)stdController.getRecord(); }

public PageReference associateNewContact(Id cid) { newContact = [SELECT Id, Account from Contact WHERE Id =: cid LIMIT 1];

newContact.Account = acct; update newContact; }}

public with sharing class myControllerExtension {

private final Account acct; public Contact newContact {get; set;} public myControllerExtension(ApexPages.StandardController stdController) { this.acct = (Account)stdController.getRecord(); }

public PageReference associateNewContact(Id cid) { newContact = [SELECT Id, Account from Contact WHERE Id =: cid LIMIT 1];

newContact.Account = acct; update newContact; }}

Class and Interface based

Scoped Variables

Inline SOQL

Inline DML

Page 69: Workshop slides

What can you do with Apex?

Controllers Inbound/OutboundEmail Services

Custom API andHTTP Callouts

Database Triggers Scheduled and Batched Tasks

Page 70: Workshop slides

The Developer Console

Page 71: Workshop slides

Dealing with Traffic

Page 72: Workshop slides

Apexcloud-based programmatic language with direct access to Force.com data

Governor limits enforces neighborly behavior75% Unit Testing maintains production level integritySandbox environments allow for safe developmentUnit tests, pre-release environments and pilots aid three release cycle

Page 73: Workshop slides

Create a custom mobile interface for warehouse employees to track inventory from mobile phones

Page 74: Workshop slides

VisualforceA component based framework for building user interfaces with web standards like HTML, CSS and JavaScript

Bind logic with ControllersAssociate data directly with ComponentsCreate custom Components and TemplatesUtilize popular web technologies like jQuery and Flash

Page 75: Workshop slides

Standard or Custom Object

Inherit CRUD Operations Extended functionality

<apex:page standardController=“Merchandise__c” extensions=“checkUser,logVisit” >

Binding Logic

Page 76: Workshop slides

Completely Custom Logic

Extended functionality

<apex:page controller=“InventoryController” extensions=“checkUser,logVisit” >

Binding Logic

Page 77: Workshop slides

Component Anatomy

Attributes specify further functionality

Bind data directly on the pageapex, chatter, social or c prefix

<apex:inputField value=“{Contact.FirstName}” >

Page 78: Workshop slides

Big Cloud Realty

http://bit.ly/bigcloudrealty

Page 79: Workshop slides

Mobile Visualforce Tutorial

Page 80: Workshop slides

Mobile SDK Demo

Page 81: Workshop slides

Site.com

Page 82: Workshop slides

Safe Harbor

Safe harbor 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 salesforce.com, 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 non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year ended January 31, 2011 and in our quarterly report on Form 10-Q for the most recent fiscal quarter ended July 31, 2011. 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. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.

Page 83: Workshop slides

Create a website to market our products that is easily maintainable even without technical support.

Page 84: Workshop slides

Site.comA visual design studio for creating public websites with 100% uptime

Graphic Design ToolsWYSIWYG EditingContent Management SystemContent Publishing Controls

Page 85: Workshop slides

Site.comBuild, Manage, and Publish Your Websites

Mobile SitesWebsites Social PagesLanding Pages

Page 86: Workshop slides

Data Driven Content

Database without CodeLeverage existing Salesforce data and extend database to manage any structured web content

Records in Salesforce Data on website

Data RepeaterQuickly create lists and tables that publish any data in real-time. Apply filters, sorting, and limits

Page 87: Workshop slides

Form Driven Data

Web Forms without CodeDrag & Drop to create a form to capture data for any object.

Records in Salesforce

Records in SalesforceCapture web form results in any object: leads, registrations, complaints, etc.

Web Form

Page 88: Workshop slides

Publish Websites with Confidence

PreviewStage sites to share with colleagues for feedback and cross-browser testing

PublishMap your domains to your sites, and publish finished sites to the Force.com cloud.

No Planned DowntimeWeb requests are processed in real-time, and Global Server Load Balancing ensures that websites function even during Salesforce.com maintenance windows.

High PerformanceIntegrated Akamai CDN (Content Delivery Network) uses a global network of caching servers to deliver optimum performance as your traffic grows.

The same trusted infrastructure that already powers 30,000 websites

Page 89: Workshop slides

HP on Site.com

3000 unique landing pages

30% increase in sign-ups

$200M demand generation

Instant changes

Manvir SandhuDirector of Marketing, HP

“…gave me the agility to add pages and change content at the speed of Twitter.”

Page 90: Workshop slides

FICO on Site.com

Created stand-alone website to drive registration for annual conference

Site was built in Site.com in 4 days vs weeks on corporate SharePoint site

Marketers now update event details and speakers bios without IT help

On track to triple registration

Now able to build custom landing pages for target segments

Jamie NelsonFICOSenior Mgr, Web Publishing and Governance

“… gave us the freedom to make the website I’ve wanted for years.”

Page 91: Workshop slides

Salesforce Foundation on Site.comh

ttp://w

ww

.salesforcefo

un

datio

n.o

rg/

Page 92: Workshop slides

Site.com Tutorial

Page 93: Workshop slides

API Integration with Heroku Java

Page 94: Workshop slides

Safe Harbor

Safe harbor 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 salesforce.com, 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 non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year ended January 31, 2011 and in our quarterly report on Form 10-Q for the most recent fiscal quarter ended July 31, 2011. 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. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.

Page 95: Workshop slides

Create an external Java-based endpoint with authenticated, bi-directional communication to process invoice fulfillments

Page 96: Workshop slides

Force.com Warehouse Fulfillment System

Notify on Closed Invoice

Send Order Confirmation ID

Relay Updated Invoice Info

Create an external Java-based endpoint with bi-directional communication to process invoice fulfillments

Page 97: Workshop slides

Create an external Java-based endpoint with authenticated, bi-directional communication to process invoice fulfillments

Page 98: Workshop slides
Page 99: Workshop slides

Polyglot frameworkPaaS architecture which allows for multiple language to be deployed

Page 100: Workshop slides
Page 101: Workshop slides

$ git push heroku masterCounting objects: 67, done.Delta compression using up to 4 threads.Compressing objects: 100% (53/53), done.Writing objects: 100% (67/67), 26.33 KiB, done.Total 67 (delta 5), reused 0 (delta 0)

Github Repo Heroku

Local Repo

Pull / PushDevelopment Changes

Push DeploymentsMonitor Application

Page 102: Workshop slides

Create an external Java-based endpoint with authenticated, bi-directional communication to process invoice fulfillments

Page 103: Workshop slides

OAuth

Page 104: Workshop slides

OAuthAn industry standard method of validating user credentials while avoiding password anti-patterns.

Page 105: Workshop slides

OAuth2 Flow

RemoteApplication

Force.comPlatform

Sends App Credentials

User logs inToken sent to Callback

Confirms token

Send access token

Maintain session withrefresh token

Page 106: Workshop slides

Create an external Java-based endpoint with authenticated, bi-directional communication to process invoice fulfillments

Page 107: Workshop slides

REST API

curl https://na1.salesforce.com/services/data/v20.0/query/?q=SELECT+name+from+Account -H "Authorization: OAuth token" -H "X-PrettyPrint:1"

{ "done" : true, "totalSize" : 14, "records" : [ { "attributes" : { "type" : "Account", "url" : "/services/data/v20.0/sobjects/Account/001D000000IRFmaIAH" }, "Name" : "Test 1" }, { "attributes" : { "type" : "Account", "url" : "/services/data/v20.0/sobjects/Account/001D000000IomazIAB" }, "Name" : "Test 2" },

...

]}

Page 108: Workshop slides

Representational State TransferA stateless data transport based on standard HTTP methods for delivering as JSON or XML

Page 109: Workshop slides

Apex REST

Page 110: Workshop slides

Apex RESTAnnotations allow developers to develop custom endpoints for the REST API

Page 111: Workshop slides

Overview of Force.com API Services

Apex REST Apex SOAP REST API SOAP API Bulk API Streaming API

Protocol REST SOAP/WSDL

REST SOAP/ WSDL

REST CometD

Data Format JSON/XML

XML JSON/XML

XML CSV/XML JSON

Client libraries/

tools

HTTP client

(lightweight)

SOAP/WSDL library

HTTP client

(lightweight)

SOAP/WSDL library

HTTP client (lightweight)

CometD JQuery

Data Volume Medium Medium Medium Large Very Large Small-Large

Sync/Async Sync Sync Sync Sync Async Stream

Page 112: Workshop slides

Bulk APIAsynchronous API for handling large amounts of XML based data

Page 113: Workshop slides

Extract Transform Load (ETL)A type of toolset which allows for the easy migration and manipulation of data between different systems

Page 114: Workshop slides

Streaming APIA Bayeux implementation to provide real-time data updates to clients

Page 115: Workshop slides

Use Case Quiz

Implement a third party .Net server by creating classes via a WSDL file

Create a lightweight API for a mobile native client

Insert or update 50,000 records daily from a .csv file

Create a web page which will automatically notify the user when new cases arrive, without reloading

SOAP

REST

BULK

STREAMING

Page 116: Workshop slides

Integration with Heroku Java Tutorial