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

        ?

        基于Embedded Linux的gSOAP的移植和裁剪

        2011-02-05 06:37:24李永俞輝
        微型電腦應(yīng)用 2011年1期
        關(guān)鍵詞:嵌入式服務(wù)系統(tǒng)

        李永,俞輝

        0 引言

        現(xiàn)在的網(wǎng)絡(luò)服務(wù)中,客戶端和服務(wù)器之間的通信問(wèn)題一般由HTTP協(xié)議完成,這是因?yàn)槿魏我豢頦eb瀏覽器都支持HTTP協(xié)議。但是由于客戶端程序的可操作性往往不是那么好,例如多種語(yǔ)言開發(fā)環(huán)境以及各式各樣的文件管理形式,導(dǎo)致了在數(shù)據(jù)交互時(shí)有時(shí)不得不使用文件傳輸和分析或者消息隊(duì)列等方法來(lái)完成。因此應(yīng)用程序通信標(biāo)準(zhǔn)應(yīng)運(yùn)而生。Web Service作為一款應(yīng)用程序通信標(biāo)準(zhǔn),獨(dú)立于平臺(tái)組建模型和編程語(yǔ)言,無(wú)論客戶端和服務(wù)器基于什么平臺(tái)或者語(yǔ)言,都可以通過(guò)它自由使用HTTP協(xié)議進(jìn)行通信。

        Web Services可以作為一個(gè)基于XML的可編程實(shí)體,向外提供被調(diào)用的API,也可以被理解為一個(gè)可互操作的分布式應(yīng)用程序平臺(tái),通過(guò)HTTP協(xié)議進(jìn)行訪問(wèn)。在網(wǎng)絡(luò)中服務(wù)方提供了一個(gè)Web Services平臺(tái),該平臺(tái)不僅提供相關(guān)的網(wǎng)絡(luò)服務(wù),而且會(huì)提供一種標(biāo)準(zhǔn)來(lái)描述它的服務(wù);而客戶可以在網(wǎng)絡(luò)中其它任何一點(diǎn)調(diào)用該服務(wù),并且可以得到足夠的信息來(lái)得知如何調(diào)用。另外為了達(dá)到互操作性,該服務(wù)遠(yuǎn)程調(diào)用的實(shí)現(xiàn)方法必須與平臺(tái)和編程語(yǔ)言無(wú)關(guān)。為了滿足這幾個(gè)特點(diǎn),Web Services采用可擴(kuò)展的標(biāo)記語(yǔ)言(XML)表示數(shù)據(jù)的基本格式[1],這樣保證無(wú)論何種數(shù)據(jù)都可以被自動(dòng)轉(zhuǎn)換成XSD類型而與平臺(tái)無(wú)關(guān);訪問(wèn)的RPC方法采用簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)來(lái)調(diào)用遠(yuǎn)程服務(wù),SOAP協(xié)議定義了其消息格式,以及通過(guò)HTTP協(xié)議的使用方法;至于提供的文檔標(biāo)準(zhǔn),則使用Web service描述語(yǔ)言(WSDL),用于描述Web service及其函數(shù)、參數(shù)和返回值。WSDL文檔基于XML構(gòu)造,因此不僅適合機(jī)器和人類閱讀,而且還可以根據(jù)某些開發(fā)工具實(shí)現(xiàn)WSDL文檔和Web服務(wù)之間的互相生成。

        嵌入式系統(tǒng),即以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。由于憑借嵌入式操作系統(tǒng)(EOS)的優(yōu)勢(shì),可以進(jìn)行各個(gè)開源軟件在嵌入式平臺(tái)上的移植操作,從而實(shí)現(xiàn)嵌入式系統(tǒng)更強(qiáng)大的軟件功能;同時(shí)由于嵌入式系統(tǒng)有限的處理能力以及存儲(chǔ)資源相對(duì)缺乏的特點(diǎn),在軟件移植過(guò)程中需要對(duì)相應(yīng)的軟件進(jìn)行裁剪。

        本文即介紹一款開源的Web Services軟件gSOAP在嵌入式Linux上的移植和裁剪過(guò)程。

        1 gSOAP的移植

        1.1 gSOAP的介紹

        gSOAP作為一款開源的Web Services軟件,具有相當(dāng)多的優(yōu)點(diǎn)。它利用編譯器提供了一組透明化的SOAP API,對(duì)于開發(fā)者而言無(wú)需了解 SOAP協(xié)議實(shí)現(xiàn)細(xì)節(jié)而只要調(diào)用這些API即可,因此非常方便;同時(shí)gSOAP能夠集成C/C++和Fortran代碼,跨越多個(gè)操作系統(tǒng)平臺(tái)和語(yǔ)言環(huán)境,使用范圍相當(dāng)廣泛;另外gSOAP包含一個(gè)WSDL生成器用來(lái)生成web服務(wù)描述文檔。通過(guò)gSOAP的解釋器和導(dǎo)入器,開發(fā)者不需要分析 web服務(wù)的細(xì)節(jié)就可以實(shí)現(xiàn)一個(gè)客戶端或服務(wù)端程序。

        gSOAP可以理解為一個(gè)C/C++的Web服務(wù)協(xié)議棧,該協(xié)議棧主要包括5部分:網(wǎng)絡(luò)傳輸、Web服務(wù)調(diào)用(消息傳輸)、Web服務(wù)描述與注冊(cè)(接口描述、發(fā)布與發(fā)現(xiàn))、Web服務(wù)質(zhì)量(安全性,可靠性,事務(wù)控制)、Web服務(wù)工作流(商業(yè)流程、事務(wù)等)。gSOAP結(jié)構(gòu)如圖1所示。

        圖1 gSOAP服務(wù)協(xié)議棧

        1.2 gSOAP的運(yùn)行過(guò)程

        雖然gSOAP的服務(wù)協(xié)議棧比較復(fù)雜,但是用gSOAP開發(fā)卻非常方便。gSOAP工具包中提供了兩個(gè)可執(zhí)行文件,wsdl2h和soapcpp2。wsdl2h用來(lái)解析wsdl文檔生成描述服務(wù)的C/C++頭文件,soapcpp2用來(lái)解析該頭文件并生成框架代碼。這些頭文件框架如表1所示,解壓gSOAP壓縮包如圖2所示。

        表1 gSOAP的頭文件

        圖2 gSOAP運(yùn)行文件內(nèi)容

        除此之外,gSOAP工具包還包含兩個(gè)重要的文件:stdsoap2.h和stdsoap2.c/cpp。其中stdsoap2.h是stdsoap2.c/cpp運(yùn)行時(shí)的頭文件,stdsoap2.c/cpp是運(yùn)行時(shí)的C/C++ 庫(kù),帶HTTP/SOAP 解析器和運(yùn)行時(shí)支持例程。通過(guò)這兩個(gè)文件和上述的框架代碼,開發(fā)者可以很方便的進(jìn)行客戶端/服務(wù)器端程序開發(fā)[2]。

        在服務(wù)器端開發(fā)中,由開發(fā)者輸入C/C++頭文件,并由gSoap編譯器編譯后生成RPC服務(wù)框架和數(shù)據(jù)類型序列化代碼,這些代碼鏈接到服務(wù)應(yīng)用程序之后可以作為提供的Web服務(wù)在網(wǎng)上發(fā)布。同時(shí)gSoap編譯器生成一個(gè)WSDL文檔用以描述相應(yīng)的服務(wù)。具體流程如圖3所示。

        圖3 gSOAP服務(wù)端開發(fā)過(guò)程

        在客戶端開發(fā)過(guò)程中,gSoap編譯器解析得到的WSDL文檔并創(chuàng)建RPC存根代碼??蛻魬?yīng)用程序則可利用RPC存根和gSoap通信模塊在網(wǎng)絡(luò)上觸發(fā)SOAP/XML服務(wù)函數(shù)。具體流程如圖4所示。

        圖4 gSOAP客戶端開發(fā)過(guò)程

        gSOAP開發(fā)的Web Service服務(wù)器端和客戶端的交互模型如圖5所示[3]。其中soapC.c是序列化器和反序列化器,stdsoap2.c是gSOAP工具包提供的HTTP/SOAP解析器。

        1.3 gSOAP的移植

        (1)下載并解壓gSOAP包

        從網(wǎng)站下載壓縮包gsoap_linux_2.7.9e.tar.gz,之后執(zhí)行解壓命令如下:

        (2)修改服務(wù)器文件[4]

        解壓縮后的文件夾是gsoap-linux-2.7,之后進(jìn)入該文件夾下samples/calc/目錄。準(zhǔn)備將目錄下的服務(wù)器程序calcserver移植到ARM嵌入式平臺(tái)上。由于ARM平臺(tái)IP地址為192.168.0.121,因此對(duì)calcserver.c文件作如下修改。將

        (3)交叉編譯

        由于需要將服務(wù)器程序在ARM平臺(tái)上移植,因此這里用到交叉編譯。交叉編譯器為armv4l-unknown-linux-gcc,版本為2.95。這里對(duì)Makefile文件的calcserver部分作如下修改:

        之后執(zhí)行make命令即可以完成服務(wù)器端程序calcserver和客戶端程序calcclient的編譯。

        (4)執(zhí)行

        在嵌入式開發(fā)板上運(yùn)行服務(wù)器程序:

        之后在宿主機(jī)上運(yùn)行客戶端程序,之后可以看到服務(wù)器發(fā)來(lái)的信息:result=15,同時(shí)可以看到開發(fā)板上信息收到應(yīng)答:

        至此,一個(gè)簡(jiǎn)單的gSOAP服務(wù)應(yīng)用移植完成。

        2 gSOAP的裁剪

        嵌入式系統(tǒng)的處理能力較有限且資源相對(duì)缺乏,因此對(duì)于在其系統(tǒng)平臺(tái)上移植的軟件除了功能完備之外也要盡可能精簡(jiǎn)。裁剪gSOAP是為了將Web服務(wù)協(xié)議棧移植到嵌入式系統(tǒng)中,這類似于向嵌入式系統(tǒng)移植TCP/IP協(xié)議棧。普通操作系統(tǒng)可支持完整的TCP/IP協(xié)議族,但嵌入式系統(tǒng)一般不需要,而是根據(jù)其特點(diǎn)及功能來(lái)選擇保留部分協(xié)議。對(duì)于Web服務(wù)協(xié)議棧來(lái)說(shuō),其底層通信部分是依靠TCP/IP協(xié)議棧的,因此gSOAP也一樣可以裁剪[5]。

        裁剪軟件并不是要求裁剪之后的軟件越精簡(jiǎn)越好,而是要求從設(shè)計(jì)的實(shí)際產(chǎn)品出發(fā)。對(duì)于沒(méi)有被使用的協(xié)議,可以考慮裁剪掉。但需要用到的功能一定要保留或優(yōu)化。裁剪gSOAP的過(guò)程如下所示。

        2.1 網(wǎng)絡(luò)傳輸層中HTTP協(xié)議的裁剪

        gSOAP的網(wǎng)絡(luò)傳輸層包含多種協(xié)議傳輸,如HTTP、FTP和SMTP等。裁剪之后的的web服務(wù)只提供網(wǎng)頁(yè)瀏覽而不涉及其他內(nèi)容,因此除了HTTP之外的協(xié)議都裁剪掉,而且對(duì)于HTTP協(xié)議也要進(jìn)行一定的優(yōu)化。

        超文本傳輸協(xié)議(HTTP)是一種為分布式,合作式,多媒體信息系統(tǒng)服務(wù),面向應(yīng)用層的協(xié)議。它是一種通用的,不分狀態(tài)(stateless)的協(xié)議,除了諸如名稱服務(wù)和分布對(duì)象管理系統(tǒng)之類的超文本用途外,還可以通過(guò)擴(kuò)展它的請(qǐng)求方式,錯(cuò)誤代碼和報(bào)頭來(lái)完成諸多任務(wù)。由于HTTP的使用極為廣泛,使得SOAP常常采用HTTP作為底層通訊協(xié)議。下面是HTTP協(xié)議被裁剪的功能:

        (1)HTTP Cookie

        HTTP Cookie是在HTTP連接期間瀏覽器與CGI程序之間傳遞的信息。在系統(tǒng)中沒(méi)有涉及到瀏覽器與CGI程序之間的通信,因此該功能可以被裁剪。

        (2)HTTP Chunked編碼

        有時(shí)服務(wù)器生成HTTP回應(yīng)是無(wú)法確定消息大小的,此時(shí)服務(wù)器一般采用Chunked編碼,需要實(shí)時(shí)生成消息長(zhǎng)度。而在嵌入式系統(tǒng)中,HTTP回應(yīng)的消息長(zhǎng)度是可以確定的而且比較小,因此可以不支持HTTP的Chunked編碼方式。

        (3)HTTP Proxy

        主要功能是用戶通過(guò)網(wǎng)上的代理服務(wù)器獲取網(wǎng)絡(luò)信息。嵌入式系統(tǒng)一般在客戶與服務(wù)器勿需設(shè)置代理服務(wù)器,因此可以取消代理。

        (4)HTTP Keep-Alive

        Keep-Alive功能使客戶端到服務(wù)器端的連接持續(xù)有效,客戶端為每個(gè)待請(qǐng)求的對(duì)象建立并維護(hù)一個(gè)新的連接。對(duì)于每個(gè)這樣的連接,TCP要在客戶端和服務(wù)器端分配TCP緩沖區(qū)并維持TCP變量。當(dāng)出現(xiàn)對(duì)服務(wù)器的后繼請(qǐng)求時(shí),Keep-Alive功能避免了建立或者重新建立連接。但對(duì)于嵌入式設(shè)備來(lái)說(shuō),系統(tǒng)資源非常有限,因此每次通信完成后應(yīng)立即釋放連接,盡量避免長(zhǎng)期占用系統(tǒng)資源。

        2.2 消息傳輸層中XML協(xié)議的裁剪

        gSOAP的消息傳輸層包括XML協(xié)議和SOAP協(xié)議以及其他一些服務(wù)。這里裁剪掉除XML和SOAP的其他協(xié)議,并對(duì)XML和SOAP進(jìn)行一定的優(yōu)化。對(duì)XML的優(yōu)化如下:

        XML(eXtensible Markup Language,可擴(kuò)展標(biāo)記語(yǔ)言)是Internet上數(shù)據(jù)表示和數(shù)據(jù)交換的新標(biāo)準(zhǔn)。它是ISO的通用標(biāo)記語(yǔ)言標(biāo)準(zhǔn)的一個(gè)簡(jiǎn)化子集。XML關(guān)注信息本身,是Web上表示結(jié)構(gòu)化信息的一種標(biāo)準(zhǔn)文本格式。與傳統(tǒng)的注重頁(yè)面信息顯示的HTML(Hypertext Markup Language,超文本鏈接標(biāo)示語(yǔ)言)相比,關(guān)注于內(nèi)容的XML具有以下諸多優(yōu)點(diǎn):良好的可擴(kuò)展性,語(yǔ)言簡(jiǎn)單有效,可自行定義標(biāo)記;內(nèi)容與形式的分離,主要刻畫數(shù)據(jù)內(nèi)容,不考慮顯示效果;有嚴(yán)格的語(yǔ)法要求,便于分析統(tǒng)一和與數(shù)據(jù)庫(kù)信息轉(zhuǎn)換;便于傳輸,為純文本形式,可通過(guò)Http協(xié)議直接傳輸,可跨越防火墻等等。gSOAP工具包中提供了XML解析器,但是對(duì)于具體的應(yīng)用而言,不必對(duì)XML協(xié)議完全解析,經(jīng)過(guò)分析gSOAP源代碼,可以對(duì)XML協(xié)議作如下的精簡(jiǎn):

        (1)精簡(jiǎn)編碼方式

        XML文檔一般采用UTF-8編碼方式,UTF-8可以處理目前世界上使用的每一種文字。對(duì)于嵌入式系統(tǒng)而言采用UTF-8編碼方式已經(jīng)足夠了。因此對(duì)于其他的編碼方式,解析器可以不支持。

        (2)CDATA部件

        如果一個(gè)xml元素的文本中包含了大量非法的xml字符如"<"和"&"字符,那么這個(gè)XML元素就可以被定義為一個(gè)CDATA部件。在CDATA部件之內(nèi)的文本會(huì)被解析器忽略,從而避免了大量的實(shí)體引用。然而對(duì)本系統(tǒng)而言,SOAP消息中的XML文檔是由gSOAP生成的,通過(guò)分析soapcpp2生成的*.req.xml和*.res.xml可以看出該文檔中并沒(méi)有包括CDATA部件,所以XML解析器不必解析CDATA部件。

        2.3 消息傳輸層中SOAP協(xié)議的裁剪

        SOAP(Simple Object Access Protocol)簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議,是在分散或分布式的環(huán)境中交換信息的簡(jiǎn)單的協(xié)議。SOAP 協(xié)議定義了用于在系統(tǒng)之間進(jìn)行通訊的標(biāo)準(zhǔn) XML消息的格式。由于該消息格式已標(biāo)準(zhǔn)化并基于 XML 標(biāo)準(zhǔn),因此可使用 SOAP 在多種計(jì)算機(jī)體系結(jié)構(gòu)、語(yǔ)言和操作系統(tǒng)之間進(jìn)行通訊。SOAP協(xié)議包括四個(gè)部分:SOAP封裝(envelop),封裝定義了一個(gè)描述消息中的內(nèi)容是什么、是誰(shuí)發(fā)送的、誰(shuí)應(yīng)當(dāng)接受并處理它以及如何處理它們的框架;SOAP編碼規(guī)則(encoding rules),用于表示應(yīng)用程序需要使用的數(shù)據(jù)類型的實(shí)例;SOAP RPC表示(RPC representation),表示遠(yuǎn)程過(guò)程調(diào)用和應(yīng)答的協(xié)定;SOAP綁定(binding),使用底層協(xié)議交換信息。對(duì)于某種具體應(yīng)用而言,不可能運(yùn)用了SOAP的所有特性。此時(shí)有必要屏蔽掉多余的特性,具體精簡(jiǎn)的內(nèi)容如下:

        (1)可選的SOAP頭

        SOAP協(xié)議規(guī)范說(shuō)明SOAP消息包括 3 部分:一個(gè)必須的根元素<Envelope>、一個(gè)可選的SOAP頭<Header>和一個(gè)必須的SOAP體<Body>。SOAP頭的作用就是,提供一個(gè)可伸縮的機(jī)制,用于在分散的模塊化的環(huán)境下擴(kuò)展SOAP消息,而通訊雙方并不需要有預(yù)先的約定。對(duì)于嵌入式系統(tǒng)來(lái)說(shuō)既然SOAP頭是可選的,因此可以將SOAP頭裁剪掉。

        (2)數(shù)據(jù)編碼規(guī)則

        SOAP編碼可以簡(jiǎn)短地描述成簡(jiǎn)單值和復(fù)合值的集合。簡(jiǎn)單值可以是簡(jiǎn)單類型,如整型、浮點(diǎn)型和字符型,或者是XML架構(gòu)規(guī)范第2部中定義的內(nèi)置類型。復(fù)合值包括結(jié)構(gòu)、數(shù)組和XML架構(gòu)制定組定義的復(fù)雜類型。gSOAP提供了對(duì)上述數(shù)據(jù)類型的序列化和反序列化規(guī)則。在本系統(tǒng)中使用到的數(shù)據(jù)類型包括整型、枚舉和結(jié)構(gòu)。因此在gSOAP中保留以上類型的序列化和反序列化規(guī)則,而對(duì)于其他的數(shù)據(jù)類型諸如浮點(diǎn)型、數(shù)組等不支持其序列化和反序列化。

        (3)附件的機(jī)制

        利用SOAP消息傳輸圖像等二進(jìn)制數(shù)據(jù)時(shí),一種最簡(jiǎn)單的方法是使用類似Base64的方式對(duì)其進(jìn)行編碼,把它轉(zhuǎn)變成對(duì)XML安全的一串字符然后放入一條基于XML的消息中傳送。然后這并不是一個(gè)有效的方法,因?yàn)閷?duì)二進(jìn)制數(shù)據(jù)進(jìn)行編碼和解碼會(huì)造成相當(dāng)大的處理開銷,從而影響了應(yīng)用程序的性能。一般嵌入式系統(tǒng),會(huì)涉及到了二進(jìn)制圖像數(shù)據(jù)的傳輸,起初嘗試用MTOM和XOP進(jìn)行附件傳輸,但后來(lái)發(fā)現(xiàn)基于SOAP消息的附件傳輸,始終不如用socket傳輸?shù)乃俣瓤?。?duì)于一個(gè)要求獲取實(shí)時(shí)視頻數(shù)據(jù)的系統(tǒng)而言,采用基于SOAP消息的附件傳輸,并不是一個(gè)好的選擇。因此裁剪了gSOAP中對(duì)SOAP附件機(jī)制的實(shí)現(xiàn)。

        2.4 其他各層的裁剪

        對(duì)于除了網(wǎng)絡(luò)傳輸層和Web服務(wù)調(diào)用層之外的其他 3個(gè)層,要求裁剪之后的系統(tǒng)就不用很支持了。例如在Web服務(wù)描述和注冊(cè)層中,除了保留WSDL協(xié)議之外,對(duì)于UDDI模塊則可以考慮取消。并不需要將Web服務(wù)發(fā)布到UDDI注冊(cè)中心,而是采用簡(jiǎn)單的分布式發(fā)現(xiàn)方式(WS-Inspection),由客戶端直接向服務(wù)提供者請(qǐng)求一個(gè)服務(wù)描述的副本,根據(jù)此副本進(jìn)行Web Service客戶端開發(fā);Web服務(wù)質(zhì)量層在本系統(tǒng)中不需要,因此可以全部裁剪掉;而Web服務(wù)工作流層也相應(yīng)的有所裁剪。精簡(jiǎn)后的Web服務(wù)協(xié)議棧如圖6所示。之后移植gSOAP實(shí)際上是將精簡(jiǎn)之后的Web服務(wù)協(xié)議棧移植到嵌入式系統(tǒng)中,移植方法同1.3節(jié)。

        除此之外,gSOAP還提供了一些額外的功能,如支持多種系統(tǒng)平臺(tái)、DOM解析庫(kù)、利用zlib庫(kù)壓縮數(shù)據(jù)功能、Plug-in擴(kuò)展功能、FastCGI以及支持SSL(安全套接層協(xié)議)等。在移植的過(guò)程中可以裁掉。裁剪前后關(guān)于stdsoap2.c文件大小的比較如圖7所示。之后通過(guò)交叉編譯器對(duì)同一工程編譯生成的可執(zhí)行程序也會(huì)有所差別,例如對(duì)直流電機(jī)服務(wù)器程序dcmserver.c編譯前后比較如圖8所示。

        圖6 精簡(jiǎn)后的gSOAP服務(wù)協(xié)議棧

        圖7 裁剪前后stdsoap2.c文件比較

        圖8 裁剪前后生成程序比較

        通過(guò)比較可以發(fā)現(xiàn)經(jīng)過(guò)裁剪后減小了可執(zhí)行程序的存儲(chǔ)空間,更好的滿足嵌入式系統(tǒng)的需求。而構(gòu)建于精簡(jiǎn)Web服務(wù)協(xié)議棧之上的應(yīng)用系統(tǒng)正常運(yùn)行,沒(méi)有發(fā)現(xiàn)任何異常。

        3 總結(jié)

        隨著網(wǎng)絡(luò)技術(shù)、電子商務(wù)技術(shù)的發(fā)展,以及可擴(kuò)展標(biāo)記語(yǔ)言XML作為一種標(biāo)準(zhǔn)的數(shù)據(jù)格式被廣泛的接受,一種新的技術(shù)構(gòu)架Web Service技術(shù)已迅速成為應(yīng)用集成發(fā)展的重點(diǎn)。由于Web Service技術(shù)建立在標(biāo)準(zhǔn)性與開放性基礎(chǔ)之上,從而徹底打破了以前封閉式的實(shí)現(xiàn)方法。通過(guò)Web Service技術(shù),使用不同語(yǔ)言開發(fā)、運(yùn)行在不同平臺(tái)上的客戶可以無(wú)縫的獲取所需的應(yīng)用,從而達(dá)到資源效率的最大化。

        本文以gSOAP這款比較流行的Web Service軟件作為研究對(duì)象,詳細(xì)講述了其基于Embedded Linux的裁剪和移植過(guò)程。由于嵌入式系統(tǒng)特定的應(yīng)用和資源相對(duì)貧乏的特點(diǎn),對(duì)gSOAP進(jìn)行了有針對(duì)性地裁剪。裁剪之后的gSOAP軟件不僅占用存儲(chǔ)空間小,且提高了應(yīng)用系統(tǒng)的性能。

        [1]Robert van Engelen.An XML Web Services Development Environment for Embedded[OL].http://websrv.CS.fsu/edu/enge1en/casesO3.htm1.

        [2]夏亮,祖一康等.基于嵌入式Web Services的系統(tǒng)集成方案[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008(3):7-9.

        [3]Robert van Engelen.Code Generation Techniques for Developing LightWeight XML Web Services for EmbeddedDevices[OL].http://websrv.CS.fsu.edu/~engelen/.

        [4]北京博創(chuàng)興業(yè)科技有限公司.UP-NETARM2410-S(Linux)嵌入式系統(tǒng)實(shí)驗(yàn)指導(dǎo)書[K].2 0 0 6.http://www.up-tech.com.

        [5]許佑駿,王力生.嵌入式Service系統(tǒng)應(yīng)用研究[J].計(jì)算機(jī)研究,2004(1):100-102.

        猜你喜歡
        嵌入式服務(wù)系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        搭建基于Qt的嵌入式開發(fā)平臺(tái)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
        商周刊(2017年9期)2017-08-22 02:57:56
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        蜜桃视频国产一区二区| 国产午夜无码精品免费看动漫| 极品av在线播放| 久久久黄色大片免费看| 蜜桃视频一区二区在线观看| 色老板精品视频在线观看| 亚洲综合自拍| 在线亚洲精品国产成人二区| 精品在线观看一区二区视频| 一本色道久久88亚洲精品综合| 无码人妻精品一区二区三区免费| 亚洲欧洲AV综合色无码| 日韩av在线手机免费观看| 欧美老肥妇做爰bbww| 又黄又爽又色又刺激的视频| 久久99久久99精品免观看女同 | 日韩一区中文字幕在线| 中文字幕久久波多野结衣av不卡| 亚洲成av人片一区二区| 中文字幕在线久热精品| 亚洲天堂av在线一区| 亚洲性色av一区二区三区| 18禁高潮出水呻吟娇喘蜜芽| 无码区a∨视频体验区30秒| 白白色最新福利视频二| 人妻少妇出轨中文字幕| 狠狠色狠狠色综合久久第一次| 人妻少妇久久精品一区二区| 日本午夜理论片在线观看| 中文字幕乱码熟女人妻水蜜桃| 欧美日韩国产在线观看免费| 亚洲国产成人久久精品美女av| 性做久久久久久免费观看| 成人h动漫精品一区二区| 亚洲啪啪AⅤ一区二区三区| 中文有码人妻字幕在线| 日本高清h色视频在线观看| 亚洲欧洲日韩免费无码h| 亚洲第一女优在线观看| 国产放荡对白视频在线观看| jizz国产精品免费麻豆|