【TechTarget中国原创】问:在建立在组件基础之上的架构和面向服务架构之间有何区别?这部分谈话中,曾提到,一个组件可能有许多服务接口,这些接口可以满足不同顾客的需求。但是,SOA不是关于标准接口的架构吗?如果我的一个组件有许多接口,这个组件是不是有些过于复杂了?例如,接口层和最顶层似乎并不相同(因为二者的接口不同),但是最底层、组件或者实施却是相同的。在这里是不是漏掉了什么呢?
答:是的,SOA依赖标准接口,但是这和拥有一个单一接口是两回事。如果每个服务接口都和组件API保持一致,那么相对来说,服务接口就没有什么优势可言了。你也可以只用API!但是,因为我们能够不断发现服务接口,这样SOA就可以为一个特定的组件(服务供应商)提供多个服务接口。
但是这样会不会太复杂呢,实际上这属于结构方面的问题。当然,如果你无法控制局面,让服务接口无限增长,就会遭遇棘手的管理问题,但是如果你能控制并管理接口的数量,满足服务客户的具体需求,就能促进服务客户和供应商之间的松耦合关系,这样你用SOA获取的收益会高于传统的API。