<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于腳本的客戶端軟件結(jié)構(gòu)化存儲(chǔ)技術(shù)研究

          基于腳本的客戶端軟件結(jié)構(gòu)化存儲(chǔ)技術(shù)研究

          作者: 時(shí)間:2012-11-12 來(lái)源:網(wǎng)絡(luò) 收藏

          摘要:為了更方便地開(kāi)發(fā)webwidget和wehapp等應(yīng)用程序,文中提出一種XML (HTML)描述并輔之以JavaSeript之類的,構(gòu)造出可以離線應(yīng)用的程序。這是WPF、wehOS等的基礎(chǔ)思想,考慮到安全性,這類不可能允許應(yīng)用直接操作本地文件系統(tǒng),都是通過(guò)一層抽象,以滿足一般性的應(yīng)用開(kāi)發(fā)為目標(biāo)。文中就是通過(guò)分析HTML5標(biāo)準(zhǔn),從而對(duì)描述的提供統(tǒng)一的解決方案。HTML5關(guān)于數(shù)據(jù)庫(kù)的接口標(biāo)準(zhǔn)目前還只是在部分瀏覽器中得以實(shí)現(xiàn),但是隨著發(fā)展,會(huì)有更多的瀏覽器加入這種標(biāo)準(zhǔn),在將來(lái)瀏覽器的web應(yīng)用開(kāi)發(fā)都可以采取HTML5標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)接口。

          本文引用地址:http://www.ex-cimer.com/article/148256.htm

          關(guān)鍵詞:瀏覽器;HTML5;;離線應(yīng)用;數(shù)據(jù)庫(kù)

          0 引 言

          SaaS是Software-as-a-service(即服務(wù))的簡(jiǎn)稱,是隨著互聯(lián)網(wǎng)的發(fā)展和應(yīng)用的成熟,在21世紀(jì)開(kāi)始興起的一種完全創(chuàng)新的軟件應(yīng)用模式。

          它與“on-demand software”(按需軟件),the applicationservice provider(ASP,應(yīng)用服務(wù)提供商),hosted software(托管軟件)具有相似的含義。它是一種通過(guò)lntenet提供軟件的模式,廠商將應(yīng)用軟件服務(wù),按定購(gòu)的服務(wù)多少和時(shí)間長(zhǎng)短向廠商支付費(fèi)用,并通過(guò)互聯(lián)網(wǎng)獲得廠商提供的服務(wù)。

          用戶不用再購(gòu)買軟件,而改用向提供商租用基于web的軟件,來(lái)管理企業(yè)經(jīng)營(yíng)活動(dòng),且無(wú)需對(duì)軟件進(jìn)行維護(hù),服務(wù)提供商會(huì)全權(quán)管理和維護(hù)軟件,軟件廠商在向客戶提供互聯(lián)網(wǎng)應(yīng)用的同時(shí),也提供軟件的離線操作和本地?cái)?shù)據(jù),讓用戶隨時(shí)隨地都可以使用其定購(gòu)的軟件和服務(wù)。

          對(duì)于許多小型企業(yè)來(lái)說(shuō),SaaS是采用先進(jìn)技術(shù)的最好途徑,它消除了企業(yè)購(gòu)買、構(gòu)建和維護(hù)基礎(chǔ)設(shè)施和應(yīng)用程序的需要。

          在這種模式下,客戶不再像傳統(tǒng)模式那樣花費(fèi)大量投資用于硬件、軟件、人力,而只需要支出一定的租賃服務(wù)費(fèi)用,通過(guò)互聯(lián)網(wǎng)便可以享受到相應(yīng)的硬件、軟件和維護(hù)服務(wù),享有軟件使用權(quán)和不斷升級(jí),這是網(wǎng)絡(luò)應(yīng)用最具效益的營(yíng)運(yùn)模式。

          1 存儲(chǔ)

          為了本地存儲(chǔ),這里先來(lái)回答兩個(gè)基本問(wèn)題。

          什么是存儲(chǔ)?

          客戶端存儲(chǔ)是相對(duì)服務(wù)器端存儲(chǔ)而言的,主要是指在web應(yīng)用當(dāng)中原本存儲(chǔ)于服務(wù)器中的數(shù)據(jù)現(xiàn)在存儲(chǔ)在本地(browser)了,它帶來(lái)的直接好處就是:支持該技術(shù)的web應(yīng)用不用連接Intemet就可以很好地運(yùn)行。

          為什么需要客戶端存儲(chǔ)?

          它可以緩解高峰期服務(wù)器端查詢的壓力,也可以省下不少帶寬,查詢速度快,它也使離線應(yīng)用開(kāi)發(fā)成為可能。但是同時(shí),它也存在著一些問(wèn)題,比如數(shù)據(jù)的保密性如何實(shí)現(xiàn),如何防止數(shù)據(jù)被攻擊。

          1.1 2種客戶端存儲(chǔ)技術(shù)的實(shí)現(xiàn)方式

          (1)以瀏覽器插件的形式存在(如google gears,mi—crosoft silverlight)。

          (2)在瀏覽器開(kāi)發(fā)的過(guò)程中就加入了該特性(刪I5的解決方案)。

          1.2 當(dāng)前瀏覽器的主要數(shù)據(jù)存儲(chǔ)方式

          除了通用的rookies外,還有:

          1)在intemet explorer下,可以使用UserData來(lái)存儲(chǔ);

          2)在firefox下,可以通過(guò)sessionStorage來(lái)存儲(chǔ);

          3)safari可以通過(guò)Database Storage來(lái)存儲(chǔ);

          4)opera可以通過(guò)widgets來(lái)實(shí)現(xiàn)。不支持HTML5結(jié)構(gòu)化存儲(chǔ),有一套自己的實(shí)現(xiàn)方法。

          可見(jiàn),目前實(shí)現(xiàn)本地?cái)?shù)據(jù)存儲(chǔ)的標(biāo)準(zhǔn)并未統(tǒng)一。

          以下對(duì)這些存儲(chǔ)方式做簡(jiǎn)單介紹,之后重點(diǎn)分析HTML5的實(shí)現(xiàn)標(biāo)準(zhǔn)。

          一直以來(lái)瀏覽器依靠插件技術(shù)實(shí)現(xiàn)客戶端存儲(chǔ),因?yàn)镠TTP cookies在結(jié)構(gòu)化方面有些限制(只有4k),所以這些年其他技術(shù)有所發(fā)展,它們是:

          (1)userData:僅在IE5.5及以后的版本中有使用。

          userData的存儲(chǔ)機(jī)制:將要保存的數(shù)據(jù)以“健值對(duì)(健作為屬性,值為屬性的值)”的形式保存在XML文檔中。userData行為提供了一個(gè)比Cookie更具有動(dòng)態(tài)性和更大容量的數(shù)據(jù)結(jié)構(gòu)。每頁(yè)的UserData存儲(chǔ)區(qū)數(shù)據(jù)大小可以達(dá)到64 kb,每個(gè)域名可以達(dá)到640 kb-2j。

          userData行為通過(guò)sessions為每個(gè)對(duì)象分配User—Data存儲(chǔ)區(qū)。使用save和load方法將UserData存儲(chǔ)區(qū)數(shù)據(jù)保存在緩存(cache)中。一旦UserData存儲(chǔ)區(qū)保存以后,即使IE瀏覽器關(guān)閉或者刷新了,下一次進(jìn)入該頁(yè)面,數(shù)據(jù)也能夠重新載入而不會(huì)丟失,除非你人為刪除或者用設(shè)置了該數(shù)據(jù)的失效期。

          userData使用前必須在行內(nèi)或者文檔的HEA1)部分宣告如下樣式:

          STYLE>.userData{behavior:url(#default#userdata);/ST YLE >

          或者使用綁定:

          object.style.behavior: “ (’#default#userData’)”

          object.a(chǎn)d~ vior(“#default userData”)windowXP系統(tǒng)下,數(shù)據(jù)文件保存在:

          C:\DocumentandSettings\(USelT1.a(chǎn)llle)\ApphcationData\Microsoft\IE\UserData\,保存格式為xml。

          (2)本地共享對(duì)象(Local Shared Object):在有Adobe Flash Player 6及更新版本作為插件的瀏覽器中使用。主要用在ActionScript中。

          (3)Google Ge.frs:.一個(gè)基于Firefox和IE的插件,由Google公司開(kāi)發(fā)維護(hù),主要用于離線應(yīng)用程序,如離線搜索。要使用它,必須先安裝相應(yīng)插件。Gears還具有一些特性:

          a.一個(gè)本地服務(wù)器,用以在本地緩存和提供應(yīng)用程序資源(HTⅦ ,JavaScript,圖片等)。無(wú)需連接服務(wù)器即可訪問(wèn)這些資源。

          b.?dāng)?shù)據(jù)庫(kù),在瀏覽器內(nèi)部保存和訪問(wèn)數(shù)據(jù)。

          c.工作人員線程池,通過(guò)在后臺(tái)執(zhí)行費(fèi)時(shí)的操作使應(yīng)用程序響應(yīng)更加迅速。

          d.HttpRequest應(yīng)用程序接El,實(shí)現(xiàn)了W3C XMLHttpRequest規(guī)范的一個(gè)子集。

          e.一個(gè)Geolocation應(yīng)用程序接口,使web應(yīng)用程序能夠獲得用戶的地理位置E3』。

          2 HTML 5結(jié)構(gòu)化客戶端存儲(chǔ)

          為了適合現(xiàn)代及未來(lái)的web技術(shù),解決這種混亂局面,創(chuàng)造一個(gè)廣泛的可接受的標(biāo)準(zhǔn),互聯(lián)網(wǎng)超文本應(yīng)用技術(shù)工作組(WHATWG)及W3C HTML工作組開(kāi)發(fā)了一種良好的客戶端結(jié)構(gòu)化存儲(chǔ)解決方案。它是、v0rld Wide Web核心語(yǔ)言HTML5未來(lái)主要修訂版的組成部分。HTML5第一版公共工作草案于2008.1.22發(fā)布。但是這項(xiàng)工作2004年就已經(jīng)開(kāi)始,當(dāng)時(shí)取名為web應(yīng)用1.0,然后在2007.5得到更正,從那以后每天都有更新。HTMI~有很多變動(dòng)而且它大概要2012年才能被W3C Candidate Reeommendation state所接受,但是現(xiàn)在已經(jīng)有不少瀏覽器接受了它的一些標(biāo)準(zhǔn)。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();