51
Salesforce 2014 Campus Tour Subtitle placeholder Speaker Name and Title (second level bullet)

Salesforce Campus Tour - Developer Advanced

Embed Size (px)

Citation preview

Page 1: Salesforce Campus Tour - Developer Advanced

Salesforce 2014 Campus Tour

Subtitle placeholder

Speaker Name and Title (second level bullet)

Page 2: Salesforce Campus Tour - Developer Advanced

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 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. Salesforce.com, inc. assumes no obligation and does

not intend to update these forward-looking statements.

Page 3: Salesforce Campus Tour - Developer Advanced

#CampusTour14

Page 4: Salesforce Campus Tour - Developer Advanced

World’s most admired software company

#1 most

admired in

software

#7 best company

to work for

2011 • 2012 • 2013 • 2014

World’s most innovative company

4TH YEAR IN A

ROW!

*Source: IDC, Worldwide CRM Applications 2014-2018 Forecast and 2013 Vendor Shares, Doc #248875, June 2014

World’s #1 CRM company*

Image

FPO

Celebrating 15 Yearsof Customer Success

Page 5: Salesforce Campus Tour - Developer Advanced

1%

Time • Equity • Product

530,000+

Hours Service

20,000

Non-profit organizations

$53M+

Grants

foundation

Page 6: Salesforce Campus Tour - Developer Advanced

The Third Wave of Computing

Page 7: Salesforce Campus Tour - Developer Advanced

SNA

Terminal

Mainframe LAN / WAN

Client

Server

LAN / WAN

Client

Server

customer transactions

connected things

LTE

Mobile

Cloud

“Third Wave” of Computing

BillionsThousands Millions Trillions

Page 8: Salesforce Campus Tour - Developer Advanced
Page 9: Salesforce Campus Tour - Developer Advanced
Page 10: Salesforce Campus Tour - Developer Advanced

But Most Companies Are Disconnected From Customers

Service Agents

Salespeople

Your

Company

Your

Customers

Your Partners

Page 11: Salesforce Campus Tour - Developer Advanced

Become a Customer Company

Analyticsfor the rest of us

Buildmobile apps

faster

Sell, Service, Market & Engage

in a whole new way

Connect with your customers in a whole new way

Page 12: Salesforce Campus Tour - Developer Advanced

Salesforce1: A New Customer Platform for the Future

Salesforce1 Platform APIs

Salesforce1 App

Salesforce1 Platform Services

Force.com Heroku1ExactTarget

Fuel

Page 13: Salesforce Campus Tour - Developer Advanced

Build Amazing Apps and Connect Everything.

Build Innovative

Customer apps

Automate Processes

with Employee Apps

Connect

Everything

Page 14: Salesforce Campus Tour - Developer Advanced

Branded social intranet built mobile first

Key business metrics customized for each ‘teammate”

Chatter collaboration for every department

Business users update content in real-time

Virgin America Connects Every Employee with a Social Intranet

Page 15: Salesforce Campus Tour - Developer Advanced

Trunk Club Connects Customers & Employees with Mobile Apps

Customer facing mobile app built on Heroku

Employee mobile app built on Force.com for order fulfillment

Integrated sales, service & marketing built on the Salesforce Platform

Page 16: Salesforce Campus Tour - Developer Advanced

Salesforce Academic Program

Page 17: Salesforce Campus Tour - Developer Advanced
Page 18: Salesforce Campus Tour - Developer Advanced

Demand is Growing Across Multiple Roles

Force.com

Developer

Technical

Architect

Solutions

Architect

Principal

Consultant

Business

Analyst

Source: Hire On-Demand http://www.hireon-demand.com

60% 159% 90%of companies moving

to cloud

Demand growth for all

Salesforce Talent

Demand growth for

Salesforce

Developers

Page 19: Salesforce Campus Tour - Developer Advanced
Page 20: Salesforce Campus Tour - Developer Advanced

Salary Average

Job Silicon Valley National

Force.com Data Analyst $95k $65k

Salesforce.com Administrators $100k $80k

Global Salesforce Administrators $120k $95k

Force.com Developers $125k $98k

Certified Force.com Developers $135k $115k

