国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Web的在線編譯環(huán)境設(shè)計(jì)

2015-05-30 10:48梅剛林齡潘峰
計(jì)算機(jī)時(shí)代 2015年5期
關(guān)鍵詞:中間件

梅剛 林齡 潘峰

摘 要: 為了提供一種即上網(wǎng)即使用的編譯環(huán)境,提出了一種基于Web應(yīng)用模式的在線式編譯環(huán)境的設(shè)計(jì)方法。該方法設(shè)計(jì)一種中間件來(lái)無(wú)縫集成編譯器等實(shí)用軟件工具,將用戶提交的程序在服務(wù)器端編譯并運(yùn)行,將運(yùn)行結(jié)果返回客戶端;運(yùn)行時(shí)所需要的數(shù)據(jù)采用I/O重定向技術(shù)傳給執(zhí)行程序。實(shí)驗(yàn)表明,該設(shè)計(jì)方法是可行的,在線式編譯環(huán)境為編程人員提供了一種便捷的開(kāi)發(fā)與測(cè)試環(huán)境。

關(guān)鍵詞: 在線編譯環(huán)境; 中間件; I/O重定向; Web應(yīng)用

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2015)05-29-03

Abstract: In order to provide a conveniently used compilation environment, this paper proposes a design of Web-based online compilation environment. The design integrates a set of practical software tools such as a compiler by using middleware, to compile the program submitted by the user and run it on the server, and return the results back to the user, the run-time data is transferrd to the program via the I/O redirection technology. Experiments show that the design is feasible, the on-line compilation environment provides the programmer with a convenient test and development environment.

Key words: online compile environment; middleware; I/O redirection; Web application

0 引言

以集成開(kāi)發(fā)環(huán)境IDE(Integrated Development Environment)為主流平臺(tái)的軟件開(kāi)發(fā)工具集成了編輯、編譯和調(diào)試等實(shí)用且強(qiáng)大的功能,但也顯現(xiàn)出它的一些不足。在Windows系統(tǒng)中使用Visual Studio,Mac OS系統(tǒng)中使用XCode,以及可以在多種系統(tǒng)中使用的Netbeans等為典型的IDE,適合于桌面系統(tǒng)上使用,但不能通過(guò)瀏覽器使用,這樣就使得它們難以在線共享使用。IDE盡管功能強(qiáng)大,但也相當(dāng)復(fù)雜,對(duì)于僅僅需要編譯功能的編程者而言,IDE的大部分功能是閑置的。將復(fù)雜而龐大的IDE裁剪,提煉出最基本功能,使這些功能能夠共享使用,提供一個(gè)容易使用的接口是本文設(shè)計(jì)的目標(biāo)。

從軟件使用者角度而言,簡(jiǎn)單、方便、功能完善且成本低廉是選擇軟件系統(tǒng)的重要條件。Internet的迅速發(fā)展和深入應(yīng)用正逐漸改變軟件的設(shè)計(jì)模式和應(yīng)用模式,其中基于Web的軟件系統(tǒng)已成為一種最為成功的設(shè)計(jì)標(biāo)準(zhǔn)?;赪eb的軟件系統(tǒng)具有面向大眾和良好的跨平臺(tái)應(yīng)用特性,它以Web瀏覽器作為用戶與系統(tǒng)的標(biāo)準(zhǔn)接口。

基于Web的軟件工程逐漸成為眾多學(xué)者研究的熱點(diǎn),基于Web的系統(tǒng)已成為未來(lái)軟件發(fā)展的一個(gè)重要方向,文獻(xiàn)[1-7]中實(shí)現(xiàn)了基于Web的軟件系統(tǒng),提供了一種基于Web的應(yīng)用環(huán)境。本文通過(guò)對(duì)網(wǎng)絡(luò)中間組件的有效集成,提供了一個(gè)簡(jiǎn)單易用的基于Web的在線式編譯環(huán)境,以下詳細(xì)描述它的應(yīng)用實(shí)例及關(guān)鍵實(shí)現(xiàn)技術(shù)。

1 系統(tǒng)設(shè)計(jì)

1.1 系統(tǒng)基本設(shè)計(jì)思想

系統(tǒng)客戶端采用Web界面,用戶通過(guò)Web表單提交程序;服務(wù)器端由Web服務(wù)器、中間組件和編譯工具組成。中間組件主要功能分為四個(gè)功能模塊:讀程序和保存模塊,調(diào)用編譯器編譯程序并捕捉編譯信息模塊,加載運(yùn)行程序并捕捉運(yùn)行結(jié)果模塊,分析編譯或運(yùn)行結(jié)果文件并給出評(píng)判模塊。

1.2 系統(tǒng)工作原理

如圖1所示,用戶的HTTP請(qǐng)求提交給Web服務(wù)器,Web服務(wù)器調(diào)用中間組件處理提交數(shù)據(jù),中間組件首先將相關(guān)數(shù)據(jù)寫入文件,然后調(diào)用編譯器或解釋器等工具處理寫入文件,處理產(chǎn)生的信息使用重定向技術(shù)寫入文件。中間組件集是一些運(yùn)行在Ch環(huán)境[8]的Ch腳本,使用C語(yǔ)言編寫。文件集在這里主要是指文本文件,它包括兩類,一類是高級(jí)語(yǔ)言的源程序代碼和數(shù)據(jù)文件,它們由Web表單提交,并由中間組件讀取生成;另一類是結(jié)果文件,它們由編譯器或其他命令行工具執(zhí)行時(shí)產(chǎn)生,是通過(guò)重定向技術(shù)寫入的標(biāo)準(zhǔn)輸出(STDOUT)或標(biāo)準(zhǔn)錯(cuò)誤(STDERR),由Web服務(wù)器向客戶端返回。

