Integration Designer Study Guide

After Test Summary

I passed. For me, this was the easiest Salesforce certification I’ve taken so far. The test had multiple questions regarding Outbound Messages, Salesforce connect, and surprisingly Web-To-Lead.

Overview

Here’s the Integration Designer study guide I prepared for myself. I’ve done numerous integrations and built a Bulk API Starter project so this guide contains things I wasn’t very knowledgeable in. If you’re thinking about taking this exam, make sure you’ve done a few real integrations first. One thing I find lacking in these materials is integration error handling and different ways to handle that.

Exam Guide

Resource Guide

Certification Trailmix

Resources

Outline

  • Salesforce Integration Capabilities – 28%
  • Salesforce Integration Patterns – 17%
  • Enterprise Integration Architecture Concepts – 15%
  • Salesforce Integration Testing – 10%
  • Integrating with Force.com: Security – 15%
  • Tools – 10%
  • Monitoring – 5%

Foundational Platform Integration Points

Source

  • Creating and exposing web services using Apex
  • Invoking external web services from Apex
  • Outbound messaging for invoking external web services when data changes
  • HTTP and REST integration
  • Email integration for inbound and outbound messaging
  • Force.com SOAP APIs
  • Syndication feeds via Force.com Sites
  • Replication API
    • getDeleted – Retrieves the list of records that have been deleted within the given timespan for a specified object
    • getUpdated – Retrieves the list of records that have been added or changed during a specified timespan for the specified object.
    • These API calls return a set of IDs for records that have been added, updated, or deleted as well as the timestamp in UTC indicating when they were last updated or deleted.

Force.com Security

Inbound

Source

  • Authentication, Network, and session security
    • How is user authenticated?
    • For how long is session valid?
  • Data Security
    • How is access to data regulated?
  • Transport layer security
    • How is communication secured?

Outbound Messaging

Source

  • Can be used within a workflow rule or approval process
  • Sent asynchronously
  • Reliable – 24-hour retry for failed messages
  • Secure
    • Support HTTP/S
    • Supports X.509 client certificates for 2-way SSL authentication
    • Send from Salesforce.com IP addresses
    • Outbound messages contain Organization ID
  • Two-way communication can be achieved using a callback
    • Outbound message can contain the enterprise or partner URL and session ID token

Salesforce-To-Salesforce

Source

Native Salesforce feature that allows one org to share data with another org. Once enabled it can’t be disabled.

After two orgs have enabled Salesforce-To-Salesforce, they have to establish a connection. A connection is established by sending an invite email and the receiver accepting it using the given link. After connection established, each party can publish the objects the other party can subscribe to. Most standard objects and all custom objects are available.

When subscribing, one can decide to Auto-Accept records per object or not. If not, one has to approve the inbound records before they’re available. Junction objects are auto-accepted and child records are auto-accepted if their parent records are accepted. One has to map the fields from the published object to their fields too.

Field Mapping Considerations

  • Data Type Matching – Only matching data type fields can be mapped.
  • Field Visibility – Lookup IDs are not available for publishing. You can enable S@S for those fields with formulas.

Record Sharing

Records are shared either manually or programmatically.

Common Integration Architectures

Source

Point-to-Point

Each System is connected to every other system through a direct integration. Easy to implement with only a few systems. Difficult to scale.

Hub and Spoke

Every system connects to the hub. All data transfer is done through the hub. Easy to design and implement.

Considerations

  • Architectures are proprietary in nature
  • Single point of failure
  • Inability to support large transaction volumes

Enterprise Service Bus

Distributed services architecture. Employs distributed adapters. Highly scalable.

Middleware

Computing software that functions as an intermediate layer between systems

Typical functions

  • ETL (Extract, Tranform, Load)
  • Data Cleansing
  • Process Management

Integration Patterns

Source

Remote Process Invocation – Request and Reply

Scenario: Salesforce invokes a process on a remote system, waits for completion of that process, and then tracks state based on the response from the system.

