The brave new world of service-oriented architecture promises often that one can easily integrate software products with each other, as long as they have a SOAP or RESTful API. At first glance that is true. But very quickly it becomes clear that just because two products that use the same interface technology by far do not speak the same language. A translator must be found.
Sometimes you want to replace a perhaps obsolete product with a new one. Now, the remaining perhaps has no interface towards the replacement product. You can now request a new interface from the manufacturer of the remaining product. Not infrequently he will call for a premium price or even discontinued the product himself. And already a replacement has caused a smaller or even larger project, which entails high costs.
The API Translator Service
Here the API Translator service of x-dream-media can help.
He takes API calls via a SOAP or RESTful protocol. First, he examines the requested URL for clues, what service really should be called as the target. This seems superfluous at first glance as you want to replace only one product for another. But on a second glance you can see the options arising from that. For example, you can now replace an outdated product with two new, specialized products. For instance you could replace an old transcoder with a new one and a new re-wrapper.
Now in the second step he applies a for the determined target API suitable translation table to the payload of the call. The resulting XML tree is then passed on to the target API using a SOAP or RESTful call.
The target system will very most likely return a response. This now needs to be translated for the original calling service in the third step again. This is done using a reverse translation table. Finally, the answer is forwarded to the calling service.
There remains the question of where the translation tables does come from.
Here the combination of a self-learning function and a GUI steps in. All for the API Translator unknown calls or answers are submitted to an administrator in the GUI. He should make the language mappings from the source to the target API format. Similar questions and answers are then processed by the API Translator independently based on its self-learning function.