具有大量扩展的Web服务

时间:2014-01-28 17:21:20

标签: web-services soap wsdl soa

我需要设计一种传统的“通过ID获取客户”SOAP服务操作。问题是从大约15个以上的系统中检索客户数据,并且根据客户的地理位置,除了传统的关于客户的基本事实(名称,地址,电话号码等)之外,还需要返回不同的数据。

因此,手头有两种类型的客户信息:

  • 可以适合“规范数据模型”类型存储桶的常见客户数据,例如姓名,地址等
  • 特定于区域的客户数据,该数据特定于客户的区域或国家/地区。如果您在美国,请考虑社会安全号码,如果您在英国,请考虑国民保险号码,等等。

如果我们要遵循传统客户群类型和许多扩展的方法,客户可以来自广泛的地区,例如扩展USACustomerType基类型的CustomerType,我们会很快遇到两个问题:

  1. WSDL将是巨大的
  2. WSDL将拥有大量与大量人无关的信息
  3. 我正试图避免这两件事。

    我认为的选项,在我看来相当平庸,是:

    1. 只有一个基本的客户类型和一个无限的名称 - 值对列表,不同的系统可以添加自己的名称 - 值对,寻找该数据的消费者可以查找这些(这很好且可扩展,但只是不是一个好主意)
    2. 咬紧牙关,拥有一个巨大的WSDL,它具有CustomerType基类型和多个扩展名,在可用时添加更多国家
    3. #2的变体,它只有一个基础CustomerType和大量可选字段
    4. 我想问的问题是:你是否遇到过这样的情况?如果是这样,你是如何处理它的?

0 个答案:

没有答案