Following on from our introduction to the topic of Integration - What about APIs you cry! How do they fit in? APIs are a fuzzy concept that might encompass all the aspects of data exchange required, or some of them, or none of them at all. Don't assume!!
An API is exactly what it says – an interface, or set of instructions, for interacting with an application via a programming language.
Originally, APIs were built so that third party developers could create integrating functions more easily. For instance, a phone system vendor might write specific functions into their operating system so that a programmer for a voice mail company could easily import, extract, and otherwise work with the phone system data. This would usually be written in the same programming logic as the operating system, and the assumption was that the third-party programmer knew that language. Operating systems like Unix and Windows have long had APIs, allowing third parties to develop hardware drivers and business applications that use OS functions, such as Windows’ file/open dialog boxes.
APIs are written to support one or more programming languages – such as PHP, Java or .Net – and require a programmer skilled in one of these languages. An API is also likely to be geared around specific data format and transfer standards – for instance, it may only accept data in a particular XML format, and only via a SOAP interface. In most cases, you’ll be limited to working with the supported standards for that API.
The type of data exchange that makes sense and how complex it will be varies widely. Indeed, a number of factors come into play: the applications you would like to integrate, the available tools, the location of the data, and the platform (i.e. Windows, Linux, web) you’re using. Integration methods vary widely. For instance:
In our example If we are using a Project Management System which is separate to our BP system, we may find ourselves with two silos containing Customer data – Customer Data entered through the Project Management System and Customers entered via the BP system. In this circumstance, you might setup a process that kicks off whenever someone in the team submits the Create Customer. This process could write the data for the new Client into an XML file, transfer that file to your server, and from there kick-off a new process that imports the new Client while checking for duplicates. Clearly, we would have defined the process for setting up a customer and considering the billing types, credit facilities etc so the BP, certainly in our case would always be the “Master” as part of a defined business process.
As is likely clear by now, the methods you can use to exchange data depend enormously on the software packages that you chose. The average inclination when evaluating software is to look for the features that you require. That’s an important step in the process, but it’s only half of the evaluation. It’s also critical to determine how you can – or if you can – access the data. Buying into systems that over-complicate or restrict this access will limit your ability to manage your business.
Repeat this mantra: "I will not pay a vendor to lock me out of my own data."
Sadly, this is what a lot of data management systems do, either by maintaining poor reporting and exporting interfaces; or by including license clauses that void the contract if you try to interact with your data in unapproved ways (including leaving the vendor).
To avoid lock-in and ensure the greatest amount of flexibility when looking to buy any new application – particularly the ones that store your data off-site and give you web-based access to it – ask the following questions:
As mentioned elsewhere Cloud Factory concentrate on the vendor supported Tools and we don't look for further solutions to act as the integration engine. Apart from teh data dictionary - this is a challenge :
We hope you found this follow up article helpful. If you have any questions on the topic of Integration, please give us a call or click below to contacts us.
Cloud Factory is an ERP specialist, helping you implement ERP systems such as MYOB Advanced, SAP Business One, Microsoft Dynamics 365, Microsoft Dynamics 365 Business Central, Wiise, PowerPlatform and Korber K.Motion Warehouse Edge.