連接器200,可W包括兩個(gè)簡(jiǎn)單連接器和一個(gè)綁定器。 實(shí)例URI208是兩層URI,具有第一HTTP層和第二XMPP層。在URI相關(guān)的事件后,例如, 點(diǎn)擊超鏈接或提交表單,URI208可W由瀏覽器接收。一旦識(shí)別為分層URI,瀏覽器(未描 畫(huà))就可W調(diào)用使用解除引用擴(kuò)展來(lái)對(duì)分層URI208解除引用的復(fù)雜連接器200。復(fù)雜連 接器200可W調(diào)用簡(jiǎn)單連接器202和206W及綁定器204的攔截器鏈。攔截器鏈調(diào)用可W 包括通過(guò)簡(jiǎn)單HTTP連接器202經(jīng)由HTTP請(qǐng)求將URI208傳遞到HTTP/XMPP綁定器204。 HTTP/XMPP綁定器204可W將XMPP節(jié)傳遞到簡(jiǎn)單XMPP連接器206,所述簡(jiǎn)單XMPP連接器與 綁定器204 -起可W經(jīng)由HTTP響應(yīng)獲取傳遞回到簡(jiǎn)單HTTP連接器202的HTTP信息。簡(jiǎn) 單HTTP連接器202可W通過(guò)將例如HTML文檔對(duì)象模型值OM)的有效負(fù)荷數(shù)據(jù)傳遞回到瀏 覽器來(lái)完成URI的復(fù)雜連接器200解除引用。
[0022] 連接器和綁定器可W利用用戶代理使用化vaScript來(lái)創(chuàng)建和寄存。所屬領(lǐng)域 的技術(shù)人員可W明白用于創(chuàng)建和寄存連接器和綁定器的技術(shù)且所述技術(shù)可W單獨(dú)地或結(jié) 合其它已知技術(shù)來(lái)使用。例如,一個(gè)化vaScript片段可W包含用于從例如瀏覽器的用 戶代理獲得例如圖4的連接器408的HTTP連接器的指令,例如varconnectorl=new HTTPConnector0。另一片段可W包含用于實(shí)施例如圖4的連接器414的第二連接器的指 令,即,用于通過(guò)用XMPP庫(kù)創(chuàng)建例如通過(guò)遠(yuǎn)程網(wǎng)絡(luò)服務(wù)器加載到瀏覽器中的新XMPP客戶端 來(lái)實(shí)施所述連接器的指令,例如varxmpp=newXMPP( "talk,google,com")。另一片段 可W包含用于用化vaScript創(chuàng)建用于XMPP的連接器的指令,例如varconnector2 =new Connector狂MP巧。又另一片段可W包含用于實(shí)施例如圖4的連接器418的第S連接器的 指令,即,用于通過(guò)從用戶代理創(chuàng)建WS來(lái)實(shí)施所述連接器的指令,例如varsocket=new websocket(…),W及用于通過(guò)用化vaScript創(chuàng)建用于WS的連接器來(lái)實(shí)施所述連接器的指 令,例如varconnectors=newConnector(socket)。再另一片段可W包含用于創(chuàng)建和實(shí) 施例如圖4的綁定器416的用于綁定第二連接器和第S連接器的第一綁定器的指令,例如 varbinder。=newBinder(connectors,connectors)。另一片段可W包含用于實(shí)施例如 圖4的第二復(fù)雜連接器412的包括第一綁定器的第四連接器的指令,例如varconnector。 =newConnectorAinderl2)。又另一片段可W包含用于創(chuàng)建和實(shí)施例如圖4的綁定器410 的第二綁定器的指令,例如varbinderOl=newBinder(connectorO,connector。),W及 用于創(chuàng)建和實(shí)施例如圖4的第一復(fù)雜連接器400的新連接器的指令,例如varconnectorOl =newConnectorAinderOl)。再另一片段可W包含用于將HTTP/XMPP連接器告知用戶代 理的指令,例如,Connectors,register( "ht1:p/xm卵",connectorOl)。因?yàn)檫B接器對(duì)象在 用戶代理與用戶化vaScript之間交換,所W連接器接口應(yīng)該由所有瀏覽器和所有網(wǎng)絡(luò)應(yīng) 用程序協(xié)定。出于此原因,標(biāo)準(zhǔn)化可能是所希望的。
[0023] 圖3是用于實(shí)例復(fù)雜連接器的實(shí)施矩陣300。如上文所陳述,簡(jiǎn)單連接器可W或者 用化vaScript或者用網(wǎng)絡(luò)瀏覽器實(shí)施。此外,每一復(fù)雜連接器可W包括用于對(duì)分層URI解 除引用的兩個(gè)或更多個(gè)簡(jiǎn)單連接器。矩陣300示出用于實(shí)施例如圖2的簡(jiǎn)單連接器202和 206的簡(jiǎn)單連接器P1和P2的組合和排列,所述簡(jiǎn)單連接器用于對(duì)例如圖2的分層URI208 的分層URI解除引用。如矩陣300中示出且如上文在圖2下所陳述,簡(jiǎn)單連接器可W或者 用化vaScript實(shí)施或者用瀏覽器實(shí)施。因此,P1與化vaScript行和瀏覽器行相關(guān)聯(lián),且 P2還與化vaScript列和瀏覽器列相關(guān)聯(lián)。矩陣300的重疊方框示出針對(duì)給定行/列的P1/ P2組合。當(dāng)分層URI具有超過(guò)兩層,因此需要超過(guò)兩個(gè)用于解除引用的簡(jiǎn)單連接器時(shí),矩陣 300可W擴(kuò)張,從而導(dǎo)致在圖4下進(jìn)一步說(shuō)明的遞歸嵌套。當(dāng)簡(jiǎn)單連接器用化vaScript實(shí) 施時(shí),最終調(diào)用用瀏覽器實(shí)施的簡(jiǎn)單連接器可能必需對(duì)URI解除引用。
[0024] 圖4描繪用于使用化vaScript對(duì)在網(wǎng)絡(luò)瀏覽器中的分層URI解除引用的第一復(fù) 雜連接器400的另一實(shí)施例。圖4包含分層URI402,所述分層URI包含HTTP和XMPP層。 圖4假設(shè)所述瀏覽器不支持XMPP,并且還假設(shè)WS是用于XMPP層的底層傳輸協(xié)議。因此,對(duì) URI解除引用需要至少S個(gè)連接器。圖4包含對(duì)URI404解除引用的調(diào)用,例如在URI事件 后由網(wǎng)絡(luò)瀏覽器進(jìn)行的調(diào)用;URI解除引用擴(kuò)展406 ;簡(jiǎn)單HTTP連接器408,例如圖2的連接 器202 ;HTTP/XMPP綁定器410,例如圖2的綁定器204 ;W及第二復(fù)雜連接器412,使得第二 復(fù)雜連接器412遞歸嵌套在第一復(fù)雜連接器400內(nèi)。第二復(fù)雜連接器412包括簡(jiǎn)單XMPP連 接器414、XMPP/WS綁定器416化及簡(jiǎn)單WS連接器418。圖4假設(shè)所述瀏覽器(未描畫(huà))支 持HTTP和WS層找,但不支持XMPP。因此,第一復(fù)雜連接器400可W包括化vaScriptXMPP 連接器414、網(wǎng)絡(luò)瀏覽器WS連接器418化及HTTP連接器408。嵌套的復(fù)雜連接器因此可W 形成被URI解除引用擴(kuò)展406用來(lái)對(duì)分層URI402解除引用的遞歸嵌套式攔截器鏈。
[0025] 圖5是描述圖4的實(shí)施例的對(duì)分層URI解除引用的過(guò)程500的流程圖。在圖4的 框中提及的組件與圖4的相同組件相對(duì)應(yīng)。圖5的兩列示出為通過(guò)線501分隔開(kāi),其中第 一列中的框在例如圖1的用戶設(shè)備100的發(fā)送方設(shè)備處出現(xiàn),且第二列中的框在例如圖2 的服務(wù)器102的接收方設(shè)備處出現(xiàn)。過(guò)程400可W在402處WURI事件開(kāi)始,例如,點(diǎn)擊按 鈕、提交表單等,所述事件使得在發(fā)送用戶側(cè)上的瀏覽器試圖對(duì)分層HTTP/XMPP/WSURI解 除引用。因?yàn)閳D4假設(shè)瀏覽器不支持XMPP,所W在框404處,可W調(diào)用URI解除引用擴(kuò)展。 URI解除引用擴(kuò)展可W從例如圖2的連接器202的簡(jiǎn)單HTTP連接器、例如圖2的綁定器204 的HTTP/XMPP綁定器W及第二復(fù)雜XMPP/WS連接器(包括兩個(gè)簡(jiǎn)單連接器和一個(gè)綁定器) 動(dòng)態(tài)地構(gòu)成或?qū)嵗瘡?fù)雜HTTP/XMPP連接器,W基于分層URI中所包含的層形成攔截器鏈。 如所屬領(lǐng)域的技術(shù)人員將理解,不同的分層URI解除引用結(jié)構(gòu)可W基于基于本發(fā)明的URI 特定的協(xié)議找W不同方式動(dòng)態(tài)地構(gòu)造,如W下在圖5中說(shuō)明。URI解除引用擴(kuò)展可W通過(guò)框 406將例如表單等原始數(shù)據(jù)傳遞到在框408處的HTTP連接器。HTTP連接器可W通過(guò)框510 向在框512處的HTTP/XMPP綁定器發(fā)出HTTP請(qǐng)求,所述綁定器可W基于綁定器中所包含的 映射對(duì)HTTP/XMPP節(jié)進(jìn)行編碼。在框514處,通過(guò)HTTP/XMPP綁定器創(chuàng)建的HTTP/XMPP節(jié) 可W傳遞到框516的XMPP連接器,所述連接器可W基于綁定器中所包含的映射對(duì)XMPP節(jié) 進(jìn)行編碼。
[0026] 如在圖4下所陳述,XMPP大體上需要底層雙向通信協(xié)議。因此,盡管未明確地在 URI中陳述,但XMPP可W使用WS建立所需的雙向連接;其它實(shí)施例可W采用替代協(xié)議。因 此,在框518處,XMPP節(jié)可W通過(guò)XMPP連接器傳遞到框520的XMPP/WS綁定器,所述綁定器 在框522處向框524的WS連接器發(fā)送WS消息???24的WS連接器可W將在框526處的 WS消息傳遞到具有經(jīng)相對(duì)應(yīng)地構(gòu)造的URI解除引用擴(kuò)展的接收用戶。在接收WS消息后,框 528的XMPP/WS綁定器可W從WS消息獲取框430的XMPP節(jié)且將其發(fā)送到框532的XMPP連 接器。類(lèi)似地,XMPP連接器可W從框530的XMPP節(jié)獲取框534的HTTP/XMPP節(jié)且可W將 HTTP/XMPP節(jié)傳遞到框536的HTTP/XMPP綁定器。HTTP/XMPP綁定器可W將框538的HTTP 響應(yīng)發(fā)送到框540的HTTP連接器。HTTP連接器可W處理HTTP響應(yīng)且可W將框542的有效 負(fù)荷數(shù)據(jù)發(fā)送到框544的URI解除引用擴(kuò)展。在框546處,DOM可W基于有效負(fù)荷數(shù)據(jù)進(jìn) 行更新。
[0027] 圖6描繪用于使用化vaScript對(duì)在網(wǎng)絡(luò)瀏覽器中的分層URI解除引用的第一復(fù) 雜連接器500的再另一個(gè)實(shí)施例。圖6圖示用于基于URI特定的協(xié)議找W不同方式動(dòng)態(tài)地 構(gòu)造不同的分層URI解除引用架構(gòu)的系統(tǒng)和方法的實(shí)施例。圖6包含分層URI602,例如圖 4的分層URI402 ;對(duì)URI604解除引用的調(diào)用;URI解除引用擴(kuò)展606 ;簡(jiǎn)單連接器608,例 如圖