Saturday, February 13, 2010

These are my new bookshelves. One of the things we discuss in Service Oriented Architecture software design is reuse and composition of services. Looking at this design for the bookshelf, you can see reusable components, in the piping, the fittings and the shelf.

The service is composed of these simple components. The "Service" is defined as; an Object that displays and stores books, and is itself reusable, i.e. a different but similar bookshelf with variations in size and shape.

The key to reuse in software has been around for a long time. In Unix, much of the software utilities are simple, focused things that do one thing well and can be chained together to compose more elaborate utilities and functionality. Find, sed, awk, and utilities for manipulating strings can be aggregated into whole applications. In Unix everything is a file allowing for easy manipulation of files and directories.

This same idea is applied to services. Small fine grained utility services can be composed into larger more useful services. The reusability of these larger more coarse grained services falls off as they become more specific in their business functionality.

No comments:

Post a Comment