The Object Wrapper Rap
What the hell is a wrapper?
We don’t seem to know.[1]
It should not just be “as-is,”
A no change blow by blow.
It should be a way
To screen out the excess,
To present what is needed
And not the whole mess.
Facades resolve tangles
Without inside change.
You see org’nization,
Not the whole range.
You use what you need,
Disregarding the rest,
Replacing by subset
As you “plug-in” the best.
A middleware service
Supports diverse needs;
An interface offered
To apps of all breeds.
An app[2] may provide access
Or do access as well;
And may do so by wrapper
Through an ORB that will tell
Who talks to who
And where talks to where.
“Wrapper” or “service”
ORBs really don’t care.
Gary A. Ham – 1998
[1] The poem was written during a group meeting (Summer 1998) discussing the appropriate architecture for handling interfaces between heterogeneous systems (both legacy and to-be) in a distributed object environment. The basic point: Properly defined “wrappers” improve the functionality of legacy systems by acting as facade for the purpose of encapsulation, selection, and projection of appropriate subsets of a legacy system. Middleware services then deal with the system only through the facade, without having to deal with all the internal intricacies of the complete legacy system.
[2] Legacy, COTS, or new development all apply.