architecting for success: designing and building your force.com commercial app

46
Architecting for Success: Designing and Building Your Force.com Commercial App Developers Andrew Albert: salesforce.com David Brooks: salesforce.com Sarah Whitlock: salesforce.com

Upload: salesforce

Post on 03-Jul-2015

1.144 views

Category:

Business


3 download

DESCRIPTION

You'll certainly face plenty of key questions and decisions as you architect your Force.com app. For example, should you distribute your app as a package or use a single org deployment model? Will internal and external users require access to the app? Will the app extend Salesforce CRM functionality or will it just use the Force.com platform? What licenses do you need to power your app? Join us to learn how to make the big decisions about your app's architecture to get on the path to success.

TRANSCRIPT

Page 1: Architecting for Success: Designing and Building Your Force.com Commercial App

Architecting for Success: Designing and

Building Your Force.com Commercial App

Developers

Andrew Albert: salesforce.com

David Brooks: salesforce.com

Sarah Whitlock: salesforce.com

Page 2: Architecting for Success: Designing and Building Your Force.com Commercial App

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 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, 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, risks associated with

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, 2010. This document and others 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 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: Architecting for Success: Designing and Building Your Force.com Commercial App

Session Overview

Page 4: Architecting for Success: Designing and Building Your Force.com Commercial App

Key Points

Force.com is a trusted application platform for ISVs

building cloud-based applications

Choices made early in the ISV Application Lifecycle can

have implications later on

Understand the impact of your choices

Distribute Sell SupportBuild Brand

Page 5: Architecting for Success: Designing and Building Your Force.com Commercial App

Decision Points for Success

What are you building?

Who are you selling to?

?

Branding

Distribution Implications

Licenses & Editions

Architecture Model

Page 6: Architecting for Success: Designing and Building Your Force.com Commercial App

Architecture Model

Page 7: Architecting for Success: Designing and Building Your Force.com Commercial App

Two Fundamental Architecture Models

Single Org ModelDistributed Org Model

Page 8: Architecting for Success: Designing and Building Your Force.com Commercial App

Key Points

The overwhelming majority of ISV apps leverage the

distributed org model.

The single org model is suitable for very specific use

cases.

We will first direct attention to the distributed org model.

Page 9: Architecting for Success: Designing and Building Your Force.com Commercial App

Distributed Org Architecture Model

Your Force.com App

(Developer Edition)

Your Customers

(Production orgs)

Install/Deploy your Managed Package using

AppExchange/Trialforce

• Each customer has its own org with app installed

• App distributed via Managed Package

• Upgrades, License Management

• Run multiple apps in customer org

• Development in Developer Edition orgs

Page 10: Architecting for Success: Designing and Building Your Force.com Commercial App

What are you building?

Who are you selling to?

?

Page 11: Architecting for Success: Designing and Building Your Force.com Commercial App

What are you building?

• Email Marketing, Sales

Compensation, etc.

• Extending Salesforce CRM

• Standard + Custom Objects

• ERP, Accounting, Recruiting,

Project Management, etc.

• No reliance on Salesforce CRM

• Custom Objects

Custom ApplicationCRM Extension

Need Screenshot

+ Logo

?

Page 12: Architecting for Success: Designing and Building Your Force.com Commercial App

Who are you selling to?

• Package your app

• Provide your prospect with

an org containing your

package

New Customer?Existing Salesforce

Customer?

?

• Package your app

• Customer installs your

package into their org

Page 13: Architecting for Success: Designing and Building Your Force.com Commercial App

Licenses & Editions

Page 14: Architecting for Success: Designing and Building Your Force.com Commercial App

Two License Types for Internal Users

User License Description Use

Salesforce CRM license

Full platform access

Custom Objects

Selling app into existing

Salesforce customers

App requires CRM

functionality

Salesforce Platform No CRM functionality

Accounts, Contacts, Documents

Custom Objects

Selling to net-new customer

and/or existing customers

App does not leverage

CRM functionality

• What objects does your app need access to?

• Do you need CRM functionality like campaign, case, or opportunity

management?

Page 15: Architecting for Success: Designing and Building Your Force.com Commercial App

Two Licenses Types for External Users

Type License Options Use

High Volume (>100K) Authenticated Sites Marketplace/eCommerce

Millions of authenticated

users

Limited sharing needed

Low Volume (<100K) Customer Portal licenses Supports complex sharing

