久久久久无码精品,四川省少妇一级毛片,老老熟妇xxxxhd,人妻无码少妇一区二区

淺談基于Pushlet推技術的網(wǎng)絡應用程序開發(fā)的研究

  • 相關推薦

淺談基于Pushlet推技術的網(wǎng)絡應用程序開發(fā)的研究

  【論文關鍵詞】:服務器推技術 瀏覽器 重載

    【論文摘要】:服務器推技術(pushlet)可將變化的數(shù)據(jù)主動地推送到客戶端的瀏覽器中,客戶端利用網(wǎng)頁開發(fā)技術將服務器傳送過來的數(shù)據(jù)直接更新到瀏覽器的網(wǎng)頁中,實現(xiàn)了網(wǎng)頁的局部更新,而不再需要重載頁面或重新別新Java小應用程序的全部內(nèi)容,達到了減少服務器的數(shù)據(jù)傳送負載,減少網(wǎng)絡資源消耗的目的。

  1、引言

    ”服務器推”( Pushlet)技術產(chǎn)生之前,人們通常采用”拉取”(Pull)的方式搜尋信息,比如利用網(wǎng)絡搜索引擎搜索信息。但是,這種方式經(jīng)常會使用戶陷人信息查詢結果的低效益和面對”信息垃圾”的尷尬局面。因此,人們迫切希望信息服務者能夠通過某種通知機制主動地提供信息,同樣信息服務者也非常迫切地希望能夠?qū)⑿畔⒓皶r、主動地發(fā)送到感興趣的用戶那里,而不需要用戶自己努力的尋找。

    Pushlet技術實質(zhì)上定義了一種信息服務框架,用戶根據(jù)這個框架可以開發(fā)自己的應用程序軟件。這種軟件的特點是可以根據(jù)用戶定義準則,自動搜集用戶最可能發(fā)生興趣的信息,然后適時地傳遞到訂閱的客戶端。

  2,”服務器推”( Pushlet)技術基本原理

    Pushlet采用JSP/Semlet技術,把數(shù)據(jù)直接從服務器的Java對象推到客戶端瀏覽器的動態(tài)HTML (HyperTextM ark2up Lan-guage)頁中,而不使用Applet或Active!插件。利用pushlet推技術,服務器可主動地更新客戶端的內(nèi)容。Pushlet技術框架如圖1一1所示。

    Pushlet是基于HTTP流實現(xiàn)的,與下載頁面之后關閉HTTP連接的做法不同,Pushlet將一直保持HTTP流連接,并通過此連接將新數(shù)據(jù)源源不斷地推送到客戶端o Pushlet的基本思想是:在客戶端網(wǎng)頁主框架中包含了控制層框架和表現(xiàn)層框架,利用HTTP技術,使控制層框架Framel與pushlet服務器保持一個HTTP流連接,接收來自服務器端的JavaScript代碼和數(shù)據(jù),利用JavaSc印t中包含的變化數(shù)據(jù)刷新表現(xiàn)層框架Frame2的內(nèi)容,這樣服務器即可將變化數(shù)據(jù)動態(tài)更新到客戶端網(wǎng)頁中。

  3. Pushlet推技術的優(yōu)勢

    在Java網(wǎng)絡應用程序中,采用pushlet技術實現(xiàn)服務器通知客戶端的策略,與采用輪詢、服務器調(diào)用和消息機制這三種策略相比具有以下優(yōu)勢:

    (1)采用Pushlet技術的網(wǎng)絡應用程序具有很強的通用性。

    (2)服務器與客戶端可以很好的實現(xiàn)同步,只要服務器發(fā)生變化,服務器都會將變化通知到客戶端。

    (3)服務器與客戶端的網(wǎng)絡冗余數(shù)據(jù)很少,服務器只將變化的數(shù)據(jù)’·推’。到客戶端,客戶端不需要重載整個網(wǎng)頁,降低了網(wǎng)絡資源的消耗。

    (4 ) Pushlet技術可以將服務器產(chǎn)生的數(shù)據(jù)直接集成到瀏覽器的動態(tài)網(wǎng)頁中,HTML和CSS(Cascading Style Sheet,層疊樣式表)都可以直接應用。

    ( 5 ) Pushlet的客戶端負擔小。

    (6)運用Pushlet技術的服務器是一種輕量級的服務器,不需要額外的服務器開發(fā)和維護。

    ( 7 ) Pushlet使用的協(xié)議簡單。

