|
Reuse vs. Broad Applicability. Jeff Schneider blogged his thoughts on Reusability Through Web Services. It reminded me of earlier thoughts from Jason Bloomberg at ZapThink, which I reviewed in August.
Over the half-century history of software development, there’s been a constant push for reusable code. On the face of it, the merits of reusable code seem obvious. Software development is expensive, and if one’s investment can be re-used, one should receive a better return on that investment.
Re-use implies that source code will be copied and pasted into subsequent applications, or that class or code libraries will be shared by the software components within a system. But these are tightly coupled concepts and assume (at the very least) that subsequent applications will be developed using the same programming languages or operating environments.
In the loosely coupled world of web services, there’s less of a need to port or copy source code or libraries when creating new applications. Instead, the code can be left to execute where it is, and its functionality offered as a web service to other applications and web services. In such a world, it makes sense to design web services for broad applicability (i.e., to be as useful as possible to the broadest set of applications) rather than to be reusable in the traditional sense. The code need not be portable, but its interface must be universal.
Posted Sunday, December 15, 2002 10:56:19 PM
|