SlideShare a Scribd company logo
1 of 36
Download to read offline
Design Patterns: ISV Recipes For Success
Andrey Volosevich
Principal ISV Technical Evangelist
Salesforce
@andreyvol
Andy Fawcett
CTO
Financialforce.com
@andyinthecloud
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.
Safe Harbor
App Conļ¬guration
Asynchronous apex
Agenda
Are you building too much?
Do not ļ¬ght the platform
Do you know how your app is used?
Bonus: Custom Indexes and Skinny tables
Q&A
Pattern is
a common reusable solution to a
recurring problem within a given context
Anti-pattern is
a common response to a recurring
problem that is usually ineffective and
risks being highly counterproductive.
Session Theme: Patterns and Anti-patterns
Anti-pattern
Anti-Pattern
Scheduling a session right before the cocktail hour
Anti-pattern
Using Custom Objects and Custom Settings for App Conļ¬guration
New
App Conļ¬guration
Anti-pattern: Using Custom Objects or Custom Settings for App Metadata
Name Active__c Resizeable__c Width__c
Panel1 true true 200
Panel2 true true 200
Panel3 true true 400
Panel4 false true 400
Header false false 800
Footer false false 800
Sidebar true true 200
Configuration Metadata NOT Packaged Configuration Metadata is Packaged
(protectable at field or record level)
Name Active__c Resizeable__c Width__c
Panel1 true true 200
Panel2 true true 200
Panel3 true true 400
Panel4 false true 400
Header false false 800
Footer false false 800
Sidebar true true 200
Custom Objects or Settings Custom Metadata Types
Custom Metadata Types: Save Years of Development on App Conļ¬gurations
Park Central Hotel, Franciscan Ballroom, Wednesday 11:00 a.m
Anti-pattern
Inappropriate Use of Asynchronous Apex
Asynchronous Apex
Four ā€œļ¬‚avorsā€
Single request
ā€¢ā€Æ Queueable Apex
ā€¢ā€Æ @future
Batch requests
ā€¢ā€Æ Batch Apex
ā€¢ā€Æ Scheduled Apex
Example
ā€œSave and Submit Orderā€ Visualforce Page
1.ā€Æ Update an Order
2.ā€Æ Save
3.ā€Æ Submit for Shipment (external web service callout)
4.ā€Æ Update the page (saved order)
5.ā€Æ Update the page (shipment status)
Asynchronous Apex
Anti-pattern: Using @future
VF
Page
App Server
DB
Internet submitForShipping()
Async Queue
3rd Party Shipping
Provider
Asynchronous Apex
Anti-pattern: Using @future
?
VF
Page
App Server
DB
Internet submitForShipping()
Async Queue
3rd Party Shipping
Provider
Asynchronous Apex
Shared Queue: Async != Near Real Time
ā€¢ā€Æ Shared queue across all tenants
ā€¢ā€Æ Time to dequeue request will vary
ā€¢ā€Æ Pod load
ā€¢ā€Æ Org load
ā€¢ā€Æ Flow control (ā€œFair Request Handlingā€)
ā€¢ā€Æ High request volume triggers extended
delay (ā€œPenalty Boxā€)
Asynchronous Apex
What aboutā€¦
ā€‹ā€Æā€¦ Queueable Apex?
Better than @future
BUT - it wonā€™t guarantee consistency
ā€‹ā€Æā€¦ Scheduled Batch Apex?
Should scale better
Queue is not ā€œļ¬‚oodedā€ with single requests
Users will expect a delay from the beginning
BUT - it still wonā€™t guarantee consistency
Asynchronous Apex
SLAs and Customer Expectations
Expectation of Consistency (Implicit SLA)
Customer perception drives customer satisfaction and trust
Any place where usersā€™ expectations are formed:
ā€œbut it usually runs in 20 seconds and this time it took 30
minutes??ā€
Explicit SLA
Order processed within 5 minutes of receipt
Quarterly Statements Generated by Monday morning
Asynchronous Apex
Alternative Pattern: Apex Continuation
Continuation
Server
VF
Page
App Server
DB
Internet submitForShipping()
Asynchronous Apex
Alternative Pattern: Apex Continuation
Continuation
Server
VF
Page
App Server
DB
Internet submitForShipping()
Asynchronous Apex
Recap and Good Patterns
ā€‹ā€ÆUse the right tool for the right job
ā€‹ā€ÆUnderstand platform architecture
ā€‹ā€ÆEngineer to scale
ā€‹ā€ÆThe bar is set higher for ISVs
ā€‹ā€ÆDo not do thisā€¦
ā€‹ā€ÆReliable Async Patterns that Scale
ā€‹ā€ÆImplicit or Explicit SLA
=> use synchronous context
=> choose consistency over convenience
GREAT FEATURE no SLA
Shared Queue
Variable dequeueing and processing
Dependencies you canā€™t control (Org, Pod)
BUT REMEMBERā€¦Easy to use native async
Relaxed governor limits
Process larger data volumes
Examples
ā€‹ā€Æ Callout scenarios: Apex Continuation Pattern
ā€‹ā€Æ Consistent batch processing: Client side to orchestrate the process
=> Browser (Javascript/Ajax)
=> Server side (Heroku agent)
Andrew Fawcett
CTO, Financialforce.com
@andyinthecloud
About
GREAT ALONE. BETTER TOGETHER.
ā€¢ā€ÆNative to Salesforce1ā„¢ Platform
since 2009
ā€¢ā€ÆInvestors include Salesforce Ventures
ā€¢ā€Æ650+ employees, San Francisco based
ā€‹ā€ÆWhy is this bad?
Less likely to align with new features and innovations on the platform
Just because you can build it, doesnā€™t mean you should!
Anti-pattern: Building too much!
Good patternsā€¦.
Be part of the platform, look for ways to extend it rather than just using it
Understand how your customers customize your applications
Invocable Methods extend subscriber use of Process Builder and Visual Flow
Good Pattern Example: Invocable Methods
Anti-pattern: Building too much!
Just because you can build it, doesnā€™t mean you should!
Anti-pattern: Building too much!
Lightning Components extend subscriber use of Lightning
App Builder
APIā€™s APIā€™s APIā€™s (including Apex APIā€™s) more critical than
everā€¦
Know what the platform APIā€™s provide
Only add value with your own
Internet of Things #IoT growing market, be aware of it!
If something feels hard it's likely because you're not thinking ā€œplatformā€
Anti-pattern: Fighting the platform
Why is this bad?
Limiting the value the platform can give you and your users
Good patternsā€¦.
Make sure your Business Analysts know the platform
ā€¢ā€Æ If they do, they will be more inclined to state requirements that ļ¬t with the platform
ā€¢ā€Æ Platform App Builder certiļ¬cation is a good start (formerly ADM 401)!
Make sure you consider all routes into your code not just your custom pages,
ā€¢ā€Æ Salesforce WebService and Apex APIā€™s, Workļ¬‚ow, Process Builder etcā€¦
ā€¢ā€Æ Ensure your developers understand how customers use the platform to customize
Have the consulting / IT teams talk to developers
Anti-pattern: Not understanding how the app is used...
Why is this bad?
Customer satisfaction will suļ¬€er
Slow to react to bugs and issues
No metric-based insights
Leverage the information License Management App gives you
Investigate and understand what Salesforce Usage Metrics gives you
For composite apps, proļ¬le and monitor things like API usage
See Limits Resource to query this
Anti-pattern: Not understanding how the app is used...
Good Patterns: Drive product change with measurable, observable and quantitative metrics...
Route your Apex Exceptions from your manage packages to some place central
Using Inbound Email Services and Regex to Monitor Apex Error Emails
Good Patterns: Drive product change with measurable, observable and quantitative metrics...
Anti-pattern: Not understanding how the app is used...
Bonus Anti-pattern
Building non-selective queries
Relying on Skinny Tables to Improve Query or Report Performance
Custom Indexes and Skinny Tables
Background: Selective queries rely on indexes
ISV Scale: How to Scale Your App for Enterprise Customers
Park Central Hotel, Franciscan Ballroom, Tuesday 3pm
Custom Indexes
Standard indexed ļ¬elds
Primary keys (Id, Name and Owner)
Foreign keys (lookup or master-detail)
Audit dates (SystemModStamp)
Custom indexes
ā€¢ā€Æ standard multi-tenant construct
ā€¢ā€Æ not package-able
ā€¢ā€Æ created by support via a case
ā€¢ā€Æ supported for ISVs
Custom indexes
Custom Object
Use Unique or ExternalId where possible (packageable!)
Otherwise, request custom index
Standard Object
Do not add Unique or ExternalId ļ¬elds to your package
Request custom index
Custom Indexes
How to log a case to request them
ā€‹ā€Æ Now a standard process
TODO: Get exact instructions from support (Greg/Nia) - pending
Skinny Tables
Supported for Customers (not guaranteed for ISVs)
Large data volumes (~ millions of rows)
Standard or custom indexes are not suļ¬ƒcient
Also not package-able
Not copied to sandboxes
Requires R&D investigation to create each time
Not truly multi-tenant
Support not guaranteed for ISVs apps
Skinny Tables
Warning sign, not a scalable solution
Skinny tables for ISV apps
ā€¢ā€Æ ok as a one-oļ¬€
ā€¢ā€Æ Not a scalable solution
ā€¢ā€Æ Consider them a warning sign
Alternative Design Patterns
ā€¢ā€Æ Reduce data set (archive, purge)
ā€¢ā€Æ Pre-aggregate data into a separate object
ā€¢ā€Æ Explore Data Pipelines and Big Objects pilots
ā€¢ā€Æ Reporting: consider building a Wave app
ā€¢ā€Æ Work with your TE to assess the best approach
Recommended Sessions
Custom Metadata Types: Save Years of Development on App Conļ¬gurations
Park Central Hotel, Franciscan Ballroom, Wednesday 11:00 a.m
Catch the Wave of ISV Analytics Apps
Park Central Hotel, Franciscan Ballroom, Thursday 3pm
ISV Scale: How to Scale Your App for Enterprise Customers
Park Central Hotel, Franciscan Ballroom, Tuesday 3pm
(Watch the recording)
Building ISV Apps with Force.com + Heroku
Park Central Hotel, Franciscan Ballroom, Tuesday 2pm
(Watch the recording)
Apex Enterprise Patterns: Building Strong Foundations
Moscone West, Innovation Theater, Tuesday 1.30pm
(Watch the recording)
Design Patterns: ISV Recipes for Success (Dreamforce 2015)

