Backward Compatibility — Glasswall Shim

Harry Georgiou
Glasswall Engineering
2 min readNov 21, 2019
Transparent API interception

What is a Shim and how does it work?

A Shim is used to facilitate the need to manage the behaviour of an old API with the use of a new API which are directly incompatible with each other but are performing the same functionalities. For example: the new API may be an improvement to the old API, accepting a more versatile set of parameters and functioning in a more efficient, succinct and maintainable manner, but essentially, the functionality and end result between the old and new API are the same.

Therefore, by using the Shim, you are still able to allow your product to use the old API function signatures, but the Shim is used to intercept the behaviour of the old API in a seamless and transparent manner, allowing the functions of the new API to execute.

See the diagrams below which provides a visual representation of the Shim

When would you need to consider using a Shim?

If your product is currently running with an old version of the system and you are facing many obstacles in transitioning to a newer and improved version of the same product, possibly due to compatibility or integration difficulties, the Shim is a very possible solution for you.

How would the use of a Shim benefit your company?

Implementing a Shim is an effective and neat approach which you can use to integrate the newest version of the system by taking advantage of backward compatibility, while also minimising many of the concerns, difficulties and issues that a complete transformation and restructure could bring. Also, the shim is a great way for you to be able to test your new version of the API end to end without much of a ripple effect.

Stop it. Block it. Glasswall it.

--

--

Harry Georgiou
Glasswall Engineering

I am a technical and business enthusiast, with a passion for designing and building robust, revolutionary software solutions.