David Chappell has written a piece where he compares the Service Component Architecture (SCA) to Windows Communication Foundation (WCF). For those not familiar with WCF, Microsoft's chief raa-raa man for WCF (Rich Turner) is on a mission to explain and is a prolific poster to his excellent blog; it's well worth a read.
David's article gave me pause for thought. I hadn't thought of SCA as playing in the same space as WCF until now. In my mind, I have (perhaps naively) considered WCF to be Microsoft's new plumbing for web services, messaging, remoting and the rest. By contrast, I picture SCA as a way to describe, invoke, package and compose services in a location, implementation and runtime-transparent manner (simplifying gratuitously, of course). I intend to re-read David's article with the WCF FAQ open at the same time. My first impression is that he may have downplayed the importance of WebSphere Process Server - as a shipping implementation, it suggests answers to many of his questions about how SCA may support JMS, security, transactions, etc.
I think one of the potential similarities between the two models (if WCF does what I think it does) is the deliberate blurring between "programming in the small" and "programming in the large". That is: SCA can be used as a component model for building a regular application. And the exact same technology can be used to build a highly-distributed composite serivce-oriented application. This encouragement to think about services in everything we do is crucial. The SCA (and WCF) applications of today must not become the monolothic legacy apps of tomorrow... we're not just consuming services; we should be exposing them, too.
I need to give this some more thought and do more reading on WCF. Microsoft's WCF FAQ is good.
David blogs here. I can't believe I've only just found it... it's fascinating. However, there doesn't seem to be any way to comment or fire trackbacks, which is a shame.