1.3 功能模塊設(shè)計(jì)

1.3.1 用戶界面設(shè)計(jì)

用戶界面是編程者與系統(tǒng)交互的接口,源程序通過(guò)Web中表單進(jìn)行提交,系統(tǒng)對(duì)程序的處理結(jié)果也采用Web文件形式在客戶端瀏覽器中顯示。這里我們采用Web框架集形式,即把瀏覽器客戶區(qū)分割為若干個(gè)矩形區(qū)域,使得輸入輸出都在同一個(gè)界面中,類似一個(gè)集成開(kāi)發(fā)環(huán)境。簡(jiǎn)單地把用戶界面劃分為以下三個(gè)部分。

⑴ 功能選擇界面。該界面主要供用戶選擇相關(guān)功能和服務(wù)。主要采用超鏈接標(biāo)題實(shí)現(xiàn)導(dǎo)航功能。

⑵ 編輯與提交界面。該界面既作為功能選題界面的輸出區(qū)域,又是用戶提交任務(wù)的輸入?yún)^(qū)域,它采用嵌入式Web框架實(shí)現(xiàn)。

⑶ 輸出界面。該界面與提交界面一樣,采用嵌入式Web框架實(shí)現(xiàn),主要作為服務(wù)器端的返回結(jié)果顯示。

如圖2所示,功能選擇界面作為導(dǎo)航界面,用戶選擇鏈接頁(yè)面在提交界面中顯示,提交界面提交的請(qǐng)求結(jié)果在結(jié)果頁(yè)面中顯示。

[功能選擇界面\&編輯與提交界面\&處理結(jié)果界面\&]

圖2 基于Web框架的用戶界面

1.3.2 中間件設(shè)計(jì)

網(wǎng)絡(luò)中間組件是系統(tǒng)業(yè)務(wù)中心,接受Web服務(wù)器的調(diào)用,擴(kuò)展了Web服務(wù)器功能。它讀取HTTP請(qǐng)求數(shù)據(jù),將讀取的程序源代碼寫入文件,同時(shí)調(diào)用服務(wù)器端編譯器編譯程序,通過(guò)編譯的程序裝載于Shell外殼運(yùn)行。編譯結(jié)果或運(yùn)行結(jié)果采用重定向到文件,向客戶端返回結(jié)果文件的URL,以便用戶查看。

1.4 關(guān)鍵應(yīng)用技術(shù)

實(shí)現(xiàn)用戶與遠(yuǎn)程軟件工具的交互主要是使用重定向技術(shù)實(shí)現(xiàn)。操作系統(tǒng)Shell環(huán)境中支持輸入輸出重定向,用符號(hào)"<"和">"來(lái)表示。0、1和2分別表示標(biāo)準(zhǔn)輸入STDIN、標(biāo)準(zhǔn)輸出STDOUT和標(biāo)準(zhǔn)錯(cuò)誤STDERR信息輸出,可以用來(lái)指定需要重定向的標(biāo)準(zhǔn)輸入或輸出,比如2>error.txt表示將錯(cuò)誤信息輸出到文件error.txt中。又比如用ls命令時(shí),本來(lái)是查看目錄內(nèi)容,而用了重定向">"后可以直接把屏幕輸出寫入一個(gè)文件中,再到文件里去看結(jié)果。輸入也是一樣,可以把輸入重定向到一個(gè)文件里,重定向操作符可以用來(lái)將命令輸入和輸出數(shù)據(jù)流從默認(rèn)位置重定向到其他位置,其輸入或輸出數(shù)據(jù)流的位置稱為句柄;常見(jiàn)的句柄有三種,即:標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤。如表1所示。

2 系統(tǒng)實(shí)現(xiàn)

2.1 用戶界面實(shí)現(xiàn)

用戶界面主要包括頁(yè)面功能導(dǎo)航區(qū)域、編輯與提交區(qū)域和處理結(jié)果顯示區(qū)域。在三個(gè)區(qū)域所在的Web頁(yè)中,使用頁(yè)內(nèi)框架標(biāo)簽標(biāo)注區(qū)域名。導(dǎo)航區(qū)域使用超鏈接標(biāo)簽鏈接Java程序的編輯頁(yè)面javaPro.html和顯示位置EditFrame。

在上面HTML代碼片段中,標(biāo)注編輯代碼的文本區(qū)域,

猜你喜歡
中間件
我國(guó)自主可控中間件發(fā)展研究
RFID中間件技術(shù)及其應(yīng)用研究
基于VanConnect中間件的設(shè)計(jì)與開(kāi)發(fā)
基于Android 平臺(tái)的OSGi 架構(gòu)中間件的研究與應(yīng)用
機(jī)載計(jì)算機(jī)中間件技術(shù)研究
RFID中間件發(fā)展與趨勢(shì)研究
以實(shí)力證明 用事實(shí)說(shuō)話
中間件在高速公路領(lǐng)域的應(yīng)用
云計(jì)算環(huán)境下中間件的負(fù)載均衡機(jī)制研究
基于SAF規(guī)范的高可用電信中間件設(shè)計(jì)