More Related Content

What's hot

Architect and Design Your App for Commercial Success
Architect and Design Your App for Commercial SuccessArchitect and Design Your App for Commercial Success
Architect and Design Your App for Commercial SuccessSalesforce Partners
Ā 
Publishing Your First Paid App on AppExchange: The Inside Scoop
Publishing Your First Paid App on AppExchange: The Inside ScoopPublishing Your First Paid App on AppExchange: The Inside Scoop
Publishing Your First Paid App on AppExchange: The Inside ScoopSalesforce Developers
Ā 
Launching an App on AppExchange - Knowing the Unknown
Launching an App on AppExchange - Knowing the UnknownLaunching an App on AppExchange - Knowing the Unknown
Launching an App on AppExchange - Knowing the UnknownKashi Ahmed
Ā 
ISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning ComponentsISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning ComponentsCodeScience
Ā 
building an app exchange app
building an app exchange appbuilding an app exchange app
building an app exchange appvraopolisetti
Ā 
App Academy: Getting Started (Virtual Classroom) slides
App Academy: Getting Started (Virtual Classroom) slidesApp Academy: Getting Started (Virtual Classroom) slides
App Academy: Getting Started (Virtual Classroom) slidesSalesforce Partners
Ā 
AppExchange for Components First Call Deck
AppExchange for Components First Call DeckAppExchange for Components First Call Deck
AppExchange for Components First Call DeckSalesforce Partners
Ā 
ISV Monthly Tech Enablement (August 2017)
ISV Monthly Tech Enablement (August 2017)ISV Monthly Tech Enablement (August 2017)
ISV Monthly Tech Enablement (August 2017)Salesforce Partners
Ā 
3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)
3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)
3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)Salesforce Partners
Ā 
Mapping Your MVP Product Development in 30 min or Less
Mapping Your MVP Product Development in 30 min or LessMapping Your MVP Product Development in 30 min or Less
Mapping Your MVP Product Development in 30 min or LessCodeScience
Ā 
Performance Testing ISV Apps to Scale
Performance Testing ISV Apps to ScalePerformance Testing ISV Apps to Scale
Performance Testing ISV Apps to ScaleSalesforce Partners
Ā 
Government Cloud for ISVs (November 18, 2015)
Government Cloud for ISVs (November 18, 2015)Government Cloud for ISVs (November 18, 2015)
Government Cloud for ISVs (November 18, 2015)Salesforce Partners
Ā 
ISV Tech Talk: Usage Metrics (October 15, 2014)
ISV Tech Talk: Usage Metrics (October 15, 2014)ISV Tech Talk: Usage Metrics (October 15, 2014)
ISV Tech Talk: Usage Metrics (October 15, 2014)Salesforce Partners
Ā 
Build Smarter Apps with Einstein Object Detection
Build Smarter Apps with Einstein Object DetectionBuild Smarter Apps with Einstein Object Detection
Build Smarter Apps with Einstein Object DetectionSalesforce Developers
Ā 
Salesforce Sales Professional Exam Prep
Salesforce Sales Professional Exam PrepSalesforce Sales Professional Exam Prep
Salesforce Sales Professional Exam PrepSalesforce Partners
Ā 
Spring 17 ISV Release Readiness (February 16, 2017)
Spring 17 ISV Release Readiness (February 16, 2017)Spring 17 ISV Release Readiness (February 16, 2017)
Spring 17 ISV Release Readiness (February 16, 2017)Salesforce Partners
Ā 
AppExchange Marketing Playbook: Generate Demand
AppExchange Marketing Playbook: Generate DemandAppExchange Marketing Playbook: Generate Demand
AppExchange Marketing Playbook: Generate DemandSalesforce Partners
Ā 
#DF17Recap series: Make apps smarter with Einstein
#DF17Recap series: Make apps smarter with Einstein#DF17Recap series: Make apps smarter with Einstein
#DF17Recap series: Make apps smarter with EinsteinSalesforce Developers
Ā 
Platform Encryption for ISVs (February 23, 2016)
Platform Encryption for ISVs (February 23, 2016)Platform Encryption for ISVs (February 23, 2016)
Platform Encryption for ISVs (February 23, 2016)Salesforce Partners
Ā 

