2012-08-22 72 views
0

所有有经验的程序员。 我需要关于以下方面的建议。合并多个API的最佳实践

什么是以下问题的最佳实践

我们有2-3个API的对象(XML,JSON,SOAP,协议无所谓了)

他们每个人(公寓)有几个关键点

一)地理学 - 每个API都有自己的空间数据库与自己的名称和ID在同一城市和地方

b)每个API都有对象属性的描述不同的方式......像什么房子有(游泳池,轮椅通道等)

所以我们需要的是导入这些数据,在本地合并它们和搜索....

什么是建筑这种类型的解决问题的正确途径....

一个非常接近的例子是酒店搜索引擎,他们正在搜索10-20个不同系统的数据。 ...

所以我们需要一个类似的东西,但完全在另一种类型的对象。 你的笔记,意见和答案真的很感激。非常感谢参与。

+0

简而言之,您需要抽象出数据来自哪里,然后合并变得非常简单。 – alexy13

回答

1

这是一个非常普遍的问题,很遗憾,答案也是非常通用的。我想解决这个问题这样:

  • 对于每个不同的API创建wrappers,这将在标准化它们内部调用的方式,使其更容易与他们进行互动。

  • 将所有结果转换为uniform format(如果可能的话),至少是那些将被搜索,排序和操作的字段。

如果您将此信息保存到数据库中,那么以易于查询的方式构建结构将很重要。

E.g.将定义房屋的整个JSON字符串存储到称为描述的字段中是不可取的。因此,为房子的每个属性创建的域如swimming pool (BOOLEAN yes/no)。相反,有key-value领域,如attribute-nameattribute-value可能有这样的记录:

  • 游泳池:是
  • 编号:卧室:三

等你明白了吧。根据我的经验,您可以拥有一个统一的数据模型,您可以将API值模拟到其中,从而更容易整理和比较它们。

+0

谢谢@Raidenace ..所以我基本上看到以下几点:1)制作一个标准化的本地数据库模型2)开发所有API的导入机制到标准化的本地数据库3)开发本地搜索... –

+0

是的,这将是前进的方向......主要挑战是使数据库模型和包装机制标准化。一旦你这样做,其余的(查询/排序/最佳匹配)等变得更容易..所有最好的! – raidenace