shindig

Shindig簡介

Shindig是一個參考容器,可以運行在任何網站上,用來支持OpenSocial的社交套用。它最開始是由Google在2007年開發的,作為iGoogle的Gadget容器,然後在2007年12月成為Apache的一個開源項目。Shindig的主要目的就是為那些希望使用支持OpenSocial規範軟體的社交網站提供基礎設施,使得社交套用的開發者不用去關心平台的轉換問題。目前,很多社交網站都是基於Shindig實現自己的OpenSocial功能。Shindig的另一個目標是多語言實現,目前Shindig有JavaPHP兩個版本。Shindig的最新發布版本是 2.0.1,實現了OpenSocial 1.1的規範。

Shindig功能介紹

什麼是 OpenSocial
OpenSocial是基於開放標準的一組通用的 API,用於幫助 WEB 的開發者構建跨多個社交網站的可移植的社交應用程式。OpenSocial提供開發者一套通用的 API,基於該通用 API 開發的社交應用程式可以運行在任意支持 OpenSocial 規範的社交網站上。
Apache Shindig
Shindig 是 OpenSocial 規範的引用實現,其主要的組件包括 :
Gadget Container JavaScript,OpenSocial Gadget 容器,客戶端的 JavaScript 類庫 (gadget.js),提供例如 UI Layout,Security, Communication 等相關的功能。
Gadget Rendering Server,負責解析 Gadget XML, 轉化成瀏覽器使用的 HTML/JavaScript/CSS。
OpenSocial Container JavaScript,位於客戶端的 OpenSocial 容器,也是 JavaScript 類庫,提供 OpenSocial 相關的功能,例如存取 People, Activity, AppData 等相關的社交數據。
OpenSocial Data Server,提供基於 Restful/RPC 協定的 Services,用於存取 People, Activity, AppData 等相關的社交數據

Shindig 的伺服器端架構圖

從圖 1 中可以看到,Shindig 基於 Java Servlet Stack 實現。GadgetRenderingServlet 負責 Gadget Rendering, 而 DataServiceServlet 和 JsonRpcServlet 實現 OpenSocial Data Server 中相對應的 Restful 及其 RPC 服務。JsonDbOpensocialService 通過實現 ActivityService, PersonService, AppDataService 三個接口向 Shindig OpenSocial 容器提供基於 Json 格式的 OpenSocial 數據。客戶端的 Gadgets 可以使用標準的 OpenSocial API 訪問到這些數據。

相關詞條

相關搜尋

熱門詞條

聯絡我們