What's hot (20)

Architect and Design Your App for Commercial Success
Architect and Design Your App for Commercial SuccessArchitect and Design Your App for Commercial Success
Architect and Design Your App for Commercial Success
Ā 
Publishing Your First Paid App on AppExchange: The Inside Scoop
Publishing Your First Paid App on AppExchange: The Inside ScoopPublishing Your First Paid App on AppExchange: The Inside Scoop
Publishing Your First Paid App on AppExchange: The Inside Scoop
Ā 
Launching an App on AppExchange - Knowing the Unknown
Launching an App on AppExchange - Knowing the UnknownLaunching an App on AppExchange - Knowing the Unknown
Launching an App on AppExchange - Knowing the Unknown
Ā 
ISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning ComponentsISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning Components
Ā 
building an app exchange app
building an app exchange appbuilding an app exchange app
building an app exchange app
Ā 
App Academy: Getting Started (Virtual Classroom) slides
App Academy: Getting Started (Virtual Classroom) slidesApp Academy: Getting Started (Virtual Classroom) slides
App Academy: Getting Started (Virtual Classroom) slides
Ā 
AppExchange for Components First Call Deck
AppExchange for Components First Call DeckAppExchange for Components First Call Deck
AppExchange for Components First Call Deck
Ā 
ISV Monthly Tech Enablement (August 2017)
ISV Monthly Tech Enablement (August 2017)ISV Monthly Tech Enablement (August 2017)
ISV Monthly Tech Enablement (August 2017)
Ā 
3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)
3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)
3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)
Ā 
Partner Business Org
Partner Business OrgPartner Business Org
Partner Business Org
Ā 
Mapping Your MVP Product Development in 30 min or Less
Mapping Your MVP Product Development in 30 min or LessMapping Your MVP Product Development in 30 min or Less
Mapping Your MVP Product Development in 30 min or Less
Ā 
Performance Testing ISV Apps to Scale
Performance Testing ISV Apps to ScalePerformance Testing ISV Apps to Scale
Performance Testing ISV Apps to Scale
Ā 
Government Cloud for ISVs (November 18, 2015)
Government Cloud for ISVs (November 18, 2015)Government Cloud for ISVs (November 18, 2015)
Government Cloud for ISVs (November 18, 2015)
Ā 
ISV Tech Talk: Usage Metrics (October 15, 2014)
ISV Tech Talk: Usage Metrics (October 15, 2014)ISV Tech Talk: Usage Metrics (October 15, 2014)
ISV Tech Talk: Usage Metrics (October 15, 2014)
Ā 
Build Smarter Apps with Einstein Object Detection
Build Smarter Apps with Einstein Object DetectionBuild Smarter Apps with Einstein Object Detection
Build Smarter Apps with Einstein Object Detection
Ā 
Salesforce Sales Professional Exam Prep
Salesforce Sales Professional Exam PrepSalesforce Sales Professional Exam Prep
Salesforce Sales Professional Exam Prep
Ā 
Spring 17 ISV Release Readiness (February 16, 2017)
Spring 17 ISV Release Readiness (February 16, 2017)Spring 17 ISV Release Readiness (February 16, 2017)
Spring 17 ISV Release Readiness (February 16, 2017)
Ā 
AppExchange Marketing Playbook: Generate Demand
AppExchange Marketing Playbook: Generate DemandAppExchange Marketing Playbook: Generate Demand
AppExchange Marketing Playbook: Generate Demand
Ā 
#DF17Recap series: Make apps smarter with Einstein
#DF17Recap series: Make apps smarter with Einstein#DF17Recap series: Make apps smarter with Einstein
#DF17Recap series: Make apps smarter with Einstein
Ā 
Platform Encryption for ISVs (February 23, 2016)
Platform Encryption for ISVs (February 23, 2016)Platform Encryption for ISVs (February 23, 2016)
Platform Encryption for ISVs (February 23, 2016)
Ā 

