2012-08-22 116 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