Join us as we provide an overview of how to integrate to Salesforce using the built-in tools, and look at integration on the different layers of Salesforce (User Interface, Data Logic, and Database). We'll be providing tips, best practices, and real-life examples.
2. 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.
3. All About Francis Pindar
Solutions Architect with over 15 years in the web world.
Working on global Salesforce.com projects.
Founding member & architect of NCALT; eLearning service being used by over
120k British civil servants on a weekly basis.
#DF13 Session: Apex 10 Commandments (Moscone West 4pm – 4.45pm)
Spare time I work in film, theatre & TV and most recently producer for RENT in
London. BAFTA nominated work on thelandofme.com
http://linkedin.com/in/francisuk/
Twitter: @radnip
4. All About Joshua Hoskins
Active in Salesforce Ecosystem since 2006
Blog CRMified.com
Process Engineering
Implementation/Solution Delivery
Data & Integrations Architect
Cast Iron, Jitterbit, Dataloader
5. Strategy noun
1. [mass noun] the art of planning and directing overall military
operations and movements in a war or battle.
2. A plan of action designed to achieve a long-term or overall aim
6. Salesforce Integration: Steps to Success
Choose the Approach
Identify the Layers
View
Define Process
Controller
Model
7. User Interface: Business Requirements
• Reduce the risk of negative social media storms by using
social influence
• Ability to prioritize cases based on social influence
• Use social influence to aid marketing activities to target
influential customers
9. IMAGE Function
Syntax:
IMAGE(image_url, alternate_text [, height, width])
Text Formula Field:
IMAGE(“http://socialimage.herokuapp.com/getImage.php?
NetworkScreenName=“+Twitter__c+”&NetworkPlatform=twitter&
KloutAPIId=4abgffbxzyg7sufuvpjqsx9w”, “No Image”)
Get API Key from:
http://developer.klout.com/
12. Application Logic: Client/Server
Options
Use Case
•Outbound Messaging
Address Lookup
•SOAP API
•REST API
Steps
•Metadata API
1.User Enters Zip Code & Submit
•Streaming API
2.Message Sent (HTTP Callout)
3.Message Response (HTTP Response)
4.User’s UI is Updated (Application)
13. Application Logic: Outbound Message
Use Case(s)
•Data Change Notification to External
System
Steps
1.Build Workflow
2.Initiate DML (Insert/Update) Actions
3.XML Message Sent
4.XML Message Acknowledged by External
System
14. Application Logic: SOAP API
Use Case(s)
•Run Apex
•Describe an SObject
•Reset Password
Steps
1.Authentication
2.Message Sent (SOAP XML)
3.Message Response (SOAP XML)
4.User’s UI is Updated (Application)
15. Application Logic: REST API
Use Case(s)
•Light weight Mobile Interaction
•“Connected App” – Chatter Mobile
Steps
1.Authentication (OAuth)
2.HTTP Get (Query)
3.HTTP PUT (Update)
REST – An architectural style used to expose API using Web Services
JSON – A text based data interchange format (SOAP being an XML based format)
Same security enforcement
Same data model as the SOAP
Supports JSON/XML
16. Data Model: The Basics & Best Practices
•Database Layer (Objects & Fields)
•DML Statements
•
INSERT, UPDATE, UPSERT, DELETE, UNDELETE, MERGE
•Validation Rules
•Quick View with Schema Builder
•Keep Fields Name DRY
•
NO: Event__c.Event_Start_Date__c
•
YES: Event__c.Start_Date__c
•Enforce Data Quality
•
External Id vs. Salesforce Id
•
Upsert (Insert/Update) by External Id
17. Best Practices for Error Handling
• Email (Standard)
• Chatter (Collaborative & Extendable)
• Record Creation (Auditable)
18. Governor Limits
API Calls (excluding Outbound message & Apex callouts):
• Enterprise, Professional Editions & API: 1000 x number of user licenses in 24hr
• Unlimited & Performance Edition: 5000 x number of user licenses in 24hr.
Batch API
• Batch Limit: 3,000 submissions in rolling 24hr period
• Batch Size: Max 10mb; Max 10,000 records; Max 10,000,000 chars for all data in
the batch; Max 5000 fields
Apex Callouts
• 10 per transaction, maximum cumulative timeout 2mins.
19. Tools & Resources
SoapUI – Mock SOAP Messages
Workbench – Web based suite of tools to
interact with SFDC
http://workbench.developerforce.com/
AppExchange – Salesforce’s “App Store”
21. Francis Pindar
Joshua Hoskins
Solutions Architect
@radnip
Solution Architect
@jhoskins
‘Genius Bar’ at Community Zone - Hilton Grand Ballroom
http://success.salesforce.com/answers
http://success.salesforce.com/userGroups
Notes de l'éditeur
Define Process
For a particular process what is the Data that you need, the tasks you want to do and the timeliness (eg: send the data out of Salesforce the moment its saved, over night etc), if there is something in SAP or Oracle financials do you want that to be sent immediately into Salesforce or send it every night?
The events that drive your integration choices are the data it carries and the timing is basically the process.
Identify the Layers
Application Logic: A good example is say Tax calculation. You only want one place where your tax calculations are taking place so any system within your company uses a single place to pass the address information of the order to this system to retrieve the correct tax amounts.
Data Model: How much information do you need to store in Salesforce to make the users life easy? How much information don’t you need.
Once you have decided what layers you’re going to integrate to at what point the next question is well how am I going to do this? This is where the approach is very important. The classic build vs buy scenario but keep in mind that for integration projects now two applications are the same, no customers are the same, no two environments are the same, but the basic tenants of integration are the same. It very rarely to build everything from scratch. Some companies have existing platforms for integration build on those platforms. Look at existing tools that give you 80% of the work done and then do the rest of the work yourself or use a partner. Common for companies to up skill internal staff.
Other Applications that integrate
FreeApp – FindNearBy
LinkedIn app to view LinkedIn contacts from your account.
Pros:
Cons:
Pros:
Cons:
Pros:
Cons:
Pros:
Cons:
Its more of an architectural style or pattern there is a lot of information on the web about REST but it first appeared in a thesis by Roy Fielding. For those who don’t know it uses JSON which is a JavaScript object notation it has it beginnings in JavaScript.
REST can pretty much do everything the SOAP API can do with a few variations.
When should I use SOAP and when should I use REST?
REST is a lightweight framework which is great for mobile integration where you are constrained by the mobile network.
REST can only update, create or delete records one record at a time. So if you’re doing B2B integrations or transferring large amounts of data then the SOAP is the best bet, REST is more for B2C.
Batch size 30million records in a 24hr period
43 page