We have a program consisting of three parts. There's the backend which is the NT service handling the requests. Also there's a COM object that implements a predefined interface, is consumed by client software and passes the requests to the service.
Since we need to have both 32-bit and 64-bit versions of the COM object we split it into two parts:
- the front end that implements the predefined interface
- the middle layer that implements a newly introduced intermediate interface and is hosted in COM+ to avoid reimplementing everything as both 32 and 64 bit.
So the front end forwards requests to the intermediate layer, the intermediate layer forwards them to the back end.
The problem is that the front end is the first thing the customers "see" and we don't like to call it "Our Product Front end", but rather just call it "Our Product". We also need to invent a good name for the intermediate layer. What's typically used for the latter?
So far the most suitable match I found in the dictionary is spacer level - concise and somehow reflects what the layer is for. Will that do?