Access and Feeds

SOA: Benefits of reusability aren't free

By Dick Weisinger

Monday’s blog described how culture and governance issues are showing up ever more frequently as barriers to successful SOA implementations.  Another surprise in the SOA arena is that the touted SOA feature of reusability doesn’t always come for free.

An article in InformationWeek finds that a reusable service can cost 35% or more compared to software that is designed for single use.  This statistic probably comes as no surprise to a developer — it’s easy to hack up something that works well for a single-use or point solution, but to develop and think through a design that can be flexible enough to be easily re-applied in similar scenarios is a much harder task.

The 35% estimate is made by the chief architect of BearingPoint financial services consulting organization.  But beyond that, he says that services are more expensive, less reliable and harder to maintain than standalone applications.  

In the world of single application development, a developer’s IDE can quickly sort out and display all usages of a particular method.  But once that method is published as a service, it’s much much harder to know who and how other applications are using the service.  In many cases that means that it isn’t always possible to pre-test all service usage scenarios. 

It’s very easy for problems to crop up in consuming applications when changes are made to a service, which in turn makes it easy to inadvertently break applications when upgrades to services are rolled-out.  To ensure this doesn’t happen, the alternative is to continue to maintain multiple versions of the service, but this results in an ever-increasing maintenance effort.

Again, we find that if services are created without a broad overall design with the whole enterprise in mind that it’s easy to build a service that has little value outside the application for which it was originally designed.

Corporate vision for an SOA strategy and a governance plan for ensuring reuse, version management and smooth interoperability among many applications are important to achieve success with an SOA implementation.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Leave a Reply

Your email address will not be published. Required fields are marked *

*