Viewers also liked

Performance Testing ISV Apps to Scale 11/9/2016
Performance Testing ISV Apps to Scale 11/9/2016Performance Testing ISV Apps to Scale 11/9/2016
Performance Testing ISV Apps to Scale 11/9/2016Salesforce Partners
Ā 
Salesforce Partner Program
Salesforce Partner ProgramSalesforce Partner Program
Salesforce Partner ProgramSalesforce Partners
Ā 
DF13 - AppExchange Marketing Playbook - Build Your Brand
DF13 - AppExchange Marketing Playbook - Build Your BrandDF13 - AppExchange Marketing Playbook - Build Your Brand
DF13 - AppExchange Marketing Playbook - Build Your BrandSalesforce Partners
Ā 
Getting Started as an ISV Partner (Dreamforce 2015)
Getting Started as an ISV Partner (Dreamforce 2015)Getting Started as an ISV Partner (Dreamforce 2015)
Getting Started as an ISV Partner (Dreamforce 2015)Salesforce Partners
Ā 
Install & Use the Channel Order App
Install & Use the Channel Order AppInstall & Use the Channel Order App
Install & Use the Channel Order AppSalesforce Partners
Ā 
Make Your App Lightning Ready with Winter '17 (December 8, 2016)
Make Your App Lightning Ready with Winter '17 (December 8, 2016)Make Your App Lightning Ready with Winter '17 (December 8, 2016)
Make Your App Lightning Ready with Winter '17 (December 8, 2016)Salesforce Partners
Ā 
Partner Branding Guidelines
Partner Branding Guidelines Partner Branding Guidelines
Partner Branding Guidelines Salesforce Partners
Ā 
Social Media 101 for Partners
Social Media 101 for PartnersSocial Media 101 for Partners
Social Media 101 for PartnersSalesforce Partners
Ā 
Partner Success Services (Overview & Framework)
Partner Success Services (Overview & Framework)Partner Success Services (Overview & Framework)
Partner Success Services (Overview & Framework)Salesforce Partners
Ā 
Protected Services Offerings for Partner Success Services
Protected Services Offerings for Partner Success ServicesProtected Services Offerings for Partner Success Services
Protected Services Offerings for Partner Success ServicesSalesforce Partners
Ā 
ISV Tech Talk: Environment Hub (Dreamforce 2015)
ISV Tech Talk: Environment Hub (Dreamforce 2015)ISV Tech Talk: Environment Hub (Dreamforce 2015)
ISV Tech Talk: Environment Hub (Dreamforce 2015)Salesforce Partners
Ā 
Sponsor Success Webinar #3: Campaign Planning is Key
Sponsor Success Webinar #3: Campaign Planning is KeySponsor Success Webinar #3: Campaign Planning is Key
Sponsor Success Webinar #3: Campaign Planning is KeySalesforce Partners
Ā 

Viewers also liked (18)

Performance Testing ISV Apps to Scale 11/9/2016
Performance Testing ISV Apps to Scale 11/9/2016Performance Testing ISV Apps to Scale 11/9/2016
Performance Testing ISV Apps to Scale 11/9/2016
Ā 
Salesforce Partner Program
Salesforce Partner ProgramSalesforce Partner Program
Salesforce Partner Program
Ā 
DF13 - AppExchange Marketing Playbook - Build Your Brand
DF13 - AppExchange Marketing Playbook - Build Your BrandDF13 - AppExchange Marketing Playbook - Build Your Brand
DF13 - AppExchange Marketing Playbook - Build Your Brand
Ā 
Environment Hub
Environment Hub Environment Hub
Environment Hub
Ā 
Getting Started as an ISV Partner (Dreamforce 2015)
Getting Started as an ISV Partner (Dreamforce 2015)Getting Started as an ISV Partner (Dreamforce 2015)
Getting Started as an ISV Partner (Dreamforce 2015)
Ā 
Generic Roadmap Slide
Generic Roadmap SlideGeneric Roadmap Slide
Generic Roadmap Slide
Ā 
Operational Overview
Operational OverviewOperational Overview
Operational Overview
Ā 
Install & Use the Channel Order App
Install & Use the Channel Order AppInstall & Use the Channel Order App
Install & Use the Channel Order App
Ā 
Make Your App Lightning Ready with Winter '17 (December 8, 2016)
Make Your App Lightning Ready with Winter '17 (December 8, 2016)Make Your App Lightning Ready with Winter '17 (December 8, 2016)
Make Your App Lightning Ready with Winter '17 (December 8, 2016)
Ā 
Partner Branding Guidelines
Partner Branding Guidelines Partner Branding Guidelines
Partner Branding Guidelines
Ā 
Trialforce
Trialforce Trialforce
Trialforce
Ā 
Social Media 101 for Partners
Social Media 101 for PartnersSocial Media 101 for Partners
Social Media 101 for Partners
Ā 
License Management App
License Management App License Management App
License Management App
Ā 
Partner Success Services (Overview & Framework)
Partner Success Services (Overview & Framework)Partner Success Services (Overview & Framework)
Partner Success Services (Overview & Framework)
Ā 
Protected Services Offerings for Partner Success Services
Protected Services Offerings for Partner Success ServicesProtected Services Offerings for Partner Success Services
Protected Services Offerings for Partner Success Services
Ā 
ISV Tech Talk: Environment Hub (Dreamforce 2015)
ISV Tech Talk: Environment Hub (Dreamforce 2015)ISV Tech Talk: Environment Hub (Dreamforce 2015)
ISV Tech Talk: Environment Hub (Dreamforce 2015)
Ā 
AMP FY18 Overview
AMP FY18 OverviewAMP FY18 Overview
AMP FY18 Overview
Ā 
Sponsor Success Webinar #3: Campaign Planning is Key
Sponsor Success Webinar #3: Campaign Planning is KeySponsor Success Webinar #3: Campaign Planning is Key
Sponsor Success Webinar #3: Campaign Planning is Key
Ā 

