就我目前的理解,SCA其实是把其他各种服务引入自己应用的工具。
举例来说,现在有A->JEE(EJB/JMS/..)的应用(服务),B->BPEL(..) process,C->Web2.0 Component(Widget/json/..),如果现在要做一个建立在A、B、C基础之上的应用,那么SCA是一种最合适的工具,它用类似的方式,把三种不同类型的服务引入系统,避免了维护三种不同服务接口的工作量。
而作为发布服务的工具,SCA其实是不太合适的。
再举例 :-) 已有应用是Web2.0类型的。现在要发布出一个服务,不管我是选择RESTful的,还是widget,还是json,都有相对应的简单工具,为什么我要引入SCA这么大型的工具呢?就好比现在我就想剪指甲,非买个瑞士军刀来剪,我觉得酷,你也看我像装13对吧?(又举例,真是一例解千愁啊)
ESB和BPEL都有他们各自的应用场景,直接拿来和SCA比较并不太合适,而且他们也不是同一层次的工具。ESB是要解决服务通道,BPEL要解决服务流程,SCA要解决服务装配。
BTW: 这篇B文是在一个Google Group里的回帖。贴在这里主要是觉得,还稍微有点价值,而且还有很多可以发挥的点,以后说不定可以做成一篇大大的B文。
定义良好的web service接口
1, 接口是自说明的。2, 服务接口粒度要合适。3, 接口参数要尽量简单。4, 接口参数不应该增加客户端和服务端的耦合性。5, 要提供对接口参数和返回值的校验。6, 接口的返回值应该是简单的语言无关的。 7, 谨慎的抛出异常。8, 接口要尽量采用更新的标准。9, 要注意标准的通用性。10, 接口要测试方便。
Recent comments
16 weeks 5 days ago