技术开发 频道

如何实现Web Service设计与整合模式?


二、Web Service的模式化特征

    使用或集成Web Service的时候主要有两种方法:一种是到集中的“字典”中找到相应的服务,然后绑定并使用,这种方式尤其适于使用公共服务。另一种就是直接连接到某个服务,然后通过.Net或Java开发工具生成WSDL代理的办法,但抽象来看基本的组织方式如下。


图3:Web Service的基本模式(静态)



图4:Web Service的基本模式(动态——准备阶段)


图5:Web Service的基本模式(动态——执行阶段)

    三个基本抽象角色的作用:

    •Service:SOA环境中的一个功能性提供者,向客户程序或其它服务提供特定功能(功能组)支持的功能性实体。

    •Directory:管理需要使用的服务功能与实际服务之间的对应关系,包括怎么与目标服务通信、目标服务的实际位置和目标服务所提供的服务接口等信息。

    •Client:消费Web Service的客户程序。

    看上去没有增加中介者的必要,但实际项目中这种客户程序和服务绑定关系不是1:1的,一个客户应用经常会使用多个服务,而每个服务也往往不仅仅服务于一个系统的客户程序,加之服务的自治性,客户程序使用的服务都在自治的发生变化,甚至包括技术之外的(例如:服务的使用费用)因素,因此需要一个前置中介者处理这些问题。同时,设计每个服务的时候,也往往会调用到其它服务,服务本身可能会划分为不同层次,这时候情况更加复杂,但这又是SOA环境下Service-to-Service调用不得不经常面对的情况。


图6:包括Service-to-Service调用后的Web Service基本模式(静态)

0
相关文章