原子服务和合成服务的定义

Web Services中原子服务和合成服务的定义

文章仅供大家参考,所有评论 , 错误报告 , 其他信息以及批评 , 请邮寄到 Jeffery.Lee AT gmail.com 或者访问我的个人blog同我交流 ( http://ibuddie.spaces.live.com/ ) 。本文遵从 GNU 的自由文档许可证 (Free Document License) 的条款,欢迎转载,如若修改、散布,请注明文章原始出处和来源。


服务模型(service model)设计是必须要解决的一个问题就是服务粒度的划分。在理想的情况下,应根据现有的行业服务定义来创建服务模型,但实际上,可能要根据现有的组件接口(例如COM/DCOM类型库、CORBA IDL、Java对象等)、传统消息格式(legacy message formats)或现有应用的APIs才能得出服务模型。

服务分为原子服务(atomic services)(即不可再分解为更细粒度的服务)和合成服务(composite services)(即通过多个服务组合而成的服务)。

合成服务与其它Web服务类似,因为它们都有WSDL服务契约,并且都是通过SOAP消息调用的。可以通过两种方式来创建合成服务:
  • 通过直接编程的方式来创建合成服务,例如把一个EJB发布为一个用到其他Web服务的Web服务。
  • 通过使用Web服务编排(Web service orchestration)及WS-BPEL来创建合成服务。
对于后者,开发者一般使用Web服务编排产品来定义合成服务,以及一个执行WS-BPEL流程定义的 runtime engine(如AcitveBPEL)。利用WS-BPEL进行Web服务的合成具有简单和灵活的优点,因为修改合成服务不需要引入新的代码。不过有时采用直接编程的方式也不失为一个好方法——特别对那些非常简单的或者关注效率的合成服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值