[1]    

淺談基于Pushlet推技術的網(wǎng)絡應用程序開發(fā)的研究

  4、應用程序的開發(fā)

    Pushlet框架實質(zhì)上是實現(xiàn)了一個信息交換的過程。因此基于此框架開發(fā)的應用程序一部分是用于生成信息和向框架發(fā)送信息,而另一部分則是用于接收信息,通常用瀏覽器來接收信息。因為發(fā)送者和接受者之間的使用的網(wǎng)絡協(xié)議是HTTP,可以用支持HTTP的任何一種編程或腳本語言開發(fā)。Pushlet的信息結構由服務器端的事件類定義,事件是一個帶有主題標識符的信息,根據(jù)不同的客戶端,事件在發(fā)送時需要采用不同的編碼技術,主要用到的編碼技術有JavaScript和XML}

  4.1開發(fā)發(fā)送者

    向Pushlet框架發(fā)送事件可以通過三種方式:直接使用發(fā)報機發(fā)送;遠程或本地使用Pushlet協(xié)議發(fā)送;使用事件源發(fā)送。

    1.直接使用發(fā)報機發(fā)送

    應用程序通過發(fā)報機的getInstance}方法得到發(fā)報機對象,然后采用多播、單播、廣播三種方法中的一種來播送事件,三種播送方法的調(diào)用代碼如下:

    Dispatcher.getInstance0.multicast0;//多播

    Dispatcher.getInstance0.unicasl0;//單播

    Dispatcher.getInstance0.broadcast0;//廣播

    而向Pushlet框架發(fā)送事件的其他兩個方法,實質(zhì)上最終使用的還是發(fā)報機的播送方法。但是要使用發(fā)報機,則要求調(diào)用發(fā)報機的類需要和發(fā)報機在同一個類加載器中。如果發(fā)送者在另一個網(wǎng)絡應用程序中,那么可以使用Pushlet協(xié)議或者將Pushlet框架中的所有Java文件打包成JAR文件放在系統(tǒng)類路徑中,而且這個JAR文件還可以當做Tomcat服務器中的一個共享類庫。

    2.使用事件源發(fā)送

    開發(fā)事件源需要創(chuàng)建一個事件源類,這個事件源類必須實現(xiàn)EventSource接口或擴展EventPullSource類。如果事件源類實現(xiàn)了EventSourc。接口,那么它需要實現(xiàn)把事件”推”到pushlet框架的方法;如果事件源類擴展了EventPullSource類,那么Pushlet框架會每隔一段時間自動地拉取事件源產(chǎn)生的事件。然后,把事件源類捆綁到TestEventPullSources類中,最后將這個事件源的類名存放到類路徑下的資源文件sources.properties中。將事件源捆綁到TestEventPullSources類中,并存放于資源文件中,目的是便于對事件源的創(chuàng)建和。當Pushlet.服務器被載人時,事件源管理器就會在類路徑中尋找資源文件,并將文件中的事件源載人激活。

    3.遠程或本地使用Pushlet協(xié)議發(fā)送

    Pushlet框架提供了一個發(fā)布事件的接口,即p_publish}方法,應用程序可以通過此方法發(fā)送事件。此外,Java客戶還可以通過pushletClient類發(fā)送。

  4.2開發(fā)接收者

    開發(fā)接收者需要明確接收者發(fā)出的pushlet請求以及接收者與服務器之間的交互方式,下面分別加以說明:

    l.Pushlet請求

    客戶要訂閱之前,首先必須向Pushlet服務器發(fā)送一個HTTP訂閱請求,這個請求至少包含兩個參數(shù):傳送事件采用的編碼技術和客戶訂閱的主題。

    (1)傳送事件采用的編碼技術有四種

    JavaScript的編碼技術用字符串’'js',表示;XML的編碼技術用字符串”xml',表示,這種編碼技術將事件組織成<<event>元素流;還有一種更嚴格的XML編碼技術用’'xml-strict"表示,它要求事件元素必須包含在完整的文檔中,這種編碼技術將事件組織成<event>元素包含在<pushlet>元素中;Java序列化對象的編碼技術用字符串’'ser"表示。

   [2]   

    (2)客戶訂閱的主題

    主題標識符是按照結構化的”主題樹”組織的。當客戶訂閱了某一層次的主題,那么就訂閱了屬于此主題之下的全部主題事件,例如定義了主題,那么將會收到所有主題事件。

    2.客戶端與服務器的交互方式

    客戶端與服務器的交互方式包括三種:”推”模式,”拉取”模式,”輪詢’‘模式。”推”模式是指在不需要訂閱客戶發(fā)出請求的情況下,服務器可以將變化的事件信息主動的’‘推”到訂閱客戶端。一般情況下,動態(tài)網(wǎng)頁客戶采用的是這種模式,但是在某些情況下,采用這種傳輸模式也許不能正常工作,比如說由于代理服務器、Servlet引擎或客戶端瀏覽器的原因,那么就需要采用”拉取”模式!袄 蹦J绞侵缚蛻舳藭扛粢欢螘r間會請求”拉取”服務器端產(chǎn)生的事件信息。盡管這種模式下,客戶端的請求比較多,但還是比輪詢模式的效率高。因此,為了更好的完成客戶端宇服務器端的信息傳遞,在采用以’‘推’‘模式為主要信息傳遞方式的同時.還應根據(jù)實際網(wǎng)絡情況.輔以”拉取“模式和”輪詢”模式。

  4.3在網(wǎng)絡應用程序中集成Pushlet

      1.集成Pushlet需要的文件

    (1) Pushlet的jar文件:WEB-INF/lib/pushlet.jar,包含T

