新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式環(huán)境下Web Service技術(shù)的實現(xiàn)

嵌入式環(huán)境下Web Service技術(shù)的實現(xiàn)

作者: 時間:2012-03-21 來源:網(wǎng)絡(luò) 收藏

摘要:為了解決系統(tǒng)與其他異構(gòu)系統(tǒng)之間互聯(lián)和集成的難題,提出了 Seivice在低端設(shè)備上的方法。以ARM Cort ex-M3微處理器為核心,基于小型實時操作系統(tǒng)和TCP/IP協(xié)議棧,詳細闡述了 過程,包括HTTP接收.XML與SOAP協(xié)議的解析,以及同具體服務(wù)的綁定,并針對嵌入式下資源受限的特點。給出了相應(yīng)的優(yōu)化方法。使用專用測試軟件進行的壓力測試表明,該實現(xiàn)運行穩(wěn)定,具有良好的可行性。
關(guān)鍵詞: ;XML;SOAP;嵌入式系統(tǒng)

0 引言
近年來隨著網(wǎng)絡(luò)化概念的不斷推廣,嵌入式系統(tǒng)也擺脫了以往“信息孤島”的封閉局面,相互之間逐漸形成了分布式的協(xié)作關(guān)系。然而嵌入式系統(tǒng)在網(wǎng)絡(luò)的應(yīng)用層上常常采用自定義的傳輸協(xié)議,加之各系統(tǒng)之間巨大的平臺差異性,給系統(tǒng)間的互訪以及企業(yè)級信息的集成帶來了困難。Web 具有良好的跨平臺和松耦合特性,能夠?qū)崿F(xiàn)不同平臺的分布式系統(tǒng)之間的無縫集成,降低了企業(yè)進行設(shè)備升級和服務(wù)重組時的投入。本文以32位微處理器ARM Cortex-M3為核心,借助于嵌入式TCP/IP協(xié)議棧和實時操作系統(tǒng),在嵌入式下實現(xiàn)了Web Ser vice

1 Web Service與SOAP協(xié)議
Web Service是網(wǎng)絡(luò)化應(yīng)用的一種,可以將其看成一種函數(shù)調(diào)用,只不過這個函數(shù)的實體存在于某個服務(wù)器上,而對函數(shù)的調(diào)用在客戶端進行,客戶端只要接入裝有服務(wù)的機器所在的網(wǎng)絡(luò)即可調(diào)用函數(shù)。為了實現(xiàn)這種遠程調(diào)用,需要對傳輸?shù)臄?shù)據(jù)格式采取一些約定措施.簡單對象訪問協(xié)議(Simple Object Access Protocol,SOAP)很好地應(yīng)對了這種需求。SOAP協(xié)議以XML形式提供了一個簡單、輕量的機制,用于在分布中交換結(jié)構(gòu)化信息。SOAP本身并沒有定義任何應(yīng)用程序語義,如編程模型或特定語義的實現(xiàn);實際上它通過提供一個模塊化的封包模型和在模塊中進行數(shù)據(jù)編碼的方法,定義了一個簡單的表示應(yīng)用程序語義的機制。
SOAP消息是由Envelope,Header和Body三部分組成的XML文檔,其中Envelope是SOAP消息的根元素,必須在SOAP消息中出現(xiàn);可選的Hea der元素包含有關(guān)SOAP消息的應(yīng)用程序?qū)S眯畔ⅲ槐匦璧腂ody元素包含打算傳送到消息最終端點的實際SOAP消息。最后,為了進行基于SOAP的遠程調(diào)用,需要一種低級傳輸協(xié)議。SOAP規(guī)范允許使用HTTP,SMTP甚至原始的TCP/IP套接字,其中HTTP協(xié)議最為常用。

2 Web Service在嵌入式環(huán)境下的實現(xiàn)
2.1 底層軟硬件結(jié)構(gòu)
本文中所使用的硬件基于ST公司推出的ARMCortex-M3 32位微處理器STM32F107VC。Cortex-M3是針對價格敏感但又有高系統(tǒng)效能需求的嵌入式應(yīng)用而設(shè)計的ARM內(nèi)核,作為ARM7的后繼者,大刀闊斧地改革了設(shè)計架構(gòu),顯著簡化了編程和調(diào)試的復(fù)雜度,處理能力也更加強大。ST M32F107VC工作頻率最高為72 MHz,帶有256 KB的片上FLASH和64 KB的SRAM,以及以太網(wǎng)MAC控制器,因此外接一片PHY芯片RTL8201,完成與以太網(wǎng)的物理通信。
為了達到實時任務(wù)管理,本文選用嵌入式實時操作系統(tǒng)FreeRTOS和輕量級TCP/IP協(xié)議棧1wIP組成底層軟件開發(fā)平臺。FreeRTOS作為一個免費開源的小型實時內(nèi)核,主要用于建立和管理各個模塊的任務(wù);1wIP則為數(shù)據(jù)的TCP/IP封裝提供了一個良好的軟件基礎(chǔ)。
2.2 SOAP消息的處理
目前已經(jīng)有許多成熟的SOAP工具,例如針對C++的gSOAP、針對Java的kSOAP等,但是這些實現(xiàn)方案均是為PC機或者帶有高級操作系統(tǒng)的嵌入式系統(tǒng)設(shè)計的,對資源的消耗較多。對于低端的嵌入式環(huán)境,需要更輕量型的處理方法。
由前文可知,SOAP可以簡單的理解為HTTP+XML+遠程調(diào)用規(guī)則,因此SOAP消息的處理也分為3步:HTTP協(xié)議的實現(xiàn)、XML解析、具體服務(wù)實現(xiàn)。其總體結(jié)構(gòu)如圖1所示。

本文引用地址:http://butianyuan.cn/article/149382.htm

b.JPG

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

c++相關(guān)文章:c++教程



上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

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

關(guān)閉