Design Patterns Every Salesforce ISV Needs to Know

Post on 12-Aug-2015

263 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

Transcript

Design Patterns Every ISV Needs to KnowAndrey Volosevich

Senior ISV Technical Evangelist

@andreyvol

Mac Anderson

CTO, Fonteva

@macscloud

Ross Belmont

Chief of UX, Appiphony

@rossbelmont

Agenda: Design Patterns Every ISV Needs to Know

• Top Patterns in 2014

• Architecting Large Apps (Mac Anderson, Fonteva)

• Examples from other apps (Ross Belmont, Appiphony)

• Q & A

Ross BelmontChief of UX, Appiphony

@rossbelmont

Two Examples• Secure testing of external web services• Importing a diverse data set while architecting for flexibility

First Example

Different Endpoint for Testing

How Will the App Know the “Right” Endpoint?

Custom Code Populates a Protected Custom Setting

“Testing Flag” Alters the Custom Code’s Behavior

Benefits of This Approach• The app references the correct endpoint at the correct time• Only you (as the ISV) can specify the external endpoint

– If customers configured it themselves, there would be a support burden– No one can set the endpoint maliciously for a “man in the middle” attack

• Swapping the endpoints is simple (just install the extension package)• The extra “testing flag” object doesn’t pollute customer environments

Importing a Diverse Data SetArchitecting for flexibility to serve a broader customer base

External Web Service Creates a “Dossier”

• Creates different marketing campaigns targeted at alumni of specific universities

Different Types of Customers

• Drives marketing based on traditional demographic segmentation– Age– Gender

Contact and Dossier: Objects in the Org

Contact Looks Up to Dossier

Subscriber A Can Report on Age, Gender

Subscriber B Can Focus on Alumni Instead

Benefits of This Approach• Customers can add exactly what they want to the Contact record and layout, and nothing more

• Reporting is simplified by flattening down to the Contact record• A Dossier can be attached to Leads, etc. in the future• Easy to serve new marketing initiatives in the future

– Recent grads vs. 20 year alumni, for example (incorporating Age)

top related