What might a Salesforce integration look like?
The best place to start is understanding what it is your are trying to achieve. Lets think of an example situation.

Say you want to create an invoice in your accounting system Xero when an opportunity is closed and approved. It will opperate in 3 distinct parts known as ETL.

Extract: Using Salesforce as our trigger point; when an opportunity closes, a webhook triggers Hubofy to retrieve the record.
The destination will be in a completely different format, since an opportunity is not an invoice. The good thing is most of the information required for the invoice will be avaible on objects which link to the opportunity.

Transform: The destination system will have it's own requirements and structure that completely differs from Salesforce and uniquely the Opportunity object. This is why the transformation process is essential. Data types like decimals, text, date times. Will be converted to match the destination system during this process, but also any adjustments you might need. For example, the opportunity that got closed was a sale for a computer. That computer has a storage size of 1024gb on our invoice we want to display that in terabytes. So a useful function of the transform would be to divide the size by 1024.

Load: Depending on the destination, the language which the data is structured will be different. Hubofy stores a library of destinations and remembers how to talk to them. In this case, Xero accepts JSON via an HTTP Post call. Firstly we convert our transformed data into JSON then setup all the security and other required metadata. Then we attempt to submit the invoice. A component of the Hubofy library also recognises the response it will get from Xero if any, and respond depending on any additional rules or transformations that might be wanted. It's now when we goback to the source location and update to say the whole process was successful.

The customisability of Salesforce has lead us to see some creative solutions our customers and ourselves have implemented. It's with these customisations that we saw the need for an integration platform that provided us the ability to do anything we needed as we can't assume what the customer needs.