Similar to Design Patterns: ISV Recipes for Success (Dreamforce 2015)

Design Patterns Every ISV Needs to Know (October 15, 2014)
Design Patterns Every ISV Needs to Know (October 15, 2014)Design Patterns Every ISV Needs to Know (October 15, 2014)
Design Patterns Every ISV Needs to Know (October 15, 2014)Salesforce Partners
Ā 
Designing Custom REST and SOAP Interfaces on Force.com
Designing Custom REST and SOAP Interfaces on Force.comDesigning Custom REST and SOAP Interfaces on Force.com
Designing Custom REST and SOAP Interfaces on Force.comSalesforce Developers
Ā 
Turbocharging AppExchange
Turbocharging AppExchangeTurbocharging AppExchange
Turbocharging AppExchangedreamforce2006
Ā 
Designing custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.comDesigning custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.comSteven Herod
Ā 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforceMark Adcock
Ā 
Salesforce Campus Tour - Developer Intro
Salesforce Campus Tour - Developer IntroSalesforce Campus Tour - Developer Intro
Salesforce Campus Tour - Developer IntroJames Ward
Ā 
Force.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.comForce.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.comSalesforce Developers
Ā 
Elevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance TrackElevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance TrackCarolEnLaNube
Ā 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platformJohn Stevenson
Ā 
Scaling Developer Efforts with Salesforce Marketing Cloud
Scaling Developer Efforts with Salesforce Marketing CloudScaling Developer Efforts with Salesforce Marketing Cloud
Scaling Developer Efforts with Salesforce Marketing CloudSalesforce Developers
Ā 
Building Lightning Components for ISVs (Dreamforce 2015)
Building Lightning Components for ISVs (Dreamforce 2015)Building Lightning Components for ISVs (Dreamforce 2015)
Building Lightning Components for ISVs (Dreamforce 2015)Salesforce Partners
Ā 
Our API Evolution: From Metadata to Tooling API for Building Incredible Apps
Our API Evolution: From Metadata to Tooling API for Building Incredible AppsOur API Evolution: From Metadata to Tooling API for Building Incredible Apps
Our API Evolution: From Metadata to Tooling API for Building Incredible AppsDreamforce
Ā 
Trailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App CloudTrailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App CloudJohn Stevenson
Ā 
Building Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling APIBuilding Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling APIJeff Douglas
Ā 
Webinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce OptimizerWebinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce OptimizerSalesforce Admins
Ā 
Forcelandia 2016 Wave App Development
Forcelandia 2016   Wave App DevelopmentForcelandia 2016   Wave App Development
Forcelandia 2016 Wave App DevelopmentSkip Sauls
Ā 
Manage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkManage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkSalesforce Developers
Ā 
Architecting Apps for the AppExchange
Architecting Apps for the AppExchangeArchitecting Apps for the AppExchange
Architecting Apps for the AppExchangedreamforce2006
Ā 

Similar to Design Patterns: ISV Recipes for Success (Dreamforce 2015) (20)

Design Patterns Every ISV Needs to Know (October 15, 2014)
Design Patterns Every ISV Needs to Know (October 15, 2014)Design Patterns Every ISV Needs to Know (October 15, 2014)
Design Patterns Every ISV Needs to Know (October 15, 2014)
Ā 
Designing Custom REST and SOAP Interfaces on Force.com
Designing Custom REST and SOAP Interfaces on Force.comDesigning Custom REST and SOAP Interfaces on Force.com
Designing Custom REST and SOAP Interfaces on Force.com
Ā 
Turbocharging AppExchange
Turbocharging AppExchangeTurbocharging AppExchange
Turbocharging AppExchange
Ā 
Designing custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.comDesigning custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.com
Ā 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
Ā 
Salesforce Campus Tour - Developer Intro
Salesforce Campus Tour - Developer IntroSalesforce Campus Tour - Developer Intro
Salesforce Campus Tour - Developer Intro
Ā 
Coding in the App Cloud
Coding in the App CloudCoding in the App Cloud
Coding in the App Cloud
Ā 
Force.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.comForce.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.com
Ā 
Elevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance TrackElevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance Track
Ā 
Using the Google SOAP API
Using the Google SOAP APIUsing the Google SOAP API
Using the Google SOAP API
Ā 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platform
Ā 
Scaling Developer Efforts with Salesforce Marketing Cloud
Scaling Developer Efforts with Salesforce Marketing CloudScaling Developer Efforts with Salesforce Marketing Cloud
Scaling Developer Efforts with Salesforce Marketing Cloud
Ā 
Building Lightning Components for ISVs (Dreamforce 2015)
Building Lightning Components for ISVs (Dreamforce 2015)Building Lightning Components for ISVs (Dreamforce 2015)
Building Lightning Components for ISVs (Dreamforce 2015)
Ā 
Our API Evolution: From Metadata to Tooling API for Building Incredible Apps
Our API Evolution: From Metadata to Tooling API for Building Incredible AppsOur API Evolution: From Metadata to Tooling API for Building Incredible Apps
Our API Evolution: From Metadata to Tooling API for Building Incredible Apps
Ā 
Trailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App CloudTrailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App Cloud
Ā 
Building Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling APIBuilding Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling API
Ā 
Webinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce OptimizerWebinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce Optimizer
Ā 
Forcelandia 2016 Wave App Development
Forcelandia 2016   Wave App DevelopmentForcelandia 2016   Wave App Development
Forcelandia 2016 Wave App Development
Ā 
Manage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkManage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance Framework
Ā 
Architecting Apps for the AppExchange
Architecting Apps for the AppExchangeArchitecting Apps for the AppExchange
Architecting Apps for the AppExchange
Ā 

More from Salesforce Partners

