Friday 15 June 2007

what constitutes a reuseable service

At the core of the SOA drive lies the desire for reuse. This is because reuse is seen as the way to shorten development times and therefore achieve some measure of agility. The idea is to create services which are then registered and aviable for re-use. The problem is what constitues a re-useable service?

For example, a service might be created that can access data from a specified table and return values that meet certain criteria. A service such as this is nicely non-specific and so the options for its re-use are large. However, developing solutions that orchestrate services of this type will still be a long task.

An alterantive example is to consider re-use at the compound service level. As an example, we might have created a compound service that returns customer data from a specified database. The methods available may return the primary address, delvery address and so on. This woudl be a compond service because it will include several simple services, including the one in our first example. It could even have been contructed with a set of graphical interfaces already defined

The options for re-using the compound service are more limited than those for the simple service, but using compound services at this level speeds up the time needed to create new processes immensly. Which extreme is best suited to a developeers needs