Customizations, SDKs and API’s, Oh My

Customization.

SDK.

API.

These three words often strike fear into System Administrators and Technical Account Managers alike. I also hear them used interchangeably, which can lead to some confusion. I’d like to go through each of them and provide a high level overview to help clear up any confusion between the three. I’ll focus on Blackbaud CRM, but many of the concepts can be applied to other software packages as well.

A customization is a feature that is not included in Blackbaud CRM and was developed by…. Well, a customization could be developed by a number of people. Our Professional Services team has created customizations of all shapes and sizes. Many organizations also have developers on staff that can create customizations. 3rd-party companies and Blackbaud partners also create customizations.

An SDK (Software Development Kit) is a set of tools that helps developers create customizations. The Infinity Platform SDK used to create Blackbaud CRM customizations includes documentation, templates, utilities and code samples that help developers learn the platform and maximize their efficiency. For example, the Infinity SDK includes a data dictionary that includes detailed information about every object in the database as well as full source code for stored procedures, functions and triggers.

An API (Application Programming Interface) is a particular set of rules and specifications that software programs can follow to communicate with each other. For example, Blackbaud CRM includes a web service API, which allows other applications to communicate with Blackbaud CRM through the web. It’s possible to use the web service API to display constituent data from Blackbaud CRM in another application such as a web site or 3rd party program. It can also be used to add or update data in Blackbaud CRM. APIs can be invaluable when building integrations between multiple products.

In summary:

A customization is a specific feature that does not exist in the core product.

An SDK is the set of tools that a developer uses to build a customization.

An API is the interface used by a software program to interact with another program.

Want to learn more about customizations, SDKs and APIs? Join the Blackbaud Developer Network.




2 Responses

  1. […] you recognise the title of this post then I was inspired by a BlackbaudKnowHow article of a similar name. In that article the author describes the differences between the three […]

  2. This is a good overview and works well for Blackbaud Enterprise CRM. It does not quite work for The Raiser’s Edge 7. I was inspired so I wrote a similar post for RE7: http://goo.gl/DKd0V

Similiar Posts

    None Found