Skip to main content

Other Integration Patterns

  • Chapter
  • First Online:
Developing Data Migrations and Integrations with Salesforce
  • 740 Accesses

Abstract

As you can imagine, there are many other reasons to integrate systems that aren’t centered around data synchronization. In this chapter we review some of the more common batch integration patterns I have come across in recent years. For the most part, these patterns are much simpler then synchronization patterns.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Most systems that allow for record merging have some logging mechanism that tracks historical merges. You should be able to use that log to identify records in Salesforce that require merging.

  2. 2.

    For our golf hobby example, we may decide to always take the highest, lowest, or average skill level; concatenate all the notes data into a single field; and then delete the extra record.

  3. 3.

    However, most support some form of custom scripting, so you can code a call to the Salesforce APIs to perform the merge using the custom scripting feature (rather than the tool’s Salesforce connector).

  4. 4.

    By “delete physically,” I mean a Salesforce delete, which is technically a soft delete.

  5. 5.

    When downloading the data from Salesforce, we include a “where” clause in our SOQL: where LastModifyDate > X.

  6. 6.

    I’m wrong to say that Shield is a platform encryption product. It’s really a data security product with a Platform Encryption feature. For more information, see https://www.salesforce.com/products/platform/products/shield .

  7. 7.

    Both formula or rollups are calculated on back-end processes.

  8. 8.

    As of this writing, Salesforce Shield does not support encrypting of numeric fields. For more information, see https://help.salesforce.com/articleView?id=security_pe_custom_fields.htm&type=5 .

  9. 9.

    Or a third-party API gateway. Third-party encryption tools often implement an API gateway that sits between the user and the Salesforce APIs. This gateway catches the API call, encrypts the data (based on configurations), then forwards the API message with the encrypted data to Salesforce. When pulling data out of Salesforce, a web service call is made to the gateway, the gateway calls the Salesforce APIs, which returns encrypted data. The gateway then decrypts those data and forwards them back to the original caller.

  10. 10.

    Sorting works (or may not work at all) based on what encryption tool you are using and how it’s configured.

  11. 11.

    Because this is a text field, Salesforce sorts the data alphabetically rather than numerically. The padding makes the alphabetical sort equivalent to the numeric sort.

  12. 12.

    If an AutoNumber won’t work (because the legacy system doesn’t use integers for PKs), we may have to work with a Salesforce developer to write code that builds new legacy Ids. Or, we could include that code as part of the integration.

  13. 13.

    For more information, see https://help.salesforce.com/articleView?id=data_about_analytic_snap.htm&type=5 .

  14. 14.

    For more information, see https://help.salesforce.com/articleView?id=rd_reports_limits.htm&type=5 .

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2019 David Masri

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Masri, D. (2019). Other Integration Patterns. In: Developing Data Migrations and Integrations with Salesforce. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-4209-4_10

Download citation

Publish with us

Policies and ethics