Originally published January 16, 2020.
The Informatica Cloud Integration platform is a complete cloud integration platform as a service (iPaaS), and Informatica has been repeatedly recognized as the leader in this space for 4 consecutive years (Gartner’s Magic Quadrant for enterprise integration platform).
With the emerging SaaS application on the market, it’s essential for the integration platform to provide a flexible and efficient connector to integrate various cloud applications in a generic manner. Indeed, there are many specific connectors built for individual applications by Informatica (Tier 1 and Tier 2 connectors) and other OEM connector vendors. But let’s face it: Most cloud applications evolve quickly with new features, and the APIs often get updated quicker than you realize. How quickly can connectors turn around with the most recent API updates? Unfortunately, the answer is that the connector update lags behind, as most connectors get updated once a year or even more.
In the Fall of 2016 Informatica introduced the Rest V2 connector. The V2 connector follows its predecessor which was just named “Rest Connector”. It allows a connection with the latest Rest API of the cloud application directly to read or write data. You can fully leverage it whether the cloud application is a source, a target or a lookup system. In addition to an enhanced performance, it offers great improvements on flexibility, efficiency, and ease of use. Considering the majority use of Rest API as the industry standard for emerging cloud services, this Rest V2 connector can fill in the role of a generic connector for cloud applications with Rest API. In this article, I will reveal the great features and caveats followed by uncovering some hidden gems of the Rest V2 connector that many may not have realized yet.
One of the great features of the Rest V2 is the introduction of hierarchy data support. As we know, the Rest API deals with either XML or JSON data which are hierarchy data structures. Before the appearance of Rest V2, transformation of hierarchy and relational data was cumbersome and even required writing a specific and custom script to transform the data to be part of the integration process. At the Informatica Fall 2016 release, the same time Rest V2 was introduced, the Hierarchy Builder/Parser brought to life to fill the gap. Hierarchy builder was to build hierarchy data from relational data and hierarchy parse from the opposite way. Let’s take a look at how hierarchy builder/parser works.
First, a hierarchy schema needs to be created. It is used by hierarchy builder/parser to present the data structure. To create a hierarchy schema, one will need to have a XML schema file (.xsd) or a JSON sample file (.json). Note: The XML schema file is not necessarily provided by the vendor and one has to create it based on XML payload.
After the creation of the hierarchy schema, a hierarchy builder/parser can be used to map hierarchy data to relational data or vice versa.
That all seems very easy compared to writing your own transform script. But let’s look at the Rest V2 connector as it’s even better.
The core of Rest V2 connector configuration is the Swagger support. Not all vendors provide Swagger definition for their API, but to make things even easier, Informatica provides this tool right inside the Informatica cloud web console. [It’s under Configure -> Swagger files. If you don’t see this option, please contact your Informatica support to enable it, keeping in mind that you will need to have Rest V2 connector license to use it.]
While creating the Swagger file, you basically define the API details – URL, verb (POST/GET etc), authentication (username/password, token, etc), Headers, Query parameters, Body and sample response file, with a few caveats:
- The JSON response file is required even if you are dealing with XML response. In this case, you will need to convert the XML response into JSON format. There are many online tools to do that.
- If your raw body is XML format and you have issues creating the Swagger, after making sure nothing is wrong on your end, you may want to contact Informatica support to request that they create the Swagger for you. Informatica support does have their own internal tool to create Swagger files.
Once the Swagger file is created, create the Rest V2 connection which is quite easy as most of the information needed for the API is included in the Swagger file.
Now the Rest V2 Connector is ready to use in the data mapping. The Rest V2 can be used as a source to read data or as the target to write data as in this case. Of course, the API you put in the initial Swagger file has to comply with read or write operations. The hierarchy data mapping can be achieved in the Rest V2 Connector as a source/target itself. No need to use hierarchy builder or parser.
But best of all, the great power of using Rest V2 connector is its ability to be used as a midstream. Let’s work on a use case: Say I need to pull data from A system and push to B system via Rest API. If I were using Rest V2 as the target for B system, at the end of the flow, how would I know the data is successfully taken in B? I would need to start another pipeline or another data mapping task to examine the log file and take action from there. When using it as a midstream, the response of the Rest call can be transmitted to the next step for follow-up action in the same streamline flow. This is a differentiator and it led me to believe that Rest V2 connector should not serve as target, but as midstream instead.
Another hidden gem on the Rest V2 connector as a midstream is the ability to process multiple Rest calls. This is definitely a great feature. For any Rest call, one payload corresponds to one request and generates one response. If you have multiple payloads to be processed in one integration, essentially you need a loop function to loop through individual records and make the Rest call for each record. Without Rest V2 connector, this is impossible as there is no such loop function in Informatica data integration. The alternative would be to use Informatica Cloud Real Time (ICRT) which provides a workflow type designer that a task can be jumped from one step to another based on certain conditions – basically to achieve a loop function. With Rest V2 connector, there is no additional configuration needed and multiple records can be processed in one step – taking multiple records as inputs, making Rest calls for each record, and generating all response as outputs. While using it as a midstream, we can easily follow up on actions with the Rest call outputs in the same streamline flow.
Like what you see?
Author JayJay Zheng is a Technical Director, where he is instrumental in providing the best technology experience and expertise to Fortune 500 clients. He is also a Oracle Ace and Informatica certified Integration Specialist, and is a regular contributor to the advancement of transformative digital technology.