This post originated from an RSS feed registered with .NET Buzz
by Udi Dahan.
Original Post: SCA - strike 2
Feed Title: Udi Dahan - The Software Simplist
Feed URL: http://feeds.feedburner.com/UdiDahan-TheSoftwareSimplist
Feed Description: I am a software simplist. I make this beast of architecting, analysing, designing, developing, testing, managing, deploying software systems simple.
This blog is about how I do it.
"Service Component Architecture (SCA) is a set of specifications which describe a model for building applications and systems using a Service-Oriented Architecture. SCA extends and complements prior approaches to implementing services, and SCA builds on open standards such as Web services.
SCA encourages an SOA organization of business application code based on components that implement business logic, which offer their capabilities through service-oriented interfaces and which consume functions offered by other components through service-oriented interfaces, called service references."
1. If "web services" includes the http of the web, then it makes no sense to couple our business logic components to anything dealing with transport.
2. If we directly expose these components which implement our business logic (even by abstracting them behind an interface), as part of the service boundary, do we not tightly couple our logic to the external interface - that being a BAD thing. It is a BAD thing because it limits our ability to change the implementation behind the external interface. Not to mention that the component shouldn't care how it is consumed. But experience teaches us that components are often designed for in-process use allowing easy transaction context flow - something we DEFINITELY don't want coming in to our service boundary.
You know what I don't like? Bottom line it sounds like a repackaging of existing component style thinking with WSDL. From a business perspective I understand it - you've got all these vendors with their existing products that they've already invested small fortunes in developing that need to sell them into a market hyped with SOA (which isn't really understood by those making the decision to buy). So what do those vendors do? Erase a little bit of the right side of the letter 'O' in SOA and you get SCA. "Components? We can do components! They're not just components, you know. These are special, "service oriented" components. They're not those old components you bought 2 years ago. You need these new ones."