SCA的概念没有任何难以理解的,最主要的就是一个Service Oriented Spring,至于传输协议的透明性,那是runtime的附加能力;另外支持多语言这件事,如果C++能跑到JVM上就另当别论了,呵呵。有趣的是这两天看Celtix是发现它提到自己和Apache Tuscany整合的问题,结论是总把ESB画成一个长方形是有误导嫌疑的。
SCA的Module是可以compsite的,所以如果想象BPEL和Java的SCA Module(我的意思的Module里Component的主要成分)在不同的层次的话,那么这里就对应了比较被经常提到的SOA系统的层次。
蛮喜欢这个东西是因为是很Best-practice,比如不透明的对待local和remote,再比如IoC。略微不喜欢的就是这种通过一个规范来实现多语言版本Component的方式,COM的失败虽然和这个方式没关系,但总是不好的印象。还有从政治上说BEA和IBM联合地搞JCP也不是什么好事(虽然也未必是坏事)。
另外值得一提的就是M$的Indigo,粗略的印象里,Indigo(在CLR的帮助下)解决了SCA和SDO里除了wire的全部问题。M$一向对模式架构不关心,所以没有一个官方版本的IoC容器不值得奇怪。但是如果Indigo就是应用了OS能力的library的话,那么加一个NSpring就足以比拟SCA了