• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于REST風格的Android系統(tǒng)Web服務的研究

      2012-11-17 14:59:44
      淮北職業(yè)技術學院學報 2012年3期
      關鍵詞:應用程序客戶端驅動

      馮 偉

      (淮北職業(yè)技術學院計算機科學技術系,安徽淮北 235000)

      基于REST風格的Android系統(tǒng)Web服務的研究

      馮 偉

      (淮北職業(yè)技術學院計算機科學技術系,安徽淮北 235000)

      隨著智能移動終端的發(fā)展,傳統(tǒng)的Web應用程序如何與移動設備進行數(shù)據(jù)交互已經成為主要研究方向,針對移動設備的特點,REST風格的Web服務與傳統(tǒng)的基于SOAP的Web服務相比較具有許多優(yōu)點,本文結合Android系統(tǒng)對REST風格的Web服務進行了研究和應用。

      Android;REST;XML;Web服務

      0 引言

      隨著電子商務、智能移動設備的快速興起,Android系統(tǒng)憑借其代碼開源、使用方便、靈活易用、價格低廉等諸多特點,在3G和無線網絡領域持續(xù)走紅。許多傳統(tǒng)的PC平臺上的Web應用也亟待向Android應用程序方向轉變。但在當前面向移動設備的應用中,各個Web服務所使用的語言和開發(fā)平臺各有不同,我們可以采用傳統(tǒng)的基于SOAP的Web服務來實現(xiàn)數(shù)據(jù)交互,但這種方式的服務針對不同的平臺定制自己的接口,隨著服務的不斷增加,接口的數(shù)量和類型也在急速的擴大,這將使Web服務的規(guī)模變得越來越龐大,對系統(tǒng)的性能產生很大的影響。而REST風格的Web服務則可以有效的避免定義接口的復雜性,只需要使用被廣泛使用的HTTP標準協(xié)議以及URI和XML規(guī)范進行即可實現(xiàn)通信,從而簡化了開發(fā)的復雜性,提高了軟件的開發(fā)效率。本文對REST風格服務的調用、XML文檔的解析進行研究,并在此基礎上設計和實現(xiàn)了Android平臺下的社區(qū)醫(yī)療衛(wèi)生系統(tǒng)的訪問。

      1 REST風格的Web服務

      REST(presentational State Transfer,表述性狀態(tài)轉移)的概念最早由美國計算機科學家Roy Fielding博士于2000年在其博士論文中提出的,隨后又由Leonard Richardson進行了進一步研究,并提出了基于REST服務的新的面向資源的設計方法。REST是基于Java的一種輕量級Web服務架構風格,它與傳統(tǒng)的SOAP相比,具有靈活性高、支持協(xié)議簡單、響應速度快等特點,越來越受到廣大開發(fā)人員的青睞。

      REST不是Web服務標準,也不是一種軟件架構,而是一種設計風格,是對Web體系結構設計原則的抽象和描述。REST通常基于HTTP,URI、XML以及HTML這些現(xiàn)有的廣泛流行的協(xié)議和標準之上的。服務資源有URI來指定;通過HTTP協(xié)議提供的Post、Get、Put和Delete方法實現(xiàn)對資源的創(chuàng)建、獲取、修改和刪除操作;通過XML或HTML來描述資源,也可以是任何其他的格式。REST風格的Web服務于傳統(tǒng)的基于SOAP的Web服務相比較具有以下區(qū)別:

      表1 REST風格的Web服務與基于SOAP的Web服務對比

      從表1可以看出,與傳統(tǒng)的基于SOAP的Web服務相比較,REST具有接口統(tǒng)一、面向資源、文檔格式豐富、通信協(xié)議簡單、冗余信息較少,可被搜索引擎直接搜索等優(yōu)點。目前,眾多大型網絡運營商均開始將REST API提供給用戶,我們只要通過在移動客戶端編程即可訪問這些API,從而方便的訪問網站所提供的服務。

      2 Android平臺及其架構

      Android是Google公司于2007年11月5日宣布的基于Linux平臺的開源手機操作系統(tǒng),該平臺由操作系統(tǒng)、中間件、用戶界面和應用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。其本身是一套軟件堆疊(Software Stack),自底向上分別包括Linux內核層、Android系統(tǒng)運行庫和其他庫層、應用框架層和應用程序層四部分。

      2.1 Linux內核層

      Android平臺使用Linux2.6版本的內核,實現(xiàn)安全管理、內存管理、進程管理、網絡協(xié)議和驅動模型等系統(tǒng)服務,Linux核心在硬件層和軟件層之間建立了一個抽象層,使得Android平臺的硬件細節(jié)對開發(fā)人員透明化。主要包括顯示驅動、Flash內存驅動、照相機驅動、音頻驅動、WIFI驅動、鍵盤驅動、藍牙驅動、Binder IPC驅動和能源管理。

      2.2 Android系統(tǒng)運行庫和其他庫層

      Android包含了一個可供不同組件調用的C/C++庫,這些功能模塊通過應用程序框架暴露給開發(fā)者。核心庫主要有:系統(tǒng)C庫、媒體庫(Media Libraries)、OpenGL ES、Free Type、嵌入式數(shù)據(jù)庫引擎SQLite、SSL、WebKit等

      2.3 應用框架層

      Android提供了開發(fā)應用程序的一系列框架。如:Activity Manager、Window Manager、Content Providers、View Providers、Package Manager、Telephony Manager、Resource Manager、Location Manager、Notification Manager。開發(fā)人員可以使用框架提供的API來實現(xiàn)自己的功能。

      2.4 應用程序層

      Android平臺搭載了一系列的核心應用程序,如E-mail客戶端、日歷、瀏覽器、電話薄等、這些應用程序都是Java語言開發(fā)的。

      3 構建基于REST風格的Web服務

      REST風格是對Web體系結構設計原則的抽象和描述,可以使用不同的技術實現(xiàn)這種設計理念,其中最為廣泛適用的是HTTP協(xié)議,它是一種面向資源的協(xié)議,不僅能夠利用該協(xié)議進行網絡資源唯一定位,而且還可以進行對資源的操作。這也是REST風格中最為重要的理念。

      3.1 HTTP資源請求

      在基于REST風格的Web服務中,一切資源都有其唯一的URI,每個資源對應唯一的資源標示符,通過HttpURLConnection連接器接口對資源進行訪問,使用HTTP的GET、POST、PUT和DELEIT 4個動作作為資源的請求方式。以下給出了基于REST風格的Web服務進行HTTP資源請求的參考代碼:

      以上代碼采用的是HTTP協(xié)議中的“PUT”請求方式,其他請求方式在這里就不做描述,均與此方式基本一致。要注意的是用以標識資源的URI最好是邏輯地址,而不是物理地址,如:http://www.store.com/product/12345,這樣可以保證對服務端的資源修改不影響客戶端的調用。

      3.2 XML文檔解析

      XML(Extensible Markup Language,即可擴展標記語言)是數(shù)據(jù)描述的標準通用標記語言,它不僅可以用于某平臺內部的數(shù)據(jù)描述,更適合于Internet上跨平臺數(shù)據(jù)交換,它具有系統(tǒng)無關性、平臺無關性、語言無關性等特點,為不同平臺間的數(shù)據(jù)交換提供了方便。Android平臺上開發(fā)的移動應用程序訪問Web服務也采用了XML的的數(shù)據(jù)描述。

      當Android客戶端向服務端申請服務后,服務端會返回響應的消息,響應的消息采用XML進行描述一個無結構的字符串序列,不能被客戶端直接識別,所以必須對接收的消息進行解析,使之轉換為滿足XML語法的結構化組件。在Android系統(tǒng)中,對XML文檔的解析可以使用DOM、XML pull和SAX三種技術。目前,Android SDK為XML文檔的讀寫提供了五個包:org.w3c.dom、org.xml、org.xmlpull.v1、javax.xml、javax.xml.parsers。以DOM技術為例,可以利用DOM工廠方法建立DOM解析器,并分層逐個獲取節(jié)點及節(jié)點,因篇幅限制,解析過程就不再詳述。

      4 結束語

      本文研究了基于REST風格的Android系統(tǒng)Web服務,并與傳統(tǒng)的基于SOAP的Web服務進行了比較,顯示出了REST風格的輕便性、靈活性和易使用等優(yōu)勢,并分析了Android平臺的架構對REST的支持、最后對如何在Android系統(tǒng)中構建REST風格的Web服務進行研究。通過使用REST風格的Web服務,統(tǒng)一了接口、提高了移動程序的開發(fā)效率、降低了開發(fā)成本,具有良好的應用前景。

      [1]黃錦川.REST風格服務在Android平臺上的研究與應用[D].成都:西南交通大學,2010.

      [2]李瑞花.基于Android的XML解析技術的分析[J].計算機時代,2010(12).

      [3]黃錦川,金煒東.基于Android平臺Web服務的應用研究[J].計算機應用,2010(11).

      [4]微軟公司.XML Web Service開發(fā)[M].北京:高等教育出版社,2004.

      TP393.09

      A

      1671-8275(2012)03-0087-02

      2012-04-12

      本文系安徽省自然科學基金項目“基于數(shù)據(jù)融合的動態(tài)目標檢測技術的研究”(項目編號:KJ2012Z354),淮北職業(yè)技術學院科研項目“基于.NET的SOA在社區(qū)醫(yī)療信息系統(tǒng)中的研究與應用”(項目編號:2012-A-25)階段性研究成果。

      馮偉(1978-),男,安徽蕭縣人,淮北職業(yè)技術學院計算機科學技術系講師,碩士。研究方向:軟件工程、.NET技術、數(shù)據(jù)庫應用技術。

      孟云玲

      猜你喜歡
      應用程序客戶端驅動
      基于模糊PI控制的驅動防滑仿真系統(tǒng)分析
      屈宏斌:未來五年,雙輪驅動,砥礪前行
      軌旁ATC系統(tǒng)門控柜接收/驅動板改造
      刪除Win10中自帶的應用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      縣級臺在突發(fā)事件報道中如何應用手機客戶端
      傳媒評論(2018年4期)2018-06-27 08:20:24
      孵化垂直頻道:新聞客戶端新策略
      傳媒評論(2018年4期)2018-06-27 08:20:16
      基于Vanconnect的智能家居瘦客戶端的設計與實現(xiàn)
      電子測試(2018年10期)2018-06-26 05:53:34
      基于S3C6410的Wi-Fi驅動移植實現(xiàn)
      客戶端空間數(shù)據(jù)緩存策略
      關閉應用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      磴口县| 尼勒克县| 瑞金市| 山西省| 淮滨县| 红原县| 乌什县| 桂平市| 嘉荫县| 厦门市| 屏山县| 安福县| 宣化县| 清苑县| 五莲县| 车致| 乌兰浩特市| 房产| 岢岚县| 淮阳县| 雷州市| 垦利县| 巴中市| 铅山县| 永康市| 东兰县| 金沙县| 合山市| 福建省| 靖宇县| 洛川县| 托克逊县| 大同县| 本溪| 滦南县| 德格县| 洞口县| 中山市| 苍山县| 永靖县| 阜宁县|