Sr. Force.com Developers $150k $125k

Force.com Architects $170k $140k

Force.com Solution Architects $200k $165k

Salesforce CRM Business Analysts $140k $110k

Salesforce CRM Program Managers $185k $135k

Salesforce Implementation Consultants $220k $175k

Source: Nelson Technologies, November 2013

http://www.nelsontechnology.com

Salesforce Skills Earn Top Paying Jobs

Page 21: Salesforce Campus Tour - Developer Advanced

Campus Events

Internships &

Recruiting Curriculum

Mentorship &

Experience

Classroom speakers

Workshops

Hackathons

Business Competitions

University

Conferences

Student User Groups

Company visits/tours

Internship Program

Recruitment

Courseware

Curriculum

Student/Faculty

licenses

Training & certification

Capstone projects

Entrepreneurship

Research projects

Student Ambassadors

Academic Program Components

Page 22: Salesforce Campus Tour - Developer Advanced

1 2 3

Join Live Telecast on

November 12, 2014Compete in Salesforce1

Challenge to win an Xbox Attend a

Campus Event

Salesforce Campus TourOct 24-Nov 14th

www.salesforcecampustour.com

Page 23: Salesforce Campus Tour - Developer Advanced

Keep Learning With Trailheaddeveloper.salesforce.com/trailhead

Page 24: Salesforce Campus Tour - Developer Advanced

Salesforce Certifications

Key Skills Preparation

• Manage users, data, and security

• Maintain and customize Sales Cloud and Service Cloud

applications

• Build reports, dashboards, and workflow

Administration Essentials for New

Admins (ADM 201)

FREE Self-paced Training:• certifiedondemand.com

• Leverage advanced administration

• Optimize and extend Sales Cloud and Service Cloud

applications

• Design advanced reports, dashboards, and business

process automation

Administration Essentials for

Experienced Admins (ADM-211)

FREE Self-paced Training:• Force.com Fundamentals Book

• Build custom applications using point-and-click

• Design the data model, user interface, business logic,

and security for custom applications

• Design reports, dashboards, and portals

Building Applications with Force.com

and Visualforce (DEV401)

FREE Self-paced Training:

• Udacity.com

• Develop custom applications using Apex & Visualforce

• Manage the development lifecycle and environments

• Write and execute comprehensive test plans

Apex and Visualforce Controllers

(DEV501)

FREE Self-paced Training:• Introduction to Visualforce (YouTube)

• www.sfdc99.com

Page 25: Salesforce Campus Tour - Developer Advanced

Campus Ambassador

Program

Page 26: Salesforce Campus Tour - Developer Advanced

Salesforce FutureForce Program

salesforce.com/futureforce

Page 27: Salesforce Campus Tour - Developer Advanced

Lets Build an App

https://ccoenraets.github.io/salesforce-developer-advanced/

Page 28: Salesforce Campus Tour - Developer Advanced

Using JavaScript in Visualforce Pages

Page 29: Salesforce Campus Tour - Developer Advanced

Why JavaScript?

Build Engaging User Experiences

Leverage JavaScript Libraries

Build Custom Applications

Page 30: Salesforce Campus Tour - Developer Advanced

JavaScript in Visualforce Pages

JavaScript Remoting

Remote Objects

(REST)

Visualforce Page

Page 31: Salesforce Campus Tour - Developer Advanced

Examples

Page 32: Salesforce Campus Tour - Developer Advanced

Using JavaScript and CSS Libraries

Hosted elsewhere

<script src="https://maps.googleapis.com/maps/api/js"></script>

Hosted in Salesforce

•Upload individual file or Zip file as Static Resource

•Reference asset using special tags

Page 33: Salesforce Campus Tour - Developer Advanced

Referencing a Static Resource

// Single file

<apex:includeScript value="{!$Resource.jquery}"/>

<apex:image url="{!$Resource.myLogo}"/>

// ZIP file

<apex:includeScript value="{!URLFOR($Resource.MyApp, 'js/app.js')}"/>

<apex:image url="{!URLFOR($Resource.MyApp, 'img/logo.jpg')}/>

<link href="{!URLFOR($Resource.bootstrap, 'bootstrap/css/bootstrap.css')}" rel="stylesheet"/>

