We have a server which exposes a set of REST APIs. Those APIs are meant to be exposed for clients on different platform so we want to provide SDKs in Java and .NET
The SDKs are using similiar interface definitions (we keep duplicating interface decration in both languages). Application build on top of Java SDK can be run as a servlet within tomcat container, and application build on top of .NET SDK con be run as an IIS app. It is quite a challenge to maintain multiple language version of SDKs to make sure they all work right. All testing effort becomes doubled.
We are thinking to write 2 'debugger' application, on both SDKs respectively. The applications then can load 'command scripts' which is implemented in Python. The 2 'debugger' application provides very thin API wrappers to make them accessible from Python. So we can use one piece of Python code to test both SDKs.
In detail:
- Implement the Java 'debugger' app, and expose its low level API to be accessible from Jython code
- Implement the .NET 'debugger' app, and expose its low level API to be accessible from IronPython code.
- APIs from Java and .NET 'debugger' should be compatible
- Implement all test cases in Python, using the common API.
- When Java/.NET app runs, they load those Python scripts, and execute them to make sure functionalities works ok.
So my questions are
- is this a feasible way to solve such kind of problem?
- Is there any example of solution to similiar problem?
- Is there any framework/library that I can leverage?
Thanks in advance for any comments/suggestions!