API integration tools
APIs (Application Programming Interfaces) have been an essential part of software development since the earliest days of data processing. However, the advent of distributed systems, the Internet, and digitalization of business processes has seen the importance of APIs increase dramatically.
On this page, we provide a short background story on APIs and explain how they are used in integration. What are they and why do they matter to your business and your IT architecture? We also go through some of the API integration tools available in iCore Integration Suite.
What is API integration?
API integration is the process of integrating various applications and IT systems via APIs (Application Programming Interfaces). An API can be described as a messenger service that allows two applications to talk to each other. Most enterprise IT systems today (for example ERP, CRM and PLM systems) provide an API which exposes the functionality of the system and facilitates communication and sharing of data with internal as well as external applications.
Since APIs act as an information intermediary, they also provide an additional layer of security, since the two communicating parties are never fully exposed to each other.
APIs are becoming an increasingly valuable resource, and many companies, such as Google and Amazon, make a lot of money on their API services.
Web APIs – integration via the Internet
A Web API is an API that can be accessed both publicly over the Internet, or privately on local networks. They are easy to use and can be “consumed” by almost any kind of application. When people are talking about APIs these days, they are most often referring to Web APIs that use REST technology combined with the HTTP and HTTPS protocols.
In the past, integration platforms were designed for an “on-premise” infrastructure, with limited capability to connect with applications beyond the firewall. With the rapid increase of applications based in the cloud, Web APIs are quickly becoming the standard. However, since many companies still use systems and applications based in their own infrastructure, a modern integration platform needs to support a wide range of technologies and deployment options.
Our recommendations regarding Web APIs
At iCore, we have worked with integration for more than 20 years and have seen many different standards and technologies come and go. When it comes to integration with Web APIs (and adapting to new technology in general) we recommend that you:
- Make sure your infrastructure can accommodate both on-premise legacy systems and web-based applications and/or cloud services. Many integration platforms today are only capable of handling integration via Web APIs which is a severely limiting factor.
- Don’t “reinvent the wheel” – if you have legacy systems that work well, do not throw them out and replace them with the latest tech without careful consideration. Let your actual requirements and business needs inform your decision. Repackage and reuse your existing resources!
- Event-driven messaging or API messaging? Keep your options open and decide which method to use on a case-by-case basis.
A synchronous messaging process based on request/reply. Think of it as you walking over to a co-worker’s office and handing them a document directly. The delivery requires that the co-worker is there to receive the document in person. API messaging is suitable in scenarios where you request a piece of data in return, for example the shipment date of an ordered product.
An asynchronous messaging process, which is analogous to you placing a document on your co-worker’s desk, not expecting or requiring a confirmation that the other person has received the document. For example, event-based messaging is suitable for sending out notifications to many recipients that do not require a response.
- Make a clear distinction between your API layers (experience / process / system). The point of API layers is to allow for different service levels based on the demands of your business. Not all API consumers are the same – data objects may need to be modified based on device type and the sophistication of the client that consumes the API, and security might need to be adapted to fit different scenarios (mobile, IoT, etc.). You will find that trying to integrate applications directly between system APIs will quickly become unmanageable, as the numbers of APIs grow and you discover new applications for your data.
- Only use Web APIs in combination with some sort of authentication service (for example an identity server), so you can keep track of who makes calls to your API.
API integration tools in iCore Integration Suite
iCore Integration Suite contains several unique and powerful features and tools to support integration via Web APIs.
Publishing/hosting Web APIs
Use Web API editor included in iCore Integration Suite to quickly create new Web APIs.
- Repackage your integrations with legacy systems as web services! Reuse an EDI connection with an existing business partner and “wrap” it with a Web API so that new partners can get access to the same service. This feature saves you a lot of time and money and makes your integration infrastructure much more flexible.
- When creating an API, a definition of the API is generated according to OpenAPI (also known as Swagger), a definition that anyone who wants to call the API can base their calls on.
- You can also import and store third-party .NET libraries which can be referenced from Web APIs and Workflows. Using Imported assemblies ensures that the executing component gets the correct version of the assembly. Also, it removes the need to manually deploy the assembly on machines where the system is run.
With the iCore Identity Server you can secure your APIs through the Oauth 2.0 authorization framework and handle keys, validity times, etc.
Consuming Web APIs
Use web service clients to consume web services based on REST and SOAP standards.
- Automatically generate activities and schemas that can be used in other integration components (Adapterflows, Workflows and Scripts). For more information, see Design tools on iCore Tech.
- In iCIS, you can work with multiple versions of the same API.