capabilities and standard

reporting

Less than 100,000 users

• Will your customer’s customers (external users) need access to your app?

• How many external users are expected?

• What kind of sharing is needed between external users?

• What kind of sharing is needed between external users and internal users?

Page 16: Architecting for Success: Designing and Building Your Force.com Commercial App

What Editions do you need to support?

• Not all the same features and objects

exist as in EE/UE

• No Workflow, Record Types, Custom

Layouts, Custom Profiles

Enterprise &

Unlimited Edition

Group & Professional

Edition

• Workflow, Page Layouts, Record

Types are available

• Do you want to sell to existing Salesforce customers?

• Do you plan to support Group and Professional Edition?

Page 17: Architecting for Success: Designing and Building Your Force.com Commercial App

Support GE/PE & EE/UE with Extensions

Page 18: Architecting for Success: Designing and Building Your Force.com Commercial App

Support Optional Features with Dynamic Apex

Scenario: Application needs to handle situations where

features may or may not be enabled

Examples: Multi-currency, Record Types, Apex

Sharing, Territory Management

Solution: Dynamic Apex

– Code inspects and checks if certain objects, fields, or features

are enabled before executing logic

Page 19: Architecting for Success: Designing and Building Your Force.com Commercial App

Single Run Time

One Package – Any Customer Org

Apex Detection of Major Functional Selections

Apps Execute in “Enterprise Edition Context”

Contact

Manager

Group

Edition

Professional

Edition

Enterprise

Edition

Unlimited

Edition

Page 20: Architecting for Success: Designing and Building Your Force.com Commercial App

Access Based Granular Licensing

Separate Profile Per App

Automate ISV App Installation

Permissions Tied to a License

Multiple Licenses per Package/App

As a West Coast Sales Rep

As a CODA GL Manager

As a Job Sciences Recruiter

As a ServiceMax Field Rep

Coming

Soon!

Page 21: Architecting for Success: Designing and Building Your Force.com Commercial App

Branding

Page 22: Architecting for Success: Designing and Building Your Force.com Commercial App

Salesforce style or custom UI?

• Integrated feel

• Same customization

• Native reporting

• Seamless user adoption

• Custom user experience

• No predefined expectations

• Self contained app

New CustomerExisting Salesforce

Customer

Page 23: Architecting for Success: Designing and Building Your Force.com Commercial App

Example: Standard Page Layouts

Page 24: Architecting for Success: Designing and Building Your Force.com Commercial App

Example: Custom UI with Salesforce theme

Page 25: Architecting for Success: Designing and Building Your Force.com Commercial App

Example: Custom UI with Custom theme

Page 26: Architecting for Success: Designing and Building Your Force.com Commercial App

Three Fundamental UI Options

Standard Page

Layouts

Visualforce

(SFDC Style)

Visualforce

(Custom Style)

Drag-and-Drop

Configuration

Multi-step process (ie

wizards)

Create any UI

Seamless adoption

for existing

Salesforce users

Seamless adoption for

existing Salesforce users

Custom user experience

Easy end-user

customization

Limited end-user

customization of UI

Limited end-user

customization of UI

Page 27: Architecting for Success: Designing and Building Your Force.com Commercial App

Dynamic Visualforce & Field SetsSpring ‘11

<!-- Dynamic Binding -->

<apex:repeat value="{!myFieldList}" var="f">

<apex:outputField value="{!account[f]}”/>

</apex:repeat>

Subscriber Editable

Visualforce

Automatically include

customer owned fields

Page 28: Architecting for Success: Designing and Building Your Force.com Commercial App

ISV Branding Initiatives

Skinnable Reports/DashboardsProtect our customers from attacks by malicious app developers

Branded LoginEmpower ISVs to brand their entire end user experience from signup to logout

Page 29: Architecting for Success: Designing and Building Your Force.com Commercial App

Distribution Implications

Page 30: Architecting for Success: Designing and Building Your Force.com Commercial App

Managed PackagesTool of choice for commercial apps

Feature Benefit Implication

Upgrades • Seamless upgrades

• Zero downtime patching of customers

• Built in API versioning support

Many components are

locked once a package

is managed-released.

IP Protection • Obfuscated components: Apex Code,

Custom Settings, Visualforce Components

• Locked components: Visualforce Pages

Certain subscriber

customizations are

limited.

License

Management

