- 1. Introduction
- 2. What is an API?
- 3. API vs Web Service
- 4. What is REST API?
- 5. Informatica Intelligent Cloud Services REST API
- 6. How to access the Informatica Cloud REST API?
- 7. Conclusion
- Related Posts:
Informatica Cloud REST API lets you can access the (metadata) information from your Informatica Intelligent Cloud Services organization. It also allows you to perform tasks such as create, update, delete connections, schedules and tasks.
The Informatica reference document gives details on how to use REST API but that is not enough to get a complete overview of the topic to the most people like me coming from Data warehousing and ETL background. We still have questions like – What is API? What is REST? Where and how it is used?
So in this article let us deep dive into these questions and understand not just how to use IICS REST API but also understand what is REST API in general.
2. What is an API?
API stands for Application Programming Interface, which is a software intermediary provided by an application to other application that allows two applications to talk to each other.
To further simplify, an API delivers request from a user to a system and sends the system’s response back to a user.
Let us try to understand with a simple example.
Imagine you (the user) sitting at a table in a restaurant with a menu of choices to order from. The kitchen is the part of the “system” that will prepare your order. But how do you communicate your order to the kitchen and get your food delivered back to your table? That’s where the waiter (API) comes in. The waiter is the messenger – or API – that takes your order (request) and tells the kitchen (system) what to do. Then the waiter delivers the food (response) back to you.
Let us discuss another familiar and real-life API example.
You might be familiar with booking your flights online. There are two different ways you could this – one by logging into airline’s website and see if there any seats available and what the costs might be. The other way is to – using an online travel services like Make My Trip, Trivago, Cleartrip etc., which aggregates information of a lot of airlines.
But how do the online travel services do that? They definitely cannot access the airlines database directly nor do the airlines dump the data to travel services database. The travel service, in this case, interacts with the airline’s API.
The API is the interface that lets the online travel service to get information from the airline’s database to book seats. The API then takes the airline’s response to your request and delivers it right back to the online travel service, which then shows you the most updated, relevant information.
Similarly the Weather apps on your mobile, they simply access the weather information using the API of a third party weather provider. Apple for example is using the API of The Weather Channel.
Each API is built by its respective system, in this case the airlines or a weather provider. So the user or service whoever interacts with the API need not worry about the how the API is built or how it functions. The user should just be familiar with how to interact with API to pass the request and get the response from it.
3. API vs Web Service
A Web Service facilitates interaction between two machines over a network. These are essentially the services (APIs) that are accessible over the web.
Not all APIs are accessible over the web (a network). APIs can be exposed through local files to allow two local applications to communicate with each other. This doesn’t require a network as the two applications are communicating within a single device.
While the Web Services must always be accessed through a network, the APIs need not. That’s the difference between the APIs and Web Services.
All Web Services are APIs, but not all APIs are Web services.
There are two other major ways of implementing Web Services
- SOAP – Simple Object Access Protocol.
- REST – REpresentational State Transfer
4. What is REST API?
REST stands for REpresentational State Transfer which is an architectural style. REST defines a set of principles to be followed while designing a service for communication / data exchange between two applications.
A REST API or a REST Web Service or a RESTful Web service is a Web Service that is built on the design principles of the REST.
One of the requirements to be a REST API is the utilization of HTTP methods to make a request over a network.
We are not going to discuss in detail the architecture of REST in this article, but let us discuss some main points.
In terms of REST, everything is a Resource.
Let us understand using an example of an application – Employee Management System. The application could be built using any language on any platform using any database as backend. It is contains entities like Employees, Departments etc. and within each entity we have attributes like ID and Name.
There are no strict guidelines on which modules could be defined as resources in REST. So in the application, we can define Employees, Departments and other modules and entities as Resources.
Any Resource can be accessed using a URI (Unified Resource Identifier)
After hosting the application we can use the resource name along with domain name to access the details from that resource
For example to fetch the details of all employees, the URI would be as below
To fetch details of employee with ID 10
To fetch the details of all employees from department 100
REST makes explicit use of HTTP methods
Using HTTP methods along with URI, we can modify any resource or resource information.
|GET||http://restapiexample.com/employees||List of all employees|
|GET||http:// restapiexample.com/employees/10||Employee details with ID=10|
|DELETE||http:// restapiexample.com/employees/10||Deletes employee details with ID=10|
Data of new employees
|ID of new employee|
Data to be changed
|Modified details of employee with ID=10|
Resource names are Nouns and HTTP actions are verbs.
5. Informatica Intelligent Cloud Services REST API
Informatica made available several APIs which the users can access to retrieve information from their Informatica Intelligent Cloud Services Organization and also perform tasks such as create, update, and delete connections and configure permissions.
Informatica Intelligent Cloud Services platform REST API resources are made available in two different versions 2 and 3. Version 1 is no longer updated with the latest resources and enhancements. To learn more about REST API Versions, check out this Informatica Reference.
To configure a Request using the Informatica Intelligent Cloud Services REST API,
- You need a valid Informatica Intelligent Cloud Services login
- URI of the resource you want to access along with the applicable attributes.
- HTTP Request method.
Informatica Intelligent Cloud Services returns the requested information, performs the requested task, or returns an error and related messages.
To learn more about various resources made available from Informatica Intelligent Cloud Services REST API and what information can be accessed or created, modified and deleted in your IICS Org , check out the below Informatica Reference articles.
- Platform REST API version 2 resources
- Platform REST API version 3 resources
- Data Integration REST API resources
When you are publishing an IICS Taskflow, you are publishing it as an API. The taskflow can be accessed, modified externally using the Service URL available under properties section of taskflow.
6. How to access the Informatica Cloud REST API?
Now that we understood the list of Informatica Cloud resources available and the required details to access them to configure a request, we need to understand how we can pass a request to Informatica Cloud to retrieve required information.
There are several utilities available to access Informatica Cloud REST API.
- Popular REST clients like Postman
- Command line utilities like cURL
- Using Informatica Cloud’s REST V2 Connector / Web Services transformation
- Programming languages like Python etc.
To quickly summarize everything we have discussed so far in the article
- APIs are application interfaces which lets one application to interact with another application in a standardized way.
- Web services are a type of API, which must be accessed through a network connection.
- REST is a standardized architecture for building web APIs using HTTP methods.
- Informatica provides its own REST APIs to access information from your Informatica Intelligent Cloud Services Org.
- Informatica provided a detailed documentation on what data could be accessed and how to configure a request to fetch data.
- Any popular REST client could be used to pass a request to Informatica Cloud to retrieve required information.
REST APIs is a broader topic to discuss and understand. But from an ETL developer perspective, we hope the article has helped you understand the basic concepts of REST API in general.
Check out our Instagram post on Informatica Cloud REST API