喬靜文
(陜西職業(yè)技術(shù)學(xué)院 財(cái)經(jīng)學(xué)院,陜西 西安 710038)
隨著近年來我國科技的迅猛發(fā)展與進(jìn)步,使得社會(huì)逐漸提升了對技能型人才的需求?,F(xiàn)階段我國很多高校為了能夠不斷提升市場競爭實(shí)力,而選擇校校聯(lián)合、校校合并的策略,同一高等院校存在兩個(gè)以上校區(qū)的情況實(shí)屬常見,而且各小區(qū)間距離也比較遠(yuǎn),甚至遠(yuǎn)大數(shù)百公里。怎樣在保持原有硬件設(shè)備、軟件設(shè)備及教學(xué)實(shí)訓(xùn)平臺(tái)前提寫,有效集成原有系統(tǒng),保證全校所有專業(yè)都可以對相關(guān)教育資源加以充分利用,是我國各高等院校亟需探討與解決的重要問題,作為一種分布式計(jì)算技術(shù),Web Services可從根本上解決高??缙脚_(tái)程序集成問題[1]。本研究主要分析與探討高校中Web Services下的會(huì)計(jì)專業(yè)實(shí)訓(xùn)平臺(tái)設(shè)計(jì)和應(yīng)用。
不同語言工具中,Web Services的實(shí)現(xiàn)方式也具有一定差異性。然而,其實(shí)現(xiàn)方式均嚴(yán)格遵循同一溝通規(guī)范,即:SOAP規(guī)范。SOAP規(guī)范協(xié)議所選封包格式為XML,XML又為文本范疇,所以支持任意系統(tǒng)。SOAP協(xié)議的首個(gè)傳遞協(xié)議額為HTTP通訊協(xié)議,所以,系統(tǒng)只需選擇SOAP封包交換數(shù)據(jù),那么彼此就可溝通與理解。然而,Web Services并非傳遞交換所有數(shù)據(jù),僅僅是方法函數(shù)的輸出,再利用接口或者組件的方式對其實(shí)現(xiàn)代碼進(jìn)行調(diào)用,并向回調(diào)用方傳遞執(zhí)行結(jié)果,由接口文件對Web Services輸出服務(wù)予以辨認(rèn)。
從根本上說,Web服務(wù)具有極為簡單的概念,即:Web Services服務(wù)端設(shè)定服務(wù)接口,獲得該接口后,對接口中相關(guān)服務(wù)函數(shù)進(jìn)行調(diào)用,客戶端就可命令Web Services服務(wù)端返回結(jié)果。所以,Web Services所設(shè)定服務(wù)接口如同契約,雙方只有都遵守約定,才能成功合作。Web Services框架示意圖如圖1所示。
圖1 Web Services框架示意圖Fig.1 Web services framework schematic
從圖1可知,該框架具有穩(wěn)定、簡單的特點(diǎn),可應(yīng)用任一組件模型與程序語言,而且Web Services的角色為粘合劑。然而,Web Services也有不足之處,也就是客戶端若想獲得Web Services返回結(jié)果,就必須往返轉(zhuǎn)換與傳遞SOAP封包,所以,就執(zhí)行效率來看并不理想。但可集成各系統(tǒng),可接受效率損失,利用本地存取WSDL與壓縮封包法彌補(bǔ),所以不會(huì)對系統(tǒng)執(zhí)行效率產(chǎn)生影響。
從現(xiàn)階段的技術(shù)來說,Web Services的關(guān)鍵技術(shù)主要包括 WSDL、XML、UDDI及 SOAP 等。
WSDL:該技術(shù)是以XML為基礎(chǔ)的Web Services描述語言。服務(wù)通過WSDL格式描述后在特定文件中存放。也就是說,WSDL是客戶端和服務(wù)器端相連接的橋梁??蛻舳讼纫勒誛SDL中的參數(shù)名稱、服務(wù)函數(shù)名稱與類型,構(gòu)建以SOAP為基礎(chǔ)的請求,再將請求發(fā)送給服務(wù)器斷,接受請求后,服務(wù)器斷依照WSDL文件描述處理客戶端信息。
XML:該技術(shù)解決無關(guān)性問題方面的特點(diǎn)是廠商無關(guān)、平臺(tái)無關(guān)。Web Services的基礎(chǔ)就是XML,基于Web Services的程序不管采用哪種語言,都會(huì)轉(zhuǎn)化數(shù)據(jù)為XML格式。
UDDI:該技術(shù)集集成、檢索及描述為一體,常見可公開訪問接口,服務(wù)提供者利用UUDI接口將相關(guān)服務(wù)信息注冊在服務(wù)信息庫中[2]。
SOAP:該技術(shù)是分布式環(huán)境中Web Services交換信息的一種標(biāo)準(zhǔn)方式,也就是說,Web Services中的待處理數(shù)據(jù)、服務(wù)請求以及服務(wù)器端回送給客戶端的數(shù)據(jù)均必須先由SOAP封裝,在綁定HTTP協(xié)議,繼而交換信息。
在會(huì)計(jì)專業(yè)實(shí)訓(xùn)平臺(tái)中,基于Web Services應(yīng)用程序?yàn)槊嫦蚍?wù)的機(jī)制結(jié)構(gòu),即:SOA,該體系結(jié)構(gòu)分為3個(gè)角色:1)服務(wù)代理。提供服務(wù)定位與法不同能,實(shí)現(xiàn)方式為CDDI;2)服務(wù)提供者。對外提供服務(wù),服務(wù)相關(guān)服務(wù)信息;3)服務(wù)請求者。利用服務(wù)代理對所需服務(wù)進(jìn)行查詢,并綁定服務(wù)。SOA體系結(jié)構(gòu)示意圖如圖2所示。
圖2 SOA體系結(jié)構(gòu)示意圖Fig.2 SOA Architecture schematic
某教育園由五所院校合并而成,各院校在合并前都有各自的教學(xué)實(shí)訓(xùn)平臺(tái),其網(wǎng)絡(luò)環(huán)境與軟件系統(tǒng)各不相同,基于該情況,若想確保不同校區(qū)會(huì)計(jì)專業(yè)實(shí)訓(xùn)平臺(tái)相統(tǒng)一,必須應(yīng)用基于Web Services的會(huì)計(jì)專業(yè)實(shí)訓(xùn)平臺(tái)服務(wù)器端程序,以往教學(xué)系統(tǒng)以客戶端角色訪問服務(wù)端程序[3]。因?yàn)橐酝^(qū)實(shí)訓(xùn)平臺(tái)系統(tǒng)開發(fā)方式為VB、Java、PB及VC等模式,因此新校區(qū)會(huì)計(jì)專業(yè)實(shí)訓(xùn)憑條選擇Java語言開發(fā),采用Web服務(wù)形式把新會(huì)計(jì)專業(yè)實(shí)訓(xùn)平臺(tái)系統(tǒng)發(fā)布出去,會(huì)計(jì)專業(yè)實(shí)訓(xùn)平臺(tái)體系結(jié)構(gòu)示意圖如圖3所示。
圖3 平臺(tái)體系結(jié)構(gòu)示意圖Fig.3 Schematic platform system
接收用戶的數(shù)據(jù)輸入或指令為Web客戶端界面層,并合法性校驗(yàn)數(shù)據(jù),校驗(yàn)內(nèi)容主要有數(shù)據(jù)取值范圍與形式等。若數(shù)據(jù)錯(cuò)誤,則由客戶端及時(shí)處理掉,并由業(yè)務(wù)邏輯層對合法數(shù)據(jù)予以處理,同時(shí)對用戶顯示處理結(jié)果[4]。在客戶端放置數(shù)據(jù)合法性檢查,有效防止了在服務(wù)器驗(yàn)證中傳輸非法數(shù)據(jù)。
以Web Services2003為服務(wù)器運(yùn)行斷操作系統(tǒng),企業(yè)版為后臺(tái)數(shù)據(jù)庫,以企業(yè)版為Java語言調(diào)試、編輯及運(yùn)行環(huán)境,完成服務(wù)器環(huán)境部署,開發(fā)應(yīng)用程序,調(diào)試平臺(tái)應(yīng)用程序。會(huì)計(jì)專業(yè)實(shí)訓(xùn)平臺(tái)在實(shí)施Web服務(wù)發(fā)布期間通過定制形式發(fā)布,以為服務(wù)名字[5]。
以Web Services為基礎(chǔ)的會(huì)計(jì)專業(yè)實(shí)訓(xùn)平臺(tái),不斷客戶端選擇哪種語言開發(fā),在通信服務(wù)器端前,都要進(jìn)行SOAP封存。為保證應(yīng)用程度具有較高集成度,可部署分區(qū)服務(wù)端為SOAP客戶端,若某校區(qū)應(yīng)用的是Java語言開發(fā)系統(tǒng),應(yīng)該將以下代碼導(dǎo)入原程序前:
importorg.apache.axis.AxisFault;
importrg.apache.axis.client.Call;
importorg.apache.axis.client.Service;
importorg.apache.axis.encoding.XMLType;
import.javax.xml.rpc.ParameterMode;
impotr.javax.xml.namespace.QName
import.java.net.URL;/導(dǎo)入必須的程序包
Stringendpoint=“”定義目標(biāo)端點(diǎn)
Serviceservice=newService();/創(chuàng)建服務(wù)
Obijectresponse()bj=call.invoke(newObject[]);/轉(zhuǎn) 化結(jié) 果為java對象
其它校區(qū)客戶端, 可通過 VC、VB、PB、DELPHI開發(fā),這樣就應(yīng)該設(shè)計(jì)一個(gè)COM,在系統(tǒng)服務(wù)中注冊,通過微軟服務(wù)器轉(zhuǎn)化為WSDL文件,結(jié)束客戶端部署[6]。
技術(shù)設(shè)計(jì)出一種無關(guān)平臺(tái)、分布式應(yīng)用程序集成體系,可靈活進(jìn)行系統(tǒng)設(shè)計(jì),本研究選擇Web Services,設(shè)計(jì)出一個(gè)在一校多區(qū)中適用的會(huì)計(jì)專業(yè)實(shí)訓(xùn)平臺(tái)系統(tǒng),集成效果良好?,F(xiàn)階段,在應(yīng)用Web服務(wù)方面還存在很多問題,以Web服務(wù)取代高校以往教學(xué)系統(tǒng)的工程非常復(fù)雜、艱苦,然而,這是以Web Services為基礎(chǔ)的編程理念,是現(xiàn)代化軟件技術(shù)的代表,同時(shí)也是我國軟件界的必然發(fā)展趨勢。
[1]盛平,杜洪超.基于Web Services的嵌入式農(nóng)業(yè)物聯(lián)網(wǎng)測控系統(tǒng)[J].電子設(shè)計(jì)工程,2014(11):154-155.SHENGPing,DUHong-chao.Theembedded IOTmeasurement and control system of agriculture base on Web Services[J].Electronic Design Engineering,2014(11):154-155.
[2]陳海松,郭宇棟,徐偉亞.Web Service技術(shù)在裝備保障信息系統(tǒng)集成中的應(yīng)用[J].電子設(shè)計(jì)工程,2013(14):184-185.CHEN Hai-song,GUO Yu-dong,XU Wei-ya.Application of WEB service in equipment information system integration[J].Electronic Design Engineering,2013(14):184-185.
[3]陳錦富,李青,毛澄映,等.基于安全規(guī)則變異的Web Services安全性測試方法[J].計(jì)算機(jī)學(xué)報(bào),2013,36(10):1967-1981.CHEN Jin-fu,LIQing,MAOCheng-ying,et al.Based on Web Services security testing method variability safety rules[J].Chinese Journal of Computers,2013,36(10):1967-1981.
[4]陳天勇.基于Web Services高校會(huì)計(jì)實(shí)訓(xùn)平臺(tái)的研究[J].科技致富向?qū)В?013(22):246,291.CHEN Tian-yong.College accounting training on Web servicesplatform[J].Technology rich Wizard,2013(22):246,291.
[5]江帆.基于Web Services高校會(huì)計(jì)實(shí)訓(xùn)平臺(tái)的研究與設(shè)計(jì)[D].蘇州:蘇州大學(xué),2009.
[6]柳翠寅,格榮扎西,盛書海,等.基于WebServices的多部門協(xié)作學(xué)生信息服務(wù)平臺(tái)[J].福建電腦,2009(4):101-102.LIU Cui-yin,GERONG Zha-xi,SHENG Shu-hai,et al.WebServices based multisectoral collaboration Student Information Services Platform[J].Fujian Computer,2009(4):101-102.