How to access Informatica PowerCenter as a Web Service

Web Services Overview:

Web Services are services available over the web that enables communication and provide a standard protocol for communication. To enable the communication, we need a medium (HTTP) and a format (XML/JSON).

There are two parties to the web services, namely Service Provider and Service Consumer. A web service provider develops/implements the application (web service) and makes it available over the internet (web).  Service Provider publishes an interface for the web services that describes all the attributes of the web service. Service Consumer consumes the web service. For the Consumer to consume the web service, the consumer has to know the services available, request and response parameters, how to call the services and so on.

Hence we can define Web Service as a standardized way of integrating web desk applications using XML, SOAP, WSDL and UDDI open standards over an internet protocol backbone. XML is used to tag the data. SOAP is used to transfer the data. WSDL is used for describing the services available and UDDI is used for listing what services are available.

Why Web Services

Web Services is used mainly for two reasons:

  • Platform agnostic communication
  • Two different applications can talk to each other and exchange data using web services

PowerCenter Web Hub and Web Services

InformaticaPowerCenter has the ability to expose its job (workflow) as a SOAP web service which can be utilized from external applications to access the data integration functionalities even outside Informatica PowerCenter.

This blog post gives an overview of web service, explains how to create web source and targets, create workflows and test the functionality from Web Service Hub.

Pre- Requisites:

  1. InformaticaPowerCenter Repository and Integration Service up and running
  2. InformaticaPowerCenter Web Service Provider Valid License
  3. Administrative privileges to create Web Service Hub

Figure 1: Informatica Web Service Provider Architecture

Step by Step Process

Web Service Hub Creation Steps:

Log into Informatica Administrator Console. Right Click on the Domain and choose Web Service Hub and provide the Name, port, and License. Choose the repository service where your web service workflow has been created. Also, make sure the Web Service Hub is enabled.

Creating a WebService Provider Source and Target using Web Service Provider

Go to Source Analyzer click on Web Services Provider * Create Web Service Definition if you want to provide the port names manually or you can choose Import from WSDL which contains SOAP Request and Response message object

Creating a Mapping

Create a PowerCenter mapping which involves the set of transformations which you want to perform. The mapping must have only one WebService Provider Source and Target. In this example, Name, when passed as an input, tries to retrieve the Type and Key.

Creating a Session and Workflow

Create a session task and plug that into a Workflow. Go to Workflow properties and Enable Web Services. Click on the Config Service and select the properties accordingly.

Properties:

Service Name: Provide a service name which will be visible under RealTime WebService Hub.

Maximum Run Count per Hub:Refers the maximum number of Workflow instances that can run at the same time for one particular Web Service. If the first instance of the workflow takes longer than the Service Time threshold, a second instance will be started.

Timeout: Set the transaction Timeout in seconds.

Web Service Hubs: Choose the hub(s) where you want your service to be exposed.

Protected: Check this when you service request requires authentication. Not every web service client can access when it is set to Protected.

Visible: This has to be checked, only then the service will be listed in Web Service Hub and WSDL can be generated out of that.

Runnable: If runnable, a web service client can start the workflow or invoke the service while the workflow is running. If not runnable, a web service client can invoke the service while the workflow is running, but cannot start the workflow.

Testing your service:

Open the service URL provided in the hub. Choose your service under Valid WebService and click on Try it and send your Name SOAP Request

You should be getting the SOAP Response with Key, Type for the matching Name.

Conclusion

This concludes the Informatica WebService Provider configuration. We can export the WSDL out of it which can then be accessed by any of the external Web Service clients. We can also make it as a secured Web Service by enabling https while creating the Web Service Hub.

About the Author

Ragavi Rajakumar is a Technical Consultant with 5 years of Industry experience in Data Integration and Master Data Management space. She has expertise in Data Integration and Data Quality solutions with Informatica suite of products.

InformaticaPowerCenter, JSON, Service Consumer, Service Provider, SOAP, UDDI, Web Service, Web Service hub, WSDL, XML

13 responses to “How to access Informatica PowerCenter as a Web Service”

  1. […] http://www.infotrellis.com/how-to-access-informatica-powercenter-as-a-web-service/ […]

  2. […] Read more at http://www.infotrellis.com/how-to-access-informatica-powercenter-as-a-web-service/ […]

  3. […] Read more:http://www.infotrellis.com/how-to-access-informatica-powercenter-as-a-web-service/ […]

  4. […] can use SOAP Web Services and any protocol such as HTTP, […]

  5. Shivangi Roy says:

    I appreciate your work on Web Services. It’s such a wonderful read on Web Services. Keep sharing stuffs like this. I am also educating people on similar technologies so if you are interested to know more you can watch this:-
    https://www.youtube.com/watch?v=okS4N1xRCDM

  6. Shivangi Roy says:

    I appreciate your work on Informatica. It’s such a wonderful read on Informatica.Keep sharing stuffs like this. I am also educating people on similar technologies so if you are interested to know more you can watch this:-

  7. Raja says:

    Hi,
    We followed the same steps and selected the option “Import from WSDL” to import from an .wsdl file. But we are getting the below error messages.
    “FATAL: Error at (file , line 0, char 0 ): An exception occurred! Type:NetAccessorException,
    Message:Could not connect to the socket for URL ‘http://www.w3.org/2001/03/xml.xsd’.
    Error at (file http://www.w3.org/2003/05/soap-envelope, line 143, char 52 ):
    Schema Representation Constraint: Namespace ‘http://www.w3.org/XML/1998/namespace’ is referenced
    without declaration.
    Schema specified in the WSDL is invalid.
    Failed to parse the content.”

    We tried all the options provided in the Infa KB but no luck. Kindly help. Thanks

    • Asha Shyam Sundar, Mastech InfoTrellis says:

      Hi Raja,

      Thanks for sharing your query. Please send a mail to info@mastechinfotrellis.com to get a solution asap from our techies.

      Regards
      Asha

  8. Irene Hynes says:

    Hey Brother,

    Awesome article. Thanks for making that available. I’ve been using your help to build my own POC and will publish the steps in another blog soon.

    I agree with your logic but it might be that PT is considering the system columns also as normal columns and giving the functionality (just blind guess) .
    And yes I tried replicating your issue its same even for me.

    Are you using IDD to search records?

    Very useful article, if I run into challenges along the way, I will share them here.

    Thanks,
    Irene Hynes

    • Asha Shyam Sundar, Mastech InfoTrellis says:

      Hi Irene Hynes,

      Thanks for posting your query. It will be great if you can send us a detailed mail to info@mastechinfotrellis.com to get the required solutions from our technical team.

      Regards
      Asha

  9. Irene Hynes says:

    Hi,

    Awesome article. Thanks for making that available. I’ve been using your help to build my own POC and will publish the steps in another blog soon.

    I had 90 as max trust for source billing, Informatica MDM Training USA I ran load for a record so that record got inserted with trust 90 then I reduced the trust to 70 and load record with same source and Pkey value but because new record has less trust it should not be updated right? But it went as update .

    Great effort, I wish I saw it earlier.
    Many Thanks,
    Irene Hynes

Leave a Reply

Your email address will not be published. Required fields are marked *