Saturday, November 4, 2017

Are you stuck in the old age with your legacy SOAP service?

Owner of some legacy services?

If your company started its IT department about a decade or so ago, adopted SOA etc. then you should be the owner of some legacy SOAP backend services which you are not proud of anymore. You may not have the guts or the blessings from your leadership to redo them matching the current trends in IT world. It can be due to the risk of redoing them completely and the cost too.

While you are stuck with it, you might be getting frequent requests asking for a more web friendly set of services. If you want to reach to more customers, let application developers innovate etc. its difficult to do so with your legacy services.

What options do you have to get beyond this hurdle?

I would list down following as your requirements.

  1. Expose your legacy service as a RESTful API
  2. Make it a managed API such that you can control who consumes it and how they consume it.
Answer is an API management solution. Which one should you turn to? There are many API management products and services available in the world today. I am recommending WSO2 API Cloud and WSO2 API Manager (on-premise version) for this.

How can WSO2 API Cloud solve your problems?


  1. API Cloud is capable of exposing your SOAP service as a RESTful API. It can accept a JSON payload, convert it to a SOAP payload, send it to your SOAP backend, get the SOAP response, convert it to a JSON response and send back to the client. This is what your clients are asking for, isn't it?
  2. It allows you to control the access to the SOAP backend via the managed API
    1. It authorizes the access via Oauth tokens
    2. It can also throttle the traffic to your backend to protect it from unbearable load. If its a legacy backend it will surely have limitations on the load it can handle.
    3. Its powerful mediation engine can be used to selectively expose certain operations only to your clients
    4. Even if you decide to expose all the operations, you can selectively give access to different clients via the scopes.
  3. You can also get un understanding on the usage of your service via the stats available
  4. You can do all these within hours, which gives a greater agility to your digital enterprise.
  5. You can monetize your backend service to earn money too.
I strongly recommend the below article to get started on exposing your legacy service as a managed API. It gives you details step-by-step instructions to expose your SOAP service and create you first API.
https://medium.com/@shenavi21/exposing-a-soap-service-as-a-managed-rest-api-288676e06418

If you have any questions you can contact the WSO2 Cloud team via cloud@wso2.com

Following documentation links will also help.
https://docs.wso2.com/display/APICloud/Publish+and+Invoke+a+SOAP+API
https://docs.wso2.com/display/APICloud/Convert+a+JSON+Message+to+SOAP+and+SOAP+to+JSON