久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔
站長百科 | 數(shù)字化技能提升教程 數(shù)字化時代生存寶典
首頁
數(shù)字化百科
電子書
建站程序
開發(fā)
服務(wù)器
辦公軟件
開發(fā)教程
服務(wù)器教程
軟件使用教程
運營教程
熱門電子書
WordPress教程
寶塔面板教程
CSS教程
Shopify教程
導航
程序頻道
推廣頻道
網(wǎng)賺頻道
人物頻道
網(wǎng)站程序
網(wǎng)頁制作
云計算
服務(wù)器
CMS
論壇
網(wǎng)店
虛擬主機
cPanel
網(wǎng)址導航
WIKI使用導航
WIKI首頁
最新資訊
網(wǎng)站程序
站長人物
頁面分類
使用幫助
編輯測試
創(chuàng)建條目
網(wǎng)站地圖
站長百科導航
站長百科
主機偵探
IDCtalk云說
跨境電商導航
WordPress啦
站長專題
網(wǎng)站推廣
網(wǎng)站程序
網(wǎng)站賺錢
虛擬主機
cPanel
網(wǎng)址導航專題
云計算
微博營銷
虛擬主機管理系統(tǒng)
開放平臺
WIKI程序與應(yīng)用
美國十大主機
編輯“
Shindig
”
人物百科
|
營銷百科
|
網(wǎng)賺百科
|
站長工具
|
網(wǎng)站程序
|
域名主機
|
互聯(lián)網(wǎng)公司
|
分類索引
跳轉(zhuǎn)至:
導航
、?
搜索
警告:
您沒有登錄。如果您做出任意編輯,您的IP地址將會公開可見。如果您
登錄
或
創(chuàng)建
一個賬戶,您的編輯將歸屬于您的用戶名,且將享受其他好處。
因存在沖突的中間編輯,本編輯不能撤銷。
反垃圾檢查。
不要
加入這個!
[[image:Shindiglogo.jpg|right]] '''Shindig,'''是一個參考容器,可以運行在任何網(wǎng)站上,用來支持[[OpenSocial]]的社交應(yīng)用。它最開始是由[[Google]]在2007年開發(fā)的,作為[[iGoogle]]的[[Gadget]]容器,然后在2007年12月成為[[Apache]]的一個開源項目。Shindig的主要目的就是為那些希望使用支持OpenSocial規(guī)范軟件的社交網(wǎng)站提供基礎(chǔ)設(shè)施,使得社交應(yīng)用的開發(fā)者不用去關(guān)心平臺的轉(zhuǎn)換問題。目前,很多社交網(wǎng)站都是基于Shindig實現(xiàn)自己的OpenSocial功能。Shindig的另一個目標是多語言實現(xiàn),目前Shindig有[[Java]]和[[PHP]]兩個版本。Shindig的最新發(fā)布版本是 2.0.1,實現(xiàn)了OpenSocial 1.1的規(guī)范。 == Shindig概況 == *'''軟件語言:''' 英語 *'''軟件類別:''' 國外軟件/[[SNS]] *'''開發(fā)語言:''' Java/PHP *'''授權(quán)協(xié)議:''' [[開源]] *'''運行平臺:''' [[Tomcat]]+[[JDK]]/Apache+PHP *'''官方首頁:''' http://shindig.apache.org/index.html *'''軟件下載:''' [http://shindig.apache.org/download/index.html 下載地址] == Shindig功能介紹 == '''Shindig 的主要組件:''' *Gadget Container JavaScript(Gadget 容器,[[JavaScript]] 類庫):提供諸如 [[UI]] 展現(xiàn)、安全、交互、特性擴展等相關(guān)的功能。 *Gadget Rendering Server(展現(xiàn) Gadget 的[[服務(wù)器]]):負責解析 Gadget XML,轉(zhuǎn)換成瀏覽器使用的 HTML 和 JavaScript。 *OpenSocial Container JavaScript(OpenSocial 容器的 JavaScript 類庫):基于 Gadget 容器的 JavaScript 類庫之上,位于客戶端的 OpenSocial 容器,提供 OpenSocial 相關(guān)的功能,例如存取 People、Activity、AppData 等相關(guān)的社交數(shù)據(jù)。 *OpenSocial Data Server(OpenSocial 數(shù)據(jù)服務(wù)器):提供了特定于某個容器的服務(wù)器端的接口,包括基于 [[Rest]]/[[RPC]] 協(xié)議的 Services,用于存取 People、Activity、AppData 等相關(guān)的社交數(shù)據(jù),而且提供了清楚的擴展點,其他網(wǎng)站都可以據(jù)此實現(xiàn)自己的服務(wù) '''Shindig服務(wù)器端組件構(gòu)成圖:''' java版: [[image:Shindigjava.jpg|Shindig java服務(wù)器端容器的組件]] php版: [[image:Shindigphp.jpg|Shindig php服務(wù)器端容器的組件]] Gadget 由 [[XML]] 和其所使用的特性 [[JavaScript]] 類庫構(gòu)成,默認的 Gadget 容器會將 Gadget 放在一個 iframe 里面來展現(xiàn)。當 Gadget 容器準備 Render 一個 Gadget 時,首先會獲取該 Gadget 的 metadata 信息,進而通過對應(yīng)的信息組成 iframeUrl,并將該 [[URL]] 設(shè)置為 iframe 的 src,此時便會觸發(fā)服務(wù)器端名為“xml-to-html”的 servlet 即 Gadget Rendering Sevlet 負責處理這個請求并最終返回 [[HTML]] JsonRpcServlet 和 DataServiceServlet 負責處理 OpenSocial 相關(guān)的請求,DataServiceServlet 處理 Rest 請求,JsonRpcServlet 處理 RPC 請求,在后臺他們共享同樣的實現(xiàn)。OpenSocial Hanlder 負責處理 OpenSocial 相關(guān)的請求,具體由下面各個相關(guān)的 Service 實現(xiàn)。中間的 JsonDBOpenSocialService 則是一個實現(xiàn)了各個 Service 接口的具體實現(xiàn),以 Json 文件作為數(shù)據(jù)源。 Shindig 的項目基于 Maven 構(gòu)建,共有以下幾個子項目(基于 Java 版本的源碼): *shindig-common: 該項目主要提供了一些基本和公用的方法。 *shindig-gadgets: 該項目主要是 Gadget Render 的 Server 端實現(xiàn),包括解析XML,解析 Gadget 里面用到的特性,重寫內(nèi)容,返回 HTML 到客戶端等。 *shindig-social-api: 該項目主要是 OpenSocial 相關(guān)功能的 Server 端實現(xiàn),提供了 People,Activity,AppData 等的 Service 和 Handler。 *shindig-smaples: 該項目是一個用 JSON 實現(xiàn)了 OpenSocial 存取數(shù)據(jù)的示例。 *shindig-server: 該項目是整個項目的 Server 端配置,包括 [[web]].xml 等。整個項目構(gòu)建完成后會生成一個 war 包,作為一個 Web 應(yīng)用部署到[[服務(wù)器]]即可。 *shindig-features: 該項目與語言無關(guān),都是 Client 端的 JavaScript 庫,包括 Gadget 容器,OpenSocial 容器所用到的 JavaScript 類庫,以及一些用到的特性。 *shindig-extras: 該項目與語言無關(guān),可以看作是提供給開發(fā)者擴展 Shindig 的一個參考。Shindig 的整個項目是基于 Guice 框架的,[[Guice]] 是 Google 開發(fā)的一個輕量級的依賴注入框架。當用戶需要擴展 Shindig 實現(xiàn)自己的功能或特性時,可以與原有的 Shindig 完全隔離,開發(fā)自己的 Guice 模塊就好了,最后通過 Guice 的依賴注入做相應(yīng)的配置就可以。 '''Shindig客戶端流程:''' Shindig 的[[客戶端]]包括:Gadget 容器、OpenSocial 容器、[[JSON]]、Restful 容器和對 [[Caja]] 的支持。對應(yīng)的流程如圖所示: [[image:Shindigclient.jpg|Shindig客戶端流程]] '''Shindig 的服務(wù)端流程:''' Shindig 的服務(wù)器端流程主要分為兩個核心部分,一個是 Render Gadget,一個是處理 OpenSocial 相關(guān)的請求。Render Gadget 由 GadgetRenderingServlet 處理,如圖 5 所示:首先調(diào)用 doGet 方法,調(diào)用 Renderer 的 render 方法,通過 Process 解析出一個 Gadget 實例,而后調(diào)用具體的 HTMLRenderer 的 render 方法,核心的就是很多的 Rewriter,通過對 Gadget 里面的內(nèi)容進行重寫來生成 [[HTML]]。 *PipelineDataGadgetRewriter: 如果 Gadget 里面使用了 data-pipelining 的特性,則會調(diào)用該 rewriter 生成容器所需要的數(shù)據(jù)。 *TemplateRewriter: 如果 Gadget 里面用到了 template 的特性,則會用真實的數(shù)據(jù)替換 template 里面對應(yīng)的鍵值。 *ProxyingContentRewriter:如果 Gadget 里面請求的內(nèi)容需要通過 proxy 才能取得,通過該 rewriter 則會強制 Gadget 的請求必須經(jīng)過代理。 *CajaContentRewriter:Caja 是 Google 發(fā)起的一個項目,旨在制訂一個 JavaScript 語言的子集和最佳編程指導方針,約束 JavaScript 程序員編寫的代碼,符合一個更加安全,更加合理的 JS 代碼。如果 Gadget 里面聲明了 Caja 特性,則需要通過這個 rewriter 根據(jù) Caja 的要求重寫 Gadget 里面的內(nèi)容。 *RenderingGadgetRewriter :呈現(xiàn) Gadget 肯定會用到的一個 Rewriter,主要生成 HTML 的元素,根據(jù) Gadget 聲明的特性一一注入所需的 JavaScript 文件。 '''Gadget容器組件圖:''' [[image:Shindiggadget.jpg|'''Gadget容器組件圖]] *shindig.Container 作為核心的容器,提供了創(chuàng)建 Gadget,添加 Gadget 及呈現(xiàn) Gadget 的方法。 *shindig.GadgetServices 提供了設(shè)置 Gadget 的高度、標題、用戶參數(shù)設(shè)置等服務(wù)。 *shindig.LayoutManager 提供了獲取 Gadget 的布局信息的接口。 *shindig.Gadget 作為核心的 Gadget 對象,提供了諸如 render、getContent 等方法。根據(jù) Gadget 的特性是否用到 pubsub-2 決定獲取的內(nèi)容,由此需要兩種類型的 Gadget。shindig.IfrGadget 和 shindig.OAAIfrGadget。如果不需要此特性,只需要簡單的返回一個 iframe 作為主內(nèi)容即可,如果需要 pubsub-2 則需要創(chuàng)建 openajaxhub 的容器。 *shindig.UserPrefStore 提供了保存用戶參數(shù)設(shè)置的接口 '''新的Gadget組件圖:''' [[image:Shindignewgadget.jpg|'''新的Gadget容器組件圖]] 新的 Gadget 容器相比 shindig-container 更加清晰,使用起來也更加簡單,只需要創(chuàng)建一個 gadget site,然后調(diào)用 navigateGadget 即可。在 shindig 發(fā)布的 2.0.1 版本中,新的 Gadget 容器使用起來還有幾個小 bug,如果您想使用最新的 Gadget 容器,請下載針對新的 Gadget 容器的 [[patch]]。新的 Gadget 容器提供了很好的分層結(jié)構(gòu)和擴展性,用戶可以參考該容器實現(xiàn)自己的 Gadget 容器。 == Shindig使用手冊 == == 相關(guān)條目 == *[[SNS]] *[[ISocial]] *[[Jcow]] *[[PeopleAggregator]] == 參考來源 == [http://shindig.apache.org/overview.html 參考來源1] [http://www.ibm.com/developerworks/cn/web/1104_sunqy_opensocial2/index.html 參考來源2] [[category:SNS]] [[category:國外程序]] [[category:Java程序]] [[category:PHP程序]] [[category:開源軟件]]
摘要:
請注意,您對站長百科的所有貢獻都可能被其他貢獻者編輯,修改或刪除。如果您不希望您的文字被任意修改和再散布,請不要提交。
您同時也要向我們保證您所提交的內(nèi)容是您自己所作,或得自一個不受版權(quán)保護或相似自由的來源(參閱
Wordpress-mediawiki:版權(quán)
的細節(jié))。
未經(jīng)許可,請勿提交受版權(quán)保護的作品!
取消
編輯幫助
(在新窗口中打開)
取自“
http://kktzf.com.cn/wiki/Shindig
”