Pushlet框架中所有的Java文件。

    (2) Pushlet的配置文件和資源文件:WEB -INF/classes/pushlet.properties和WEB-INF/classes/sources.propertieso pushlet.properties是用來對Pushlet進行設置的,sources.pibperties是用來存放事件源的。

    (3) Pushlet的客戶端類庫:lib/js-pushlet-client.js和lib/js-pushlet-net.html是為動態(tài)網(wǎng)頁客戶設計的;lib/ajax-pushlet-client.js是為Ajax客戶設計的。如果要使用Java小應用程序或網(wǎng)絡應用方面的Java客戶,還需要lib/pushletclient.jar文件。

    (4) Pushlet的網(wǎng)絡配置文件:WEB-INF/web.xml能使Push-let服務器集成到網(wǎng)絡應用中。

    2.部署Pushlet文件

    首先,把上面的文件放在網(wǎng)絡應用程序相同的路徑下。然后,檢查一下網(wǎng)絡應用程序中有沒有網(wǎng)絡配置文件,如果有的話,就必須把Pushlet網(wǎng)絡配置文件中的<servlet>和<servlet-mapping>這兩個元素復制到網(wǎng)絡應用程序中的網(wǎng)絡配置文件中,因為網(wǎng)絡應用程序中能有一個網(wǎng)絡配置文件。

    最后要對事件源進行修改。如果不需要Pushlet框架中提供的事件源,那么就在pushlei的配置文件中將事件源失效,即將sources.activate=tme改為sources.activate=falseo

  5.結束語

    綜上所述,服務器推技術的應用無論是對網(wǎng)絡用戶、網(wǎng)站員還是對Internet網(wǎng)自身的健康發(fā)展均有著積極的意義。運用服務器推技術進行的應用程序開發(fā),一方面可降低重復無關的網(wǎng)絡信息傳遞,另一方面瀏覽器可以定期檢查更新信息,自動下載緩存新內(nèi)容.使用戶可以離線瀏覽。

    [3] 

【淺談基于Pushlet推技術的網(wǎng)絡應用程序開發(fā)的研究】相關文章:

基于XML的智能應用程序的研究03-07

淺談基于知識的網(wǎng)格技術應用研究03-02

基于Linux的信息發(fā)布終端網(wǎng)絡通信技術的研究03-07

淺談基于網(wǎng)絡視頻點播的多校區(qū)錄像教學模式的研究03-08

基于網(wǎng)絡的遠程測控系統(tǒng)的研究03-07

基于探針與NetFlow的高速網(wǎng)絡流量監(jiān)測技術的研究與實現(xiàn)03-07

網(wǎng)絡安全技術淺談11-20

基于PROFIBUS開發(fā)的FTU及同步采樣方法的研究03-19

基于體驗經(jīng)濟的森林旅游產(chǎn)品開發(fā)研究03-21