- Shim (computing)
In
computer programming , a shim is a small library that converts one API into another. They typically come about when the functions of one API become a part of another, larger, library. In these cases, the older API can still be supported as a thin layer on top of the newer, and more general, code.One example was the support of
AppleTalk on Macintosh computers during the brief period in whichApple Computer supported theOpen Transport networking system. Thousands of Mac programs were based on the universal AppleTalk protocol; in order to support these programs, AppleTalk was re-implemented as an OpenTransport "stack", and then re-implemented as an API shim on top of this new library.A less successful example occurred when SGI repeatedly attempted to merge
Open Inventor withOpenGL Performer . The latter was an offshoot project from people involved in the former, and after a few years of parallel development it became clear there was no reason they could not be re-merged. This led toCosmo 3D , a universal "higher-level" library overOpenGL , with Inventor and Performer re-implemented as API shims on top. However internal politics and a variety of failed industry partnerships doomed the project as it was handed first to the OpenGL++ group, and then the Fahrenheit project, before being cancelled outright in 2000. Today Inventor and Performer remain separate projects, neither one well supported.Fact|date=June 2008The Windows Application Compatibility Toolkit (ACT) uses the term to mean
backward compatibility libraries. Shims simulate the behavior of older versions of Windows for legacy applications that rely on incorrect or deprecated functionality, or correct the way in which poorly-written applications call unchanged API's, for example to fix LUA bugs. [cite web|publisher=Microsoft |url=http://www.microsoft.com/downloads/details.aspx?FamilyID=24da89e9-b581-47b0-b45e-492dd6da2971&displaylang=en|title=Microsoft Application Compatibility Toolkit 5.0|accessdate=2008-06-24|date=2007-12-11]ee also
*
Application virtualization References
Wikimedia Foundation. 2010.