Partner Roadmap Webinar (August 3, 2017)
Partner Roadmap Webinar (August 3, 2017)Partner Roadmap Webinar (August 3, 2017)
Partner Roadmap Webinar (August 3, 2017)Salesforce Partners
Ā 
Lightning Now for Consulting Partners
Lightning Now for Consulting PartnersLightning Now for Consulting Partners
Lightning Now for Consulting PartnersSalesforce Partners
Ā 
ISV Monthly Tech Enablement (July 2017)
ISV Monthly Tech Enablement (July 2017)ISV Monthly Tech Enablement (July 2017)
ISV Monthly Tech Enablement (July 2017)Salesforce Partners
Ā 
Salesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification PathsSalesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification PathsSalesforce Partners
Ā 
Salesforce Proficiency Pack for Administrators
Salesforce Proficiency Pack for AdministratorsSalesforce Proficiency Pack for Administrators
Salesforce Proficiency Pack for AdministratorsSalesforce Partners
Ā 
Partner Roadmap Webinar (July 6, 2017)
Partner Roadmap Webinar (July 6, 2017)Partner Roadmap Webinar (July 6, 2017)
Partner Roadmap Webinar (July 6, 2017)Salesforce Partners
Ā 
Environment Hub Fundamentals (Salesforce Partners)
Environment Hub Fundamentals (Salesforce Partners)Environment Hub Fundamentals (Salesforce Partners)
Environment Hub Fundamentals (Salesforce Partners)Salesforce Partners
Ā 
Demo Environment Best Practices (Salesforce Partners)
Demo Environment Best Practices (Salesforce Partners)Demo Environment Best Practices (Salesforce Partners)
Demo Environment Best Practices (Salesforce Partners)Salesforce Partners
Ā 
Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)Salesforce Partners
Ā 
Einstein Analytics for Partners
Einstein Analytics for PartnersEinstein Analytics for Partners
Einstein Analytics for PartnersSalesforce Partners
Ā 
Sales Cloud Lightning Migration Best Practices
Sales Cloud Lightning Migration Best PracticesSales Cloud Lightning Migration Best Practices
Sales Cloud Lightning Migration Best PracticesSalesforce Partners
Ā 
AppExchange Tech Enablement June 2017
AppExchange Tech Enablement June 2017AppExchange Tech Enablement June 2017
AppExchange Tech Enablement June 2017Salesforce Partners
Ā 
Roadmap Webinar Summer '17 (June 1, 2017)
Roadmap Webinar Summer '17 (June 1, 2017)Roadmap Webinar Summer '17 (June 1, 2017)
Roadmap Webinar Summer '17 (June 1, 2017)Salesforce Partners
Ā 
FSL Implementation Guidance Part 1 (May 10, 2017)
FSL Implementation Guidance Part 1 (May 10, 2017)FSL Implementation Guidance Part 1 (May 10, 2017)
FSL Implementation Guidance Part 1 (May 10, 2017)Salesforce Partners
Ā 
AMP Fall & Winter '17 Packages
AMP Fall & Winter '17 Packages AMP Fall & Winter '17 Packages
AMP Fall & Winter '17 Packages Salesforce Partners
Ā 
ISV Monthly Tech Enablement (May 18, 2017)
ISV Monthly Tech Enablement (May 18, 2017)ISV Monthly Tech Enablement (May 18, 2017)
ISV Monthly Tech Enablement (May 18, 2017)Salesforce Partners
Ā 
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)Salesforce Partners
Ā 
FSL Implementation Guidance Part 1
FSL Implementation Guidance Part 1FSL Implementation Guidance Part 1
FSL Implementation Guidance Part 1Salesforce Partners
Ā 
Difficult Conversations and Delivering Bad News
Difficult Conversations and Delivering Bad NewsDifficult Conversations and Delivering Bad News
Difficult Conversations and Delivering Bad NewsSalesforce Partners
Ā 

More from Salesforce Partners (20)

Partner Roadmap Webinar (August 3, 2017)
Partner Roadmap Webinar (August 3, 2017)Partner Roadmap Webinar (August 3, 2017)
Partner Roadmap Webinar (August 3, 2017)
Ā 
Lightning Now for Consulting Partners
Lightning Now for Consulting PartnersLightning Now for Consulting Partners
Lightning Now for Consulting Partners
Ā 
ISV Monthly Tech Enablement (July 2017)
ISV Monthly Tech Enablement (July 2017)ISV Monthly Tech Enablement (July 2017)
ISV Monthly Tech Enablement (July 2017)
Ā 
Salesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification PathsSalesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification Paths
Ā 
Salesforce Proficiency Pack for Administrators
Salesforce Proficiency Pack for AdministratorsSalesforce Proficiency Pack for Administrators
Salesforce Proficiency Pack for Administrators
Ā 
Partner Roadmap Webinar (July 6, 2017)
Partner Roadmap Webinar (July 6, 2017)Partner Roadmap Webinar (July 6, 2017)
Partner Roadmap Webinar (July 6, 2017)
Ā 
Environment Hub Fundamentals (Salesforce Partners)
Environment Hub Fundamentals (Salesforce Partners)Environment Hub Fundamentals (Salesforce Partners)
Environment Hub Fundamentals (Salesforce Partners)
Ā 
Demo Environment Best Practices (Salesforce Partners)
Demo Environment Best Practices (Salesforce Partners)Demo Environment Best Practices (Salesforce Partners)
Demo Environment Best Practices (Salesforce Partners)
Ā 
Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)
Ā 
Einstein Analytics for Partners
Einstein Analytics for PartnersEinstein Analytics for Partners
Einstein Analytics for Partners
Ā 
Sales Cloud Lightning Migration Best Practices
Sales Cloud Lightning Migration Best PracticesSales Cloud Lightning Migration Best Practices
Sales Cloud Lightning Migration Best Practices
Ā 
AppExchange Tech Enablement June 2017
AppExchange Tech Enablement June 2017AppExchange Tech Enablement June 2017
AppExchange Tech Enablement June 2017
Ā 
Roadmap Webinar Summer '17 (June 1, 2017)
Roadmap Webinar Summer '17 (June 1, 2017)Roadmap Webinar Summer '17 (June 1, 2017)
Roadmap Webinar Summer '17 (June 1, 2017)
Ā 
FSL Implementation Guidance Part 1 (May 10, 2017)
FSL Implementation Guidance Part 1 (May 10, 2017)FSL Implementation Guidance Part 1 (May 10, 2017)
FSL Implementation Guidance Part 1 (May 10, 2017)
Ā 
AMP Fall & Winter '17 Packages
AMP Fall & Winter '17 Packages AMP Fall & Winter '17 Packages
AMP Fall & Winter '17 Packages
Ā 
ISV Monthly Tech Enablement (May 18, 2017)
ISV Monthly Tech Enablement (May 18, 2017)ISV Monthly Tech Enablement (May 18, 2017)
ISV Monthly Tech Enablement (May 18, 2017)
Ā 
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Ā 
FSL Implementation Guidance Part 1
FSL Implementation Guidance Part 1FSL Implementation Guidance Part 1
FSL Implementation Guidance Part 1
Ā 
Partner Forums Guide
Partner Forums GuidePartner Forums Guide
Partner Forums Guide
Ā 
Difficult Conversations and Delivering Bad News
Difficult Conversations and Delivering Bad NewsDifficult Conversations and Delivering Bad News
Difficult Conversations and Delivering Bad News
Ā 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
Ā 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...gurkirankumar98700
Ā 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
Ā 
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 RobisonAnna Loughnan Colquhoun
Ā 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
Ā 
WhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
Ā 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
Ā 
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | DelhiFULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhisoniya singh
Ā 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
Ā 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
Ā 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
Ā 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
Ā 
Scaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationScaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationRadu Cotescu
Ā 
Transcript: #StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024BookNet Canada
Ā 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
Ā 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
Ā 
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...Miguel AraĆŗjo
Ā 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
Ā 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
Ā 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Ā 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...
Ā 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Ā 
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
Ā 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Ā 
WhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure service
Ā 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Ā 
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | DelhiFULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
Ā 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Ā 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
Ā 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Ā 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
Ā 
Scaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationScaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organization
Ā 
Transcript: #StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
Ā 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Ā 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Ā 
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...
Ā 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Ā 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
Ā 

