亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        移動瘦客戶端架構(gòu)在企業(yè)中的應(yīng)用研究

        2016-03-21 05:29:30王鵬飛
        計算機時代 2016年3期
        關(guān)鍵詞:移動應(yīng)用

        王鵬飛

        摘 要: 研究了移動應(yīng)用開發(fā)架構(gòu)和基于JSON-REST的移動客戶端平臺,以及連接后臺終端的相關(guān)Web服務(wù)應(yīng)用程序接口。為了減少企業(yè)中移動平臺應(yīng)用開發(fā)成本,通過重用已有的桌面或基于Web的應(yīng)用程序后臺服務(wù),實現(xiàn)移動瘦客戶端服務(wù)架構(gòu),為開發(fā)多平臺移動應(yīng)用增強服務(wù)。在企業(yè)開發(fā)中,利用客戶端的JQuery Ajax實現(xiàn)從REST應(yīng)用程序接口中加載動態(tài)數(shù)據(jù),而用JSON(JavaScript對象符號)實現(xiàn)數(shù)據(jù)格式的傳輸。

        關(guān)鍵詞: 移動應(yīng)用; PhoneGap; 具象狀態(tài)傳輸協(xié)議; JSON

        中圖分類號:TP302.1 文獻標志碼:A 文章編號:1006-8228(2016)03-27-04

        Research and implementation of the application of mobile thin client architecture in enterprise

        Wang Pengfei

        (School of Economics and Management, Zhejiang Sci-Tech University, Hangzhou, Zhejiang 310018, China)

        Abstract: This paper discusses about mobile application development architecture and JSON-REST Web API used by mobile client to connect backend. To reduce the development cost of mobile applications, by reusing the backend services of existing desktop or Web-based applications and enhancing some services for developing multiplatform mobile application, the mobile thin client-server architecture is realized. JQuery Ajax is used as client side scripting to load dynamic data from rest API while JSON is used as data-transferring format.

        Key words: mobile application; PhoneGap; REST; JSON

        0 引言

        移動應(yīng)用是多層次的應(yīng)用,主要用于客戶端/服務(wù)器架構(gòu)的開發(fā)。目前開發(fā)現(xiàn)有桌面移動應(yīng)用或Web應(yīng)用程序通常面臨諸多挑戰(zhàn):

        ⑴ 選擇合適的體系結(jié)構(gòu);

        ⑵ 考慮應(yīng)用程序開發(fā)過程、開發(fā)成本、整體性能和運行速度;

        ⑶ 考慮重用現(xiàn)有的Web服務(wù)并且集成移動客戶端到應(yīng)用層;

        ⑷ 設(shè)計移動客戶端表現(xiàn)層;

        ⑸ 滿足終端用戶的需求及兼容性問題。

        移動用戶希望通過智能手機來訪問數(shù)據(jù),并獲得網(wǎng)絡(luò)上安全的服務(wù),同時,在任務(wù)執(zhí)行時可以監(jiān)控資源,并將提示反饋到手機上。所以,手機的移動性、適用性,與Web應(yīng)用程序有相同的功能等是關(guān)鍵。

        1 移動應(yīng)用開發(fā)平臺概述

        移動應(yīng)用軟件開發(fā)主要用于小型平板和特殊用途的移動設(shè)備開發(fā)。移動Web服務(wù)用于服務(wù)請求程序和服務(wù)供應(yīng)商之間的通信。開發(fā)任何移動應(yīng)用都可以選擇三種架構(gòu)中其中的一個:Native apps, Mobile Webapps和Hybridapps。它們每個結(jié)構(gòu)都有各自的特點,選擇合適的開發(fā)結(jié)構(gòu)取決于需求和應(yīng)用程序以及軟件服務(wù)供應(yīng)商。

        1.1 Native App

        目前市場上移動設(shè)備從低端手持到高端移動設(shè)備都有各自的操作系統(tǒng),每種不同類型的操作系統(tǒng)如安卓、Symbian、IOS和微軟等其編程語言不同。Android應(yīng)用程序運行基于Android SDK和API,僅適用于Android設(shè)備,不支持任何其他操作系統(tǒng)。所有的本機應(yīng)用程序從設(shè)備供應(yīng)商處下載并安裝在本機上。因此升級之前版本的應(yīng)用程序也增加了復(fù)雜性。

        1.2 Mobile WebApp

        Mobile WebApp是運行在移動網(wǎng)絡(luò)瀏覽器的Web應(yīng)用程序,可以用于實現(xiàn)延長現(xiàn)有的獨立應(yīng)用程序的功能。相比Native App,WebApp更易維護,開發(fā)成本更低。移動客戶端UI、表示層和后端應(yīng)用層可以通過移動Web服務(wù)相互之間進行通信。移動應(yīng)用程序不提供完全的類似攝像頭和全球衛(wèi)星定位(GPS)的設(shè)備訪問功能。因此可廣泛使用HTML5進行Web應(yīng)用程序開發(fā),以此提升服務(wù)和功能更新,而不會影響移動Web應(yīng)用程序發(fā)送請求并通過HTTP進行通信和服務(wù)器執(zhí)行,并將響應(yīng)發(fā)送到移動瀏覽器上。

        1.3 Hybrid WebApp

        Hybrid WebApp可用于復(fù)雜的應(yīng)用程序開發(fā),是移動網(wǎng)絡(luò)應(yīng)用和本機應(yīng)用混合開發(fā)模式的結(jié)合。它提供移動Web應(yīng)用程序訪問設(shè)備的功能,如攝像頭,GPS,并支持跨平臺和安裝在應(yīng)用程序上,但相比較以上兩種結(jié)構(gòu),顯得更復(fù)雜和難以維護。圖1是三種移動APP技術(shù)比較[1]。

        綜上,NativeApp和WebApp有各自的優(yōu)劣勢??偨Y(jié)如下。

        ⑴ NativeAPP運行速度更快,更省帶寬,支持離線操作,訪問本地資源和去中心化。

        ⑵ NativeAPP偏交互,而WebApp偏瀏覽查詢。且NativeAPP部署和學習成本低,跨平臺和終端操作。例如機票查詢和航班動態(tài),主要采用NativeAPP開發(fā),可以保證速度和穩(wěn)定性,因為用戶對執(zhí)行效率要求更高。

        ⑶ 硬件訪問偏NativeAPP,信息展示偏WebApp。例如手機各種傳感器可以使用NativeAPP;而機場登機口導(dǎo)航、機場商家地圖、服務(wù)以及酒店查詢等功能,采用內(nèi)嵌WebApp方式來實現(xiàn)。

        ⑷ 核心功能使用NativeAPP,輔助服務(wù)采用WebApp。HTML5在體驗上接近NativeAPP,開發(fā)上具備更多的靈活性和跨平臺性。

        目前NativeAPP仍然是高端應(yīng)用開發(fā)的首選。App除了能做Web能做的事即C/S+B/S兩層架構(gòu)外,還支持離線應(yīng)用,WebKit或者HTML5引入了數(shù)據(jù)庫機制允許離線操作,因此未來兩者可能會進行融合,部署一起開發(fā)[2]。

        2 面向企業(yè)應(yīng)用的移動平臺開發(fā)特點分析

        2.1 移動瘦客戶端架構(gòu)

        移動應(yīng)用包括用戶界面,表示層和業(yè)務(wù)層、數(shù)據(jù)層與移動Web服務(wù)層之間的通信。通常移動客戶端是基于客戶端和胖客戶端的兩種類型Web應(yīng)用。瘦客戶端體系結(jié)構(gòu)比較容易實現(xiàn),它可以集成后臺服務(wù),并支持后臺服務(wù)集成的應(yīng)用程序。同時胖客戶端具有一些優(yōu)勢,因為胖客戶端由安裝在復(fù)雜移動設(shè)備上的一層或兩層組成,難以維護?;谑菘蛻舳说腤eb主要有如下特點:

        ⑴ 表示層位于移動設(shè)備上,而業(yè)務(wù)層和數(shù)據(jù)層在服務(wù)器端;

        ⑵ 易于開發(fā)和維護;

        ⑶ 在服務(wù)器端進行安全設(shè)置,允許經(jīng)授權(quán)的用戶和域訪問;

        ⑷ 發(fā)送請求到REST/ JSON API,應(yīng)用程序?qū)⒄埱筠D(zhuǎn)發(fā)給Web服務(wù)并進行處理,同時將響應(yīng)反饋到設(shè)備上;

        ⑸ 客戶端腳本實現(xiàn)動態(tài)內(nèi)容加載。

        移動Web應(yīng)用層如圖2所示。

        2.2 主流移動平臺特點分析

        Hybrid App兼具了Native App與Web App兩者諸多優(yōu)點。在開發(fā)層面主要以JS結(jié)合Native相互調(diào)用為主,實現(xiàn)了“一次開發(fā),多處運行”的機制,成為真正適合跨平臺的開發(fā)。經(jīng)過眾多開發(fā)者與成功案例證明Hybrid App兼具Native App的良好用戶體驗的優(yōu)勢,也兼具Web App使用HTML5跨平臺開發(fā)的低成本優(yōu)勢。

        Hybrid App開發(fā),現(xiàn)階段主流的平臺包括PhoneGap,AppCan,appMobi,Titanium等,它們基于webkit開源內(nèi)核,使用HTML5標準開發(fā),適配機型簡單,支持開發(fā)者自定義插件,并能很好的應(yīng)用于商業(yè)、教育、娛樂等行業(yè),成為移動開發(fā)者的首選開發(fā)平臺。表1闡述了當前主流移動平臺特點分析。

        3 移動Web應(yīng)用開發(fā)過程

        SOAP、REST是廣泛應(yīng)用于網(wǎng)絡(luò)通信的Web應(yīng)用程序協(xié)議。大多數(shù)開發(fā)商開發(fā)的應(yīng)用程序是基于Web服務(wù)的SOAP/XML,其目的主要是考慮安全性,但是他們不支持移動應(yīng)用開發(fā)。而且本文闡述的實施移動應(yīng)用開發(fā)是基于API的REST/JSON。圖3是移動Web應(yīng)用程序的傳輸過程。

        Rest被廣泛用于網(wǎng)絡(luò)資源的訪問。它是輕量級的,容易實現(xiàn)Get、Put、Post、Delete等操作,而且也容易進行調(diào)試,可以提高應(yīng)用程序的性能。在圖3中,REST API應(yīng)用程序流是作為移動客戶端和后臺服務(wù)之間的接口。

        具體實現(xiàn)過程是:客戶端通過URL向應(yīng)用層發(fā)送資源訪問請求,服務(wù)器接收請求進行驗證并反饋響應(yīng)。用戶通過Post和Put方法向服務(wù)器加載數(shù)據(jù),同時使用資源過濾器來進行安全性檢查。通過在服務(wù)器端設(shè)置域,來控制只允許訪問數(shù)據(jù)資源。大多數(shù)應(yīng)用程序都有類似跨站漏洞,腳本能克服大部分瀏覽器不支持不同域的調(diào)用。其被稱之為交叉的原始域,是在服務(wù)器端添加域名來獲得移動設(shè)備安全的響應(yīng),內(nèi)容包含允許訪問的請求類型信息[4]。

        3.1 移動前臺開發(fā)

        JQuery移動框架可以用于多種途徑,常被用作網(wǎng)站和移動應(yīng)用的用戶界面。易于開發(fā)并且可以運行在不同的操作系統(tǒng)上。它有如下優(yōu)點:

        ⑴ 觸摸優(yōu)化,讓用戶輕松瀏覽;

        ⑵ 減少HTTP請求,加速性能,支持多頁面訪問;

        ⑶ 優(yōu)化代碼,提高效率;

        ⑷ 提供轉(zhuǎn)換。

        上面介紹的混合移動應(yīng)用程序支持jQuery Mobile框架,它是一種類似于Phone Gap的移動應(yīng)用,也是最常用的框架之一。

        JQuery Ajax用于客戶端腳本開發(fā),移動客戶端發(fā)送請求到后臺服務(wù),應(yīng)用程序接口執(zhí)行請求并響應(yīng)。通過Java腳本來實現(xiàn)將數(shù)據(jù)加載到移動設(shè)備。對于移動設(shè)備,JQuery Ajax用于優(yōu)化代碼和運行DOM內(nèi)容。Ajax調(diào)用動態(tài)加載數(shù)據(jù),而不需要刷新頁面。從而減少網(wǎng)絡(luò)的HTTP請求,提高了性能。JQuery Ajax使用URL訪問Web服務(wù)器和資源,以及有關(guān)響應(yīng)格式所需的信息并支持交叉原始域。因此JQuery可以請求訪問不同的數(shù)據(jù)格式,如XML,HTML,JSON等。

        3.2 JSON數(shù)據(jù)交換

        JSON作為數(shù)據(jù)交換格式發(fā)送移動客戶端消息到后臺服務(wù),大多數(shù)企業(yè)應(yīng)用比較復(fù)雜,需要頻繁地訪問應(yīng)用層和數(shù)據(jù)層之間的數(shù)據(jù)。為了開發(fā)高性能的移動應(yīng)用程序,速度被認為是用戶獲得快速訪問的主要因素。由于數(shù)據(jù)能快速的在網(wǎng)絡(luò)上進行編碼和解碼,所以手機客戶端可以輕松的使用JSON應(yīng)用程序接口。通過使用JSON數(shù)組,可以把數(shù)據(jù)作為有序集合和無序集合進行發(fā)送,而無序集為JSON對象。要通過網(wǎng)絡(luò)發(fā)送數(shù)據(jù),可以將數(shù)據(jù)轉(zhuǎn)換成字節(jié)這個被稱為序列化的過程,從字節(jié)轉(zhuǎn)換為數(shù)據(jù)的過程被稱為反序列化。它有如下特點[5]:

        ⑴ 相比XML,JSON是作為輕量級的數(shù)據(jù)交換格式;

        ⑵ 易于讀寫,減少網(wǎng)絡(luò)負載和帶寬;

        ⑶ 提供解析、編碼和解碼技術(shù);

        ⑷ 最廣泛的應(yīng)用于移動設(shè)備。

        4 結(jié)束語

        本文闡述通過企業(yè)開發(fā)應(yīng)用多平臺的移動框架,允許用戶進行安全方便的設(shè)備數(shù)據(jù)的訪問。在移動瘦客戶端架構(gòu)開發(fā)中,討論用于開發(fā)當前移動應(yīng)用的平臺體系和提高現(xiàn)有系統(tǒng)功能的方法。實現(xiàn)移動應(yīng)用接口的擴展和Web應(yīng)用程序功能服務(wù)的兼容性。相比于SOAP/XML開發(fā)模式,REST/JSON應(yīng)用程序接口更適合當前的移動開發(fā)體系,因此成為未來企業(yè)移動瘦客戶端平臺開發(fā)的首選。

        參考文獻(References):

        [1] 張頎寅,鄭燕林.大學生移動學習需求調(diào)查與分析[J]. 軟件導(dǎo)

        刊(教育技術(shù)),2011.5:76-78

        [2] 宋恩梅,袁琳.移動的書海:國內(nèi)移動圖書館現(xiàn)狀及發(fā)展趨勢[J].

        中國圖書館學報,2010.5:27-29

        [3] 羅志平,蘇錦鈿,李榮華,張星明,肖哲.基于WAP 2.0的校園

        門戶設(shè)計與實現(xiàn)[J].計算機應(yīng)用研究,2009.2:23-27

        [4] 錢能,王華,趙志斌,蔡冬玲.基于3G移動應(yīng)用開發(fā)人才培養(yǎng)

        的課程體系構(gòu)建與研究[J].計算機光盤軟件與應(yīng)用,2013.16:36-40

        [5] Gengui Zhou,Mitsuo Gen.Genetic Algorithm Approach on

        Multi-Criteria Minimum Spanning Tree Problem[J]. European Journal of Operational Research,1999.4(1):141-152

        猜你喜歡
        移動應(yīng)用
        T學校公共設(shè)施便捷報修平臺的移動應(yīng)用研究
        東方教育(2016年18期)2017-01-16 16:42:44
        云計算環(huán)境下的微課移動云平臺設(shè)計
        大數(shù)據(jù)時代下免費手機軟件盈利模式探討
        基于APICloud的“校園健身達人”APP設(shè)計與實現(xiàn)
        基于Android平臺的教學應(yīng)用系統(tǒng)研究
        基于PhoneGap技術(shù)的跨平臺移動應(yīng)用開發(fā)探討
        智能手機移動應(yīng)用交互框架研究
        戲劇之家(2016年11期)2016-06-22 13:24:35
        基于iOS的校園電子地圖的研究與實現(xiàn)
        移動天氣系統(tǒng)UI設(shè)計
        移動互聯(lián)網(wǎng)在防汛工作中的應(yīng)用
        科技視界(2016年4期)2016-02-22 08:53:41
        乱码av麻豆丝袜熟女系列| 麻豆视频黄片在线免费观看| 无遮挡边吃摸边吃奶边做| 无码粉嫩虎白一线天在线观看| aaa级久久久精品无码片| 久久av高潮av无码av喷吹| 狠狠躁天天躁无码中文字幕图| 亚洲aⅴ无码日韩av无码网站| 青青草极品视频在线播放| 亚洲女同一区二区久久| 国产精品一区区三区六区t区| 亚洲成在人线天堂网站| 国产精品成人av一区二区三区| 日韩人妻精品视频一区二区三区 | 一本大道久久a久久综合精品| 国产内射一级一片高清内射视频| 国产亚洲精品90在线视频| 午夜国产视频一区二区三区| 青青手机在线观看视频| 伦伦影院午夜理论片| 精品无码久久久久久久久| 含紧一点h边做边走动免费视频| 欧美一区二区三区视频在线观看| 一本色道无码道dvd在线观看| 色 综合 欧美 亚洲 国产| 久久久av精品波多野结衣| a级毛片在线观看| 国产欧美日韩图片一区二区| 久久99国产亚洲高清观看首页| 国产在线一区二区视频免费观看| 精品国产麻豆免费人成网站| 国产在线a免费观看不卡| 久久精品亚洲热综合一本色婷婷| 国精产品一区一区三区有限在线 | 亚洲天堂精品成人影院| 欧美日韩在线视频| 国产精品久久久久高潮| 亚洲va中文字幕无码| 中文字幕成人精品久久不卡| 亚洲香蕉av一区二区蜜桃| 久久精品亚洲熟女九色|