Within this chapter we focus on the basic concept behind Apicenter and discuss some generic terms used throughout APIcenter on some topics we will go indept in separate chapters.
The goal of Apicenter is to create a platform to setup integrations between systems in a way that there is no coding required for the end user. With Apicenter we try to achieve a smooth flow between systems so you can automate for example your web shop orders in to orders for your ERP. For this we use the API’s of the systems we want to connect.
An API, to quote Wikipedia on this, “An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build or use such a connection or interface is called an API specification. A computer system that meets this standard is said to implement or expose an API. The term API may refer either to the specification or to the implementation.
In contrast to a user interface, which connects a computer to a person, an application programming interface connects computers or pieces of software to each other. It is not intended to be used directly by a person (the end user) other than a computer programmer who is incorporating it into software. An API is often made up of different parts which act as tools or services that are available to the programmer. A program or a programmer that uses one of these parts is said to call that portion of the API. The calls that make up the API are also known as subroutines, methods, requests, or endpoints. An API specification defines these calls, meaning that it explains how to use or implement them.
One purpose of APIs is to hide the internal details of how a system works, exposing only those parts a programmer will find useful and keeping them consistent even if the internal details later change. An API may be custom-built for a particular pair of systems, or it may be a shared standard allowing interoperability among many systems.
The term API is often used to refer to web APIs, which allow communication between computers that are joined by the internet. There are also APIs for programming languages, software libraries, computer operating systems, and computer hardware.”
So basically a API integration is a way of communicating between two systems. Within Apicenter our approach is not based upon a 1-1 relation but on a 1-n relation. Where we make it possible to connect the applications that you use towards our Apicenter and then in the second step you connect the applications to each other in what we call an integration.
In the picture below is explained what the relation is between applications, integrations and flows. As you can see 1 applications makes 50% of an integration. An integration is only possible between 2 application.
An integration itself can have multiple flows assigned. Which flows depend on the flows that match. This match is based upon the functionality we disclosed within the application. A flow exist of 2 sides. The side that takes care of getting the information and the other side that handles the sending of data to an application. For example
- getSalesOrder & sendSalesOrder
- getProduct & sendProduct
- getStockItem & sendStockItem
- getCustomer & sendCustomer
The direction of the flow is also clear straight away as this will always be from the get side to the send side. But flows can be supported in 2 directions. This is the case when both applications in an integration support both the get and the send part. It is however not possible to select both direction at the same time as this would result in an infinite loop.