Page 34: Salesforce Campus Tour - Developer Advanced

JavaScript Remoting - Server-Side

global with sharing class HotelRemoter {

@RemoteAction

global static List<Hotel__c> findAll() {

return [SELECT Id,

Name,

Location__Latitude__s,

Location__Longitude__s

FROM Hotel__c];

}

}

Page 35: Salesforce Campus Tour - Developer Advanced

"global with sharing"?

global

•Available from outside of the application

with sharing

•Run code with current user permissions. (Apex code runs in system context by default -- with access to all objects and fields)

Page 36: Salesforce Campus Tour - Developer Advanced

JavaScript Remoting - Visualforce Page

<script>

Visualforce.remoting.Manager.invokeAction(

'{!$RemoteAction.HotelRemoter.findAll}',

function (result, event) {

if (event.status) {

for (var i = 0; i < result.length; i++) {

var lat = result[i].Location__Latitude__s;

var lng = result[i].Location__Longitude__s;

addMarker(lat, lng);

}

} else {

alert(event.message);

}

}

);

</script>

Page 37: Salesforce Campus Tour - Developer Advanced

Using the REST APIs

Page 38: Salesforce Campus Tour - Developer Advanced

When?

Get Salesforce data from outside Salesforce

Integrate Salesforce in existing apps

Build consumer apps

Device integration (Internet of Things)

Page 39: Salesforce Campus Tour - Developer Advanced

Mobile SDK Example

REST APIs

OAuth

Page 40: Salesforce Campus Tour - Developer Advanced

Browser Cross-Origin Restrictions

REST APIs

app.js

index.html

OAuth

HTTP Server

Cross Origin Policy

Page 41: Salesforce Campus Tour - Developer Advanced

Using a Proxy

app.js

index.html

OAuth

REST APIs

HTTP Server

Proxy

Page 42: Salesforce Campus Tour - Developer Advanced

Connected App

Page 43: Salesforce Campus Tour - Developer Advanced

Libraries

ForceTK

•Salesforce REST API Toolkit

Nforce

•node.js a REST API wrapper

ngForce

•Visualforce Remoting integration in AngularJS

JSForce

Page 44: Salesforce Campus Tour - Developer Advanced

Writing Unit Tests

Page 45: Salesforce Campus Tour - Developer Advanced

Unit Testing

Code to test code

Increases quality and predictability

Unit test coverage is required to move code to production

•Must have at least 75% of code covered

•Coverage = lines of code exercised by tests / total line of code

Page 46: Salesforce Campus Tour - Developer Advanced

Anatomy of a Test Class

@isTest

private class myClass {

static testMethod void myTest() {

// 1. Prepare temporary data

// 2. Start Test

// 3. Execute some code

// 4. Stop Test

// 5. Assert

}

}

Page 47: Salesforce Campus Tour - Developer Advanced

Create Temp data

Datetime now = System.now();

// Create speaker

Speaker__c sp = new Speaker__c(First_Name__c='Al', Last_Name__c='Smith');

insert sp;

// Create two sessions starting at the same time

Session__c s1 = new Session__c(Name='Session1', Session_Date__c=now);

insert s1;

Session__c s2 = new Session__c(Name='Session2', Session_Date__c=now);

insert s2;

// Book speaker for session1

Session_Speaker__c booking1 =

new Session_Speaker__c(Session__c=s1.Id, Speaker__c=sp.Id);

insert booking1;

Page 48: Salesforce Campus Tour - Developer Advanced

Test and Assert

Test.startTest();

// Try to book speaker to session2

Session_Speaker__c booking2=

new Session_Speaker__c(Session__c=s2.Id, Speaker__c=sp.Id);

Database.SaveResult result = Database.insert(booking2, false);

Test.stopTest();

// Insert should fail: can't book same speaker for 2 sessions happening

// at same time

System.assert(!result.isSuccess());

Page 49: Salesforce Campus Tour - Developer Advanced

Running Tests

Page 50: Salesforce Campus Tour - Developer Advanced

All done. Take a survey!

http://bit.ly/devdayutaustin

Page 51: Salesforce Campus Tour - Developer Advanced