唐盛平++蔣爭(zhēng)明
摘 要
隨著移動(dòng)通信技術(shù)、互聯(lián)網(wǎng)的快速發(fā)展以及移動(dòng)智能手機(jī)的普遍應(yīng)用,人們的生活質(zhì)量得到了極大的提高。怎樣利用這些技術(shù)來改善我們的生活,成為了研究的熱點(diǎn)之一。本文提出了一種基于當(dāng)今流行的WebService技術(shù)的自助打印系統(tǒng)的設(shè)計(jì),該系統(tǒng)能夠?qū)⑹謾C(jī)端、PC端以及不同的操作系統(tǒng)平臺(tái)無縫結(jié)合起來,并且能夠提供文檔的打印管理等功能,具有使用方便快捷的特點(diǎn),應(yīng)用場(chǎng)景也非常的廣泛。
【關(guān)鍵詞】WebService 打印管理 Java-Web 應(yīng)用軟件
1 引言
隨著移動(dòng)通信技術(shù)、互聯(lián)網(wǎng)的快速發(fā)展以及智能手機(jī)等手持設(shè)備的普遍使用,人們的生活方式也呈現(xiàn)出多元化,不僅使用傳統(tǒng)的PC機(jī)來完成工作,還需要利用智能手機(jī)等手持設(shè)備來進(jìn)行工作。打印文件成了生活中必不可少的一部分,傳統(tǒng)的打印方式已經(jīng)不能滿足人們的需要。快節(jié)奏的生活要求有個(gè)隨時(shí)隨地的打印方式,就算身邊沒有打印機(jī),也照樣能夠?qū)崿F(xiàn)打印文件的服務(wù);此外,還要滿足不同客戶端的正常使用。
本文提出一種基于WebService的自助打印系統(tǒng),該系統(tǒng)能夠提供遠(yuǎn)程的打印服務(wù),支持不同的客戶端的使用,實(shí)現(xiàn)了不同客戶端隨時(shí)隨地的打印文檔的功能,給人們的生活提供了極大的便利性,具有廣泛的應(yīng)用場(chǎng)景。
2 問題分析
實(shí)現(xiàn)不同客戶端的程序與服務(wù)器端正常地進(jìn)行信息的交互,就需要將PC端、智能手機(jī)端的應(yīng)用程序與服務(wù)端的服務(wù)無縫地結(jié)合起來,這是軟件設(shè)計(jì)過程中需要考慮的重要問題之一,也是難點(diǎn)之一。
不同程序設(shè)計(jì)語言設(shè)計(jì)出的軟件如何有效地、方便地進(jìn)行信息交互,是設(shè)計(jì)分布式系統(tǒng)必須考慮的問題。例如服務(wù)端軟件運(yùn)行在Linux操作系統(tǒng)平臺(tái)下,而客戶端運(yùn)行在Android、Window、IOS等平臺(tái)下,服務(wù)端程序與客戶端應(yīng)用程序有效的信息交互就顯得格外的重要,信息交互包括簡(jiǎn)單類型的變量值的傳遞,還包括復(fù)雜的對(duì)象類型的傳遞。為了滿足這些需要,就必須提供一種有效的信息交互機(jī)制,其中WebService就是當(dāng)今流行的一種有效的解決不同應(yīng)用程序之間進(jìn)行信息交互的解決方案。
3 WebService簡(jiǎn)介
Web service是一個(gè)平臺(tái)獨(dú)立的,低耦合的,自包含的、基于可編程的web的應(yīng)用程序,可使用開放的XML標(biāo)準(zhǔn)來描述、發(fā)布、發(fā)現(xiàn)、協(xié)調(diào)和配置這些應(yīng)用程序,用于開發(fā)分布式的互操作的應(yīng)用程序,其最大的特點(diǎn)是平臺(tái)無關(guān)性。Web服務(wù)的平臺(tái)無關(guān)性體現(xiàn)在其語言的透明性,服務(wù)的實(shí)現(xiàn)和客戶端的實(shí)現(xiàn)可以使用不同的程序設(shè)計(jì)語言來實(shí)現(xiàn)。WebService的定義總的來說可以分為2種:基于SOAP和REST風(fēng)格的Web服務(wù)?,F(xiàn)在的很多軟件系統(tǒng)可能由不同的程序語言來開發(fā),并且這些軟件會(huì)部署在不同的地方、不同的系統(tǒng)平臺(tái)上。若要將這些軟件聯(lián)系起來,WebService起著非常重要的作用。
4 基于WebService的自助打印系統(tǒng)的設(shè)計(jì)
本文提出的打印系統(tǒng)主要包括2個(gè)部分:服務(wù)端程序和客戶端程序,其中服務(wù)器端程序主要負(fù)責(zé)文件的接收和打印文檔,客戶端程序即用戶用來連接服務(wù)器、上傳文檔以及發(fā)出打印文件的命令。客戶端可以使用不同的語言來開發(fā),只要該語言支持WebService的接口。此外,客戶端可以運(yùn)行在不同的系統(tǒng)平臺(tái)上,例如Android、Windows和IOS等平臺(tái)。
當(dāng)用戶身邊沒有打印機(jī)時(shí),照樣可以使用該自助打印系統(tǒng)來實(shí)現(xiàn)打印的任務(wù)。例如,用戶身邊沒有打印機(jī)時(shí),而在辦公室的電腦安裝了服務(wù)端程序,那么用戶就可以利用辦公室的打印機(jī)來完成打印任務(wù)。
4.1 服務(wù)器端程序的設(shè)計(jì)
服務(wù)器端的程序可以使用支持WebService接口的任何一種語言來編寫,例如C#、Java等,本文的設(shè)計(jì)針對(duì)Java程序語言來設(shè)計(jì)。服務(wù)程序的功能包括:接收客戶端的登陸、接收客戶端的文件、執(zhí)行打印操作、通知客戶端打印結(jié)果、定時(shí)打印服務(wù)以及文件管理。
4.1.1 接收客戶的登陸功能
用戶要使用打印服務(wù)時(shí),必須先登陸服務(wù)器端,然后服務(wù)器端程序?qū)υ撚脩舻暮戏ㄐ赃M(jìn)行認(rèn)證,從而保證了系統(tǒng)使用的安全性。
4.1.2 接收客戶端的文件功能
由于文件是二進(jìn)制的數(shù)據(jù),所以要實(shí)現(xiàn)文件的傳遞,就要用到FileOutPutStream文件流的類庫的相應(yīng)接口;客戶端將文件以二進(jìn)制的方式傳輸?shù)椒?wù)器端,服務(wù)器端程序接收二進(jìn)制數(shù)據(jù),并且保存到與客戶端發(fā)送的文件同名同類型的文件中,從而實(shí)現(xiàn)了客戶端發(fā)送文件到服務(wù)器端的功能。
4.1.3 執(zhí)行打印操作
該功能需要用到Java的API中提供的打印服務(wù)接口PrintService,根據(jù)用戶的要求打印指定的文件。
4.1.4 通知客戶端打印結(jié)果
執(zhí)行打印操作完成之后,服務(wù)器端向客戶端返回“打印成功”或者“打印失敗”結(jié)果信息。
4.1.5 定時(shí)打印服務(wù)
本系統(tǒng)還提供人性化的打印時(shí)間的設(shè)置,用戶可以根據(jù)自己的具體需要合理安排打印時(shí)間。服務(wù)端程序會(huì)檢測(cè)設(shè)定了定時(shí)打印服務(wù)時(shí)間的用戶,一旦到了預(yù)定的打印時(shí)間,將執(zhí)行打印操作。打印操作完成之后,返回打印結(jié)果通知用戶。
4.1.6 文件管理
用戶可以對(duì)自己上傳到服務(wù)器端的文件進(jìn)行管理,可以根據(jù)需要?jiǎng)h除指定的文件,方便用戶對(duì)上傳的文件的管理。
此外,為了能夠提高打印服務(wù)的質(zhì)量,滿足多個(gè)用戶同時(shí)使用打印服務(wù),服務(wù)器端使用多線程編程技術(shù)來接收用戶的登陸以及其他的操作。
4.2 客戶端程序的設(shè)計(jì)
客戶端程序可以以應(yīng)用軟件和Web網(wǎng)頁的形式出現(xiàn),其主要功能包括:登陸功能、上傳打印文件功能、預(yù)定打印功能和文件管理功能。用戶可以以網(wǎng)頁形式或者應(yīng)用軟件的方式來獲取打印服務(wù),可以在不同的平臺(tái)上正常使用,大大提高了用戶操作的便捷性。
4.2.1 登陸功能
為了方便有效管理用戶的信息及其文檔,用戶使用自助打印系統(tǒng)之前,必須先提供合法的登陸信息;用戶信息經(jīng)過服務(wù)端驗(yàn)證以后,才能進(jìn)入并且正常使用系統(tǒng)的功能。
4.2.2 上傳文件功能
客戶端通過文件上傳功能,上傳本地的文檔到服務(wù)器端進(jìn)行打印,服務(wù)器端將會(huì)根據(jù)不同的用戶標(biāo)識(shí)組織保存需打印的文檔。為了防止用戶上傳非可打印類型的文件到服務(wù)器端,在上傳文件時(shí),將過濾文件類型,使用戶只能上傳可打印類型的文件。
4.2.3 預(yù)定打印功能
用戶可以根據(jù)自己的需要,設(shè)定文檔打印的時(shí)間。
4.2.4 文件管理功能
用戶可以對(duì)其上傳的文件進(jìn)行管理,可以刪除文件,發(fā)出打印指定文件的命令,還可以設(shè)置打印文檔的份數(shù)。
5 結(jié)束語
隨著智能手機(jī)的廣泛使用和電信網(wǎng)絡(luò)速度的提升,為了更好地方便人們的生活,本文提出了一種基于WebService的自助打印系統(tǒng),用戶可以使用網(wǎng)頁、不同的系統(tǒng)平臺(tái)的應(yīng)用軟件來使用該系統(tǒng),做到了跨平臺(tái)的無縫操作。此外,由于使用WebService技術(shù),客戶端可以根據(jù)不同的平臺(tái)與對(duì)不同編程語言的熟練程度來選擇開發(fā)語言。
參考文獻(xiàn)
[1]馮鈞,張立霞,唐志賢.一種基于WebService的多系統(tǒng)水利日志存儲(chǔ)方法[J].計(jì)算機(jī)與現(xiàn)代化,2016(02).
[2]Martin Kalin.Java WebService:Up and Running[M].南京:東南大學(xué)出版社,2010(01).
[3]Bill Brogden著,高春蓉等譯.SOAP與Java編程指南[M].北京:電子工業(yè)出版社,2002(05).