技术开发 频道

浅析Web Service适配器

意图

    将现有Web Service服务(生产者服务)接口转化为客户Web Service(消费者服务)需要的目标服务接口。

问题

    由于Web Service的设计目标最主要就是解决连通性问题,提供一个Internet环境下的分布式计算环境,在SOA架构日益广泛使用的今天,应用于应用间的直接对话更多的成为了Web Service对Web Service间的直接调用。 

    Web Service的调用是以WSDL为约束,基于SOAP的,因此与类间的Adapter适配器实现还有些不同,确切地说是有些自己的特色。

讨论 

    一般而言下面三个情况需要进行Web Service间的适配: 

    •WSDL中定义的服务方法不兼容:名称、返回值、参数列表。 

    •有时候为了接口的通用性,很多Web Service在定义的时候都采用了通用类型,例如:Xml、string,但实际上保存的是特定XSD定义下的XML数据,因此虽然参数没有变化,但数据的Schema发生变化的时候同样需要适配。 

    •原Web Service本身的接口比较初级(或比较原始),客户Web Service需要使用相对封装好的服务方法。 

    实际使用中,还很有可能是上面2种或3种情况的组合。调用方式上,既有可能是单向的“生产者+消费者”方式,也可能是互为“生产者+消费者”。


图1:Web Service间的调用模式

0
相关文章