Free Newsletters

   All InfoWorld Newsletters
Real World SOA | David Linthicum » Reusing the Reuse Topic

March 06, 2008 | Comments: (0)

Reusing the Reuse Topic

Joe McKendrick had some good ideas around my thoughts on reuse, and some good original insights as well.

"However, there are three sticky questions around reuse: First, should reuse be a goal in itself, or does it play more of a supporting role to more business-focused higher-level benefits? Is it like trying to measure the number of times employees open up Excel spreadsheets through the day, versus measuring the insights and actions they take as a result of the data they get out of their spreadsheets?"

I think reuse should be a goal, and clearly we've had that on our radar in IT for some time. However, to Joe's point, the core benefit is the value of reusing, not that fact that you reuse. There is a difference.

"The second question is even more vexing: is reuse even essential at all to SOA success? Suppose there are services that are only used by one application each? These services may offer streamlined interfaces that provide independence from the application underneath, saving countless hours of toil and disruption when the app changes."

I think SOA can still have value without a significant amount of reuse. That's my point, that we're too focused on reuse as a metric when it clearly has secondary value.

"Third, suppose business units across the enterprise go wild with reuse, to the point where it gets difficult to track who is using what and how often? The SOA appears to be a raging success, but how is it helping the business? Is it amounting to anything? Is so, how can that be measured?"

This is the core issue around the need for SOA governance, best practices, and technology. I agree that we need to measure reuse, no matter if it's occurring or not. I'm a big advocate of centralized control and management, albeit the typically enterprise is not. However, based on past experiences, I suspect we'll not get to this kind of "mass reuse" anytime soon, so I would not worry about it.

 

Posted by Dave Linthicum on March 6, 2008 09:21 AM


RATE THIS ARTICLE:





 

  •  
  • COMMENTS




I will predicate this with the comment I have virtually zero experience with Service Oriented Architecture.

But the question of re-use is an interesting one. What comes to mind is the dynamic linked library. Why write code over again, if there is a snippet in a library that will do the trick for you? All you need to know are what the snippets are.

This works fine, until you loose track of what code needs which libraries, and which version of the library works with that code.

I can just picture the .dll .... expanded to entire applications that an enterprise works on. Instead of libraries, you have clusters of applications that must work together. Make sure you have the correct version of each one, or that company A doesn't change something company C depends on.

For an example of the criticality of this interdependence, consider how much time third party vendors had to modify their drivers to be Vista compatible, and how many decided that some product would be conveniently end of lifed with XP, deeming it not economically feasible to update drives for older equipment. That was with one main supplier of software doing a major re-write. What if you have five or ten all trying to improve their products with interdependencies between them that any one of which might break.

One way comes to mind to prevent that problem. Well defined *STANDARDS BASED* interfaces between different services, much as EDI provides a standard form of data interchange. What it would mean is the various service providers would need to sit down together and decide it was the interest of every one to agree to and adhere to standards for interoperability.

Posted by: Gostak at March 6, 2008 03:17 PM

I don't think reuse should be a goal in it self. That would mean that if reuse is not foreseen, the service shouldn't be published. That would, in the end, go against the separation of responsibilities (the consumer will eventually need to find a way to fulfill the requirement).

It is fine for a service to have a very specific (niche) use case that won't be reused by many consumers.

However, a service should be designed in a way that once another potential consumer comes forward, the service doesn't need to be changed. In a sense, you could call that 'design for reuse' (you might also call it 'reuse-proof'). But making reuse a goal in it self, measured by the number of consuming applications, that would just be foolish.

Posted by: eelco at March 9, 2008 09:39 AM

Technology White Papers

 

InfoWorld Technology Marketplace

» Technology White Papers Library

Technology White Papers by Topic

Technology White Papers E-mail Alert

Find out when the latest white paper is available:
 
 
» BUY A LINK NOW

Sponsored Technology Links