• Control how many people access your app

• Manage trial prospects

Support Tools • Package Support Access (GA Spring ‘11)

• Grant Login Access (Pilot Spring ‘11)

• Debug Apex Code in Subscriber

Organizations (Pilot Spring ‘11)

Branding • Branded Trial Experience (Pilot Spring ’11)

Page 31: Architecting for Success: Designing and Building Your Force.com Commercial App

Implications of Managed Packages

Limitation Example Implication

Not all components can be

packaged for distribution

Approvals,

Profiles, Data

Post-installation steps may be

required when installing your app

from the AppExchange.

Not all components are

upgradeable

Page Layouts,

Reports,

Dashboards

Developers must account for

subscriber customizations when

planning for upgrades.

Not all sensitive components

are obfuscated

Validation Rules,

Visualforce

Pages, Formulas

Use caution when adding code to

any component you cannot hide in

your app.

Developing Packages for Distribution

bitly.com/package-guide

Page 32: Architecting for Success: Designing and Building Your Force.com Commercial App

Single Org Model Overview

Page 33: Architecting for Success: Designing and Building Your Force.com Commercial App

Two Fundamental Architecture Models

Single Org ModelDistributed Org Model

Page 34: Architecting for Success: Designing and Building Your Force.com Commercial App

Single Org Architecture Model

• Suited for apps that require collaboration

or sharing across external users –

“connecting buyers and sellers”

• App is more of a “service” or website than

an enterprise app

• ISV owns the org

• Users are portal users.

• All customers log into the same org

• No application distribution required

• Development in Sandbox

Page 35: Architecting for Success: Designing and Building Your Force.com Commercial App

Single Org Architecture: Primary Concerns

Org scalability

Portal licenses do not add to the following org limits:

– Data Storage

– File Storage

– Daily API calls

Data privacy – Will your customers have issues with

you having full access to their data?

Page 36: Architecting for Success: Designing and Building Your Force.com Commercial App

Single Org Architecture: A Good Idea?

The single org model is suitable for very specific use

cases.

Engage a salesforce.com ISV Technical Architect to

discuss design details.

– Talk to your ISV Account Exec to arrange

Page 37: Architecting for Success: Designing and Building Your Force.com Commercial App

More?

Page 38: Architecting for Success: Designing and Building Your Force.com Commercial App

Declarative MigrationStreamline release management for all Salesforce clouds apps

Change Management Key Initiatives

App Identity ArchitectureInfrastructure for defining Apps and managing their development lifecycle

Metadata CompletenessExpose all platform components through the Metadata API

Metadata for Team DevelopmentSimplify metadata for sharing and continuous integration via a source control system

Page 39: Architecting for Success: Designing and Building Your Force.com Commercial App

VMforce and Sites 2

Java Managed Services

Prebuilt Sites with Customization Tools and CMS

Available for use with AppExchange Soon After GA

Sites Your Java

ServicesYour

AppExchange

App

Page 40: Architecting for Success: Designing and Building Your Force.com Commercial App

Decision Points for Success

What are you building?

Who are you selling to?

?

Branding

Distribution Implications

Licenses & Editions

Architecture Model

Page 42: Architecting for Success: Designing and Building Your Force.com Commercial App

Q&A – Post to ChatterPlease post Questions

to Chatter in Dreamforce

App!

Page 43: Architecting for Success: Designing and Building Your Force.com Commercial App

Architecting for Success: Designing

and Building Your Force.com

Commercial App

Page 44: Architecting for Success: Designing and Building Your Force.com Commercial App

D I S C O V E R

Visit the Developer Training and Support Booth

in Force.com Zone

Developer training, certification and support resources

S U C C E S SFind us in the Partner Demo Area of

Force.com Zone 2nd Floor Moscone West

that help you achieve

Page 45: Architecting for Success: Designing and Building Your Force.com Commercial App

Remember. . .

Check Chatter for additional session information

Get your developer Workbooks and Cheat Sheets in

the Force.com Zone

Visit for more information related to

this topic

Don’t forget

the survey!

Page 46: Architecting for Success: Designing and Building Your Force.com Commercial App

How Could Dreamforce Be Better? Tell Us!

Log in to the Dreamforce app to submit

surveys for the sessions you attended

Use the

Dreamforce Mobile

app to submit

surveysEvery session survey you submit is

a chance to win an iPod nano!

OR