Remote Process Invocation – Fire and Forget

Scenario: Salesforce invokes a process in a remote system but doesn’t wait for completion of the process. Instead, the remote process receives and acknowledges the request and then hands off control back to Salesforce.

Batch Data Synchronization

Scenario: Data stored in Lightning platform should be created or refreshed to reflect updates from an external system, and when changes from Lightning platform should be sent to an external system. Updates in either direction are done in a batch manner.

Remote Call-In

Scenario: Data stored in Lightning platform is created, retrieved, updated, or deleted by a remote system.

UI Update Based on Data Changes

Scenario: Salesforce user interface must be automatically updated as a result of changes to Salesforce data.

Pattern Selection Matrix

Streaming API

Source

Exposes a near real-time stream of data from the platform. Notifications can be sent to

  • Salesforce pages
  • Application Servers outside Salesforce
  • External Clients

Use For

  • Applications that need to poll against Salesforce data frequently
  • Near real-time notifications

Basic Technology

Push Technology / Pub/Sub

Considerations

  • Updates performed by the Bulk API won’t generate notifications, since such updates could flood a channel.
  • Evemts may generat a notification, but it is not guaranteed.
  • Unsupported Queries
    • Queries without an ID in the selected fields list
    • Queries with relationships
  • If a Salesforce application server is stopped,
    • All the messages being processed but not yet sent are lost
    • Client must reconnect and subscribe to the topic channel to receive notifications
  • Clients only receive notifications when a subscriptions and connection are active.

Chatter REST API

REST API for integrating with Chatter.

Source

Key Aspects

  • Pre-aggregration of data from different objects
    • /services/data/v24.0/chatter/users/me
  • Data automatically localized to the user’s time zone and language
  • Built-in Pagination
  • Structured for rendering on websites and mobile devices
  • Provides easy relationship traversal

Examples

  • Requesting a News Feed
  • Updating the User’s status
  • Inserting a Post with @mention – Mention id has to be specified in messageSegments

Security

Source

Inbound Security

  • User Authentication
    • Security Token
    • Two-Factor Authentication
    • OAuth
  • Network Authentication
    • determines when and from where a user can log in.
      • Login Hours and IP Ranges in a user’s profile
      • Org-Wide Trusted IP Address list.
  • Session Security
  • Data Security
    • Standard APIs follow regular Object-Level, Field-Level and Record-Level security.
  • Application-Level Security
    • API Client Whitelisting restricts all client application access until explicitly defined by the administrator.
    • Client applications that are not configured as connected apps are denied access.
      • Includes Data Loader, Salesforce 1, Workbench, and Force.com Migration Tool
    • Users whose profile or permission set has the “Use the API Client” permission may access any connected app.
    • Contact Salesforce to enable API Client whitelisting.
  • Transport Layer Security

Authentication Flow

Outbound Security

  • Two-way TLS
    • Both the client and server present a certificate to prove their identity to the other party.
    • A mutually trusted certificate authority signs the certificate establishing the trust between the two parties.
  • Outbound port restrictions
    • Port 80: HTTP only
    • Port 443: HTTPS only
    • Ports 10244-66535 inclusive: HTTP or HTTPS
  • Remote Site registration
    • A remote site setting is needed before Apex is allowed to callout to an external system.
  • Named Credentials
    • A named credential specifies the URL of a callout endpoint and its required authentication parameters in one definition.
    • Supported Callout Types
      • Apex Callouts
      • Salesforce Connect: OData 2.0
      • Salesforce Connect: OData 4.0
      • Salesforce Connect: Custom (developed with the Apex Connector framework)

External Object Relationships

Source

Relationship Allowed Child Objects Allowed Parent Objects Parent Field for Matching Records
Lookup Standard

Custom

External

Standard

Custom

The 18-character Salesforce record ID
External lookup Standard

Custom

External

External The External ID standard field
Indirect lookup External Standard

Custom

You select a custom field with the External ID and Unique attributes