Design Patterns: ISV Recipes for Success (Dreamforce 2015)

  • 1. Design Patterns: ISV Recipes For Success Andrey Volosevich Principal ISV Technical Evangelist Salesforce @andreyvol Andy Fawcett CTO Financialforce.com @andyinthecloud
  • 3. ā€‹ā€Æ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. Safe Harbor
  • 4. App Conļ¬guration Asynchronous apex Agenda Are you building too much? Do not ļ¬ght the platform Do you know how your app is used? Bonus: Custom Indexes and Skinny tables Q&A
  • 5. Pattern is a common reusable solution to a recurring problem within a given context Anti-pattern is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive. Session Theme: Patterns and Anti-patterns
  • 7. Anti-Pattern Scheduling a session right before the cocktail hour
  • 8. Anti-pattern Using Custom Objects and Custom Settings for App Conļ¬guration New
  • 9. App Conļ¬guration Anti-pattern: Using Custom Objects or Custom Settings for App Metadata Name Active__c Resizeable__c Width__c Panel1 true true 200 Panel2 true true 200 Panel3 true true 400 Panel4 false true 400 Header false false 800 Footer false false 800 Sidebar true true 200 Configuration Metadata NOT Packaged Configuration Metadata is Packaged (protectable at field or record level) Name Active__c Resizeable__c Width__c Panel1 true true 200 Panel2 true true 200 Panel3 true true 400 Panel4 false true 400 Header false false 800 Footer false false 800 Sidebar true true 200 Custom Objects or Settings Custom Metadata Types Custom Metadata Types: Save Years of Development on App Conļ¬gurations Park Central Hotel, Franciscan Ballroom, Wednesday 11:00 a.m
  • 11. Asynchronous Apex Four ā€œļ¬‚avorsā€ Single request ā€¢ā€Æ Queueable Apex ā€¢ā€Æ @future Batch requests ā€¢ā€Æ Batch Apex ā€¢ā€Æ Scheduled Apex Example ā€œSave and Submit Orderā€ Visualforce Page 1.ā€Æ Update an Order 2.ā€Æ Save 3.ā€Æ Submit for Shipment (external web service callout) 4.ā€Æ Update the page (saved order) 5.ā€Æ Update the page (shipment status)
  • 12. Asynchronous Apex Anti-pattern: Using @future VF Page App Server DB Internet submitForShipping() Async Queue 3rd Party Shipping Provider
  • 13. Asynchronous Apex Anti-pattern: Using @future ? VF Page App Server DB Internet submitForShipping() Async Queue 3rd Party Shipping Provider
  • 14. Asynchronous Apex Shared Queue: Async != Near Real Time ā€¢ā€Æ Shared queue across all tenants ā€¢ā€Æ Time to dequeue request will vary ā€¢ā€Æ Pod load ā€¢ā€Æ Org load ā€¢ā€Æ Flow control (ā€œFair Request Handlingā€) ā€¢ā€Æ High request volume triggers extended delay (ā€œPenalty Boxā€)
  • 15. Asynchronous Apex What aboutā€¦ ā€‹ā€Æā€¦ Queueable Apex? Better than @future BUT - it wonā€™t guarantee consistency ā€‹ā€Æā€¦ Scheduled Batch Apex? Should scale better Queue is not ā€œļ¬‚oodedā€ with single requests Users will expect a delay from the beginning BUT - it still wonā€™t guarantee consistency
  • 16. Asynchronous Apex SLAs and Customer Expectations Expectation of Consistency (Implicit SLA) Customer perception drives customer satisfaction and trust Any place where usersā€™ expectations are formed: ā€œbut it usually runs in 20 seconds and this time it took 30 minutes??ā€ Explicit SLA Order processed within 5 minutes of receipt Quarterly Statements Generated by Monday morning
  • 17. Asynchronous Apex Alternative Pattern: Apex Continuation Continuation Server VF Page App Server DB Internet submitForShipping()
  • 18. Asynchronous Apex Alternative Pattern: Apex Continuation Continuation Server VF Page App Server DB Internet submitForShipping()
  • 19. Asynchronous Apex Recap and Good Patterns ā€‹ā€ÆUse the right tool for the right job ā€‹ā€ÆUnderstand platform architecture ā€‹ā€ÆEngineer to scale ā€‹ā€ÆThe bar is set higher for ISVs ā€‹ā€ÆDo not do thisā€¦ ā€‹ā€ÆReliable Async Patterns that Scale ā€‹ā€ÆImplicit or Explicit SLA => use synchronous context => choose consistency over convenience GREAT FEATURE no SLA Shared Queue Variable dequeueing and processing Dependencies you canā€™t control (Org, Pod) BUT REMEMBERā€¦Easy to use native async Relaxed governor limits Process larger data volumes Examples ā€‹ā€Æ Callout scenarios: Apex Continuation Pattern ā€‹ā€Æ Consistent batch processing: Client side to orchestrate the process => Browser (Javascript/Ajax) => Server side (Heroku agent)
  • 21. About GREAT ALONE. BETTER TOGETHER. ā€¢ā€ÆNative to Salesforce1ā„¢ Platform since 2009 ā€¢ā€ÆInvestors include Salesforce Ventures ā€¢ā€Æ650+ employees, San Francisco based
  • 22. ā€‹ā€ÆWhy is this bad? Less likely to align with new features and innovations on the platform Just because you can build it, doesnā€™t mean you should! Anti-pattern: Building too much! Good patternsā€¦. Be part of the platform, look for ways to extend it rather than just using it Understand how your customers customize your applications
  • 23. Invocable Methods extend subscriber use of Process Builder and Visual Flow Good Pattern Example: Invocable Methods Anti-pattern: Building too much!
  • 24. Just because you can build it, doesnā€™t mean you should! Anti-pattern: Building too much! Lightning Components extend subscriber use of Lightning App Builder APIā€™s APIā€™s APIā€™s (including Apex APIā€™s) more critical than everā€¦ Know what the platform APIā€™s provide Only add value with your own Internet of Things #IoT growing market, be aware of it!
  • 25. If something feels hard it's likely because you're not thinking ā€œplatformā€ Anti-pattern: Fighting the platform Why is this bad? Limiting the value the platform can give you and your users Good patternsā€¦. Make sure your Business Analysts know the platform ā€¢ā€Æ If they do, they will be more inclined to state requirements that ļ¬t with the platform ā€¢ā€Æ Platform App Builder certiļ¬cation is a good start (formerly ADM 401)! Make sure you consider all routes into your code not just your custom pages, ā€¢ā€Æ Salesforce WebService and Apex APIā€™s, Workļ¬‚ow, Process Builder etcā€¦ ā€¢ā€Æ Ensure your developers understand how customers use the platform to customize Have the consulting / IT teams talk to developers
  • 26. Anti-pattern: Not understanding how the app is used... Why is this bad? Customer satisfaction will suļ¬€er Slow to react to bugs and issues No metric-based insights
  • 27. Leverage the information License Management App gives you Investigate and understand what Salesforce Usage Metrics gives you For composite apps, proļ¬le and monitor things like API usage See Limits Resource to query this Anti-pattern: Not understanding how the app is used... Good Patterns: Drive product change with measurable, observable and quantitative metrics...
  • 28. Route your Apex Exceptions from your manage packages to some place central Using Inbound Email Services and Regex to Monitor Apex Error Emails Good Patterns: Drive product change with measurable, observable and quantitative metrics... Anti-pattern: Not understanding how the app is used...
  • 29. Bonus Anti-pattern Building non-selective queries Relying on Skinny Tables to Improve Query or Report Performance
  • 30. Custom Indexes and Skinny Tables Background: Selective queries rely on indexes ISV Scale: How to Scale Your App for Enterprise Customers Park Central Hotel, Franciscan Ballroom, Tuesday 3pm
  • 31. Custom Indexes Standard indexed ļ¬elds Primary keys (Id, Name and Owner) Foreign keys (lookup or master-detail) Audit dates (SystemModStamp) Custom indexes ā€¢ā€Æ standard multi-tenant construct ā€¢ā€Æ not package-able ā€¢ā€Æ created by support via a case ā€¢ā€Æ supported for ISVs Custom indexes Custom Object Use Unique or ExternalId where possible (packageable!) Otherwise, request custom index Standard Object Do not add Unique or ExternalId ļ¬elds to your package Request custom index
  • 32. Custom Indexes How to log a case to request them ā€‹ā€Æ Now a standard process TODO: Get exact instructions from support (Greg/Nia) - pending
  • 33. Skinny Tables Supported for Customers (not guaranteed for ISVs) Large data volumes (~ millions of rows) Standard or custom indexes are not suļ¬ƒcient Also not package-able Not copied to sandboxes Requires R&D investigation to create each time Not truly multi-tenant Support not guaranteed for ISVs apps
  • 34. Skinny Tables Warning sign, not a scalable solution Skinny tables for ISV apps ā€¢ā€Æ ok as a one-oļ¬€ ā€¢ā€Æ Not a scalable solution ā€¢ā€Æ Consider them a warning sign Alternative Design Patterns ā€¢ā€Æ Reduce data set (archive, purge) ā€¢ā€Æ Pre-aggregate data into a separate object ā€¢ā€Æ Explore Data Pipelines and Big Objects pilots ā€¢ā€Æ Reporting: consider building a Wave app ā€¢ā€Æ Work with your TE to assess the best approach
  • 35. Recommended Sessions Custom Metadata Types: Save Years of Development on App Conļ¬gurations Park Central Hotel, Franciscan Ballroom, Wednesday 11:00 a.m Catch the Wave of ISV Analytics Apps Park Central Hotel, Franciscan Ballroom, Thursday 3pm ISV Scale: How to Scale Your App for Enterprise Customers Park Central Hotel, Franciscan Ballroom, Tuesday 3pm (Watch the recording) Building ISV Apps with Force.com + Heroku Park Central Hotel, Franciscan Ballroom, Tuesday 2pm (Watch the recording) Apex Enterprise Patterns: Building Strong Foundations Moscone West, Innovation Theater, Tuesday 1.30pm (Watch the recording)