Monday, March 19, 2007

Services, Schmervices

Service-oriented architecture (SOA) was flagged as the "most-despised" buzzword in a survey by Network computing. I can understand that. "Service-Oriented" is to a system as "High Definition" is to the latest consumer product. We have high-definition television, high-definition radio, high-definition phones, high-definition linoleum, and even high-definition dishwashers. It seems that in the last year or two, every minor new product from software vendors is the answer to every problem you've ever had developing your own service-oriented architecture.

But developing software with services, or better yet, software as a service, really is different. There isn't a lot of good guidance out there. You'd think after twenty or twenty-five years of figuring out how to develop distributed systems, somebody would have the answer.

About a dozen years ago, distributed objects were the way to go. Client-server was so yesterday. You just had to throw a system together from CORBA or DCOM components, and you were cool. The problem was that it wasn't easy, and it was really hard to get the granularity right so the system would scale and perform. Here we are a dozen years later, and service-oriented is the way to go. The web is so yesterday. You just throw a system together with some web services and an enterprise service bus, and you're cool. The problem is that it isn't easy, and it's really hard to get the granularity right so the system scales and performs. Hmm, does anybody see a pattern here?

But this time it's different....

No comments: