When first approaching integrations, you may be met with several terms that differ in meaning within the application space versus integration space, which can be overwhelming. Our goal is to familiarize you with the foundational knowledge of integration so that you can begin your digital transformation journey with confidence. We'll be talking about APIs, Connectors, and Integration Applications so you learn what they are and how to differentiate each one.
APIs, Connectors, and Integration Applications
Before we dive in, here are the terms you need to know:
- Application programming interfaces (APIs) are widely used and instrumental in the digital world, their primary function in simplifying processes and speeding up the development of other systems and applications.
- Connectors are pre-built software packages which help to interact with external applications or data sources.
- Integration application is the process of enabling systems to communicate and interact with each other.
An API is a way to access information from a system using the exposed system functionality rather than the UI. APIs allow people to create applications that interface with the system or create new applications/UIs on top of existing systems.
APIs are all around us. Every time you use a banking application to transfer money, check the balance and send a mobile payment, or change personal banking details from your phone, you're using an API.
When you use a banking app on your phone, it connects to the Internet and sends data to a server. The server then retrieves that data, interprets it, performs the necessary actions, and sends it back to your phone. The application itself then interprets that data and presents you with the information you wanted in a readable format.
In the current business climate, APIs are treated more like products than code. They are designed for consumption for specific audiences (e.g. mobile developers), and they are documented and versioned in a way that enables users to have clear expectations of their maintenance and lifecycle.
An API has its own software development lifecycle (SDLC) – from mocking, designing, and testing to building, managing, and retiring. These APIs are well documented for both consumption and versioning in the process.
Universal API Management (UAPIM) from MuleSoft provides the full API lifecycle management capabilities without compromising the governance regardless of where they're built, the architecture in which they're implemented, or the environment they're hosted in.
It's the next evolution of API management that transforms traditional approaches to be more open, flexible, and scalable. With uapim, enterprises can work in any architecture pattern: monolithic, microservices architecture, design, and more – and can operate independently from the platform's hybrid, cloud, or hosting environment.
A connector is a software that connects and interacts with your destination system. Connectors in Mule are either endpoint-based or operation-based. Endpoint-based connectors follow either a one-way or request-response exchange pattern and are often (but not always) named and based around a standard data communication protocol (for example: FTP connector to interact with FTP server).
Operation-based connectors follow an information exchange pattern based on the operation that you select and are often named and based around one or more specific third-party APIs. For example, a Salesforce connector within the context of MuleSoft means a connection between the Anypoint Platform and Salesforce.
Within the context of Atlassian, a Salesforce connector means a way to connect JIRA to Salesforce. In the integration space, you typically will not find something like a pre-packaged “Salesforce to JIRA” integration, because that application would need to run either in Salesforce or in JIRA.
However, you may find a “Salesforce to JIRA” connector both in the Salesforce AppExchange, along with the Atlassian Marketplace. When an integration platform is used to avoid point-to-point integrations, you usually will have something like a Salesforce to our Anypoint connector, then some message processing logic, and then an Anypoint to JIRA connector.
In this way, you don't have to tightly couple those systems as you can much more easily modify the integration application that lives outside both systems in play. So to an integration platform, a connector is always from the reference of our integration application.
Here is a diagram of the three points of reference when thinking about the term connector:
MuleSoft provides 250+ connectors which makes it easy to interact with target systems. With the help of connectors in a Mule app, you can connect a Mule app to a target system without knowing all of the details required to program to the target system. Thus, this simplifies authenticating against the target system.
An integration application is the flow of enabling or connecting independently designed applications to work together. It usually consists of one or more connectors that obtain the data from APIs, message processors to route, modify, and change the mapping of the data, and one or more connectors to pass the data to the final APIs that the data was intended for. For example, in the Salesforce to JIRA example of case to service request, synchronization is an integration application.
We can also approach it with the example of creating an account in Salesforce – this would need to be pushed to SAP as a part of this flow. Other than simply connecting the applications, a lot more can be done such as data transformation, validation, and any orchestration if the data needs to be combined or modified. In the diagram below, we are converting the account object in SAP format to map it and insert it into SAP. This allows you to work together and share information among the applications, often in real-time or near real-time.
Integration applications use connectors to connect into systems via the APIs that those systems expose. Connectors make it easier for the creator of the integration application to work with those APIs since they don't have to program directly against those APIs. Overall, APIs make it easier to get data in and out of the systems as they are usually included within these systems.
With rising customer expectations and the drive for integrations, APIs play a pivotal role in digital transformation. By enabling organizations to conduct legacy modernization and application integration, teams can achieve their digital transformation aspirations to excel business needs and customer expectations.