Lightweight design

From Wikipedia, the free encyclopedia

Lightweight design is the process by which software is created using only the basic components provided by software vendors, avoiding additional application frameworks/tools that can be expensive to license, or set up, or maintain through software license agreements.

For instance, user persistence on a website might be implemented via a cookie and relational database table, thus avoiding licensing costs of a session management application.

Another example may be the use of a SOAP call within a loop, to provide a remote communications link to a third party, which can be implemented in a few lines of code in a modern framework.

The effectiveness of lightweight design depends on a combination of the talent of the developers, and also the ownership of small, re-usable snippets of code, that have already been pre-tested, as implementing a complete application of new code takes too long to write, and cannot compete with commercial off-the-shelf software (COTS).

Lightweight design works well as a replacement for major systems integration components, in cases where a powerful commercial off-the-shelf system has been used, when only a tiny part of the functionality of the COTS product is used.

Its implementation is a reaction by independent software developers to major software houses recommending systems far in excess of what is required, in order to get "bums on seats."