




已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于Web服務(wù)的SPSS與.NET系統(tǒng)集成開發(fā) 摘要:為了把SPSS強(qiáng)大的統(tǒng)計(jì)分析功能應(yīng)用在特定應(yīng)用領(lǐng)域的數(shù)據(jù)處理系統(tǒng)中,利用SPSS的可編程擴(kuò)展機(jī)制與.NET進(jìn)行交互集成,將所需的SPSS的統(tǒng)計(jì)分析功能封裝為可被調(diào)用的web服務(wù)。通過客戶端程序調(diào)用Web服務(wù),向SPSS提供數(shù)據(jù)源和處理請求,并反饋SPSS處理結(jié)果。通過藥物分析中的線性回歸分析實(shí)例驗(yàn)證了該方法的可行性,能大大降低軟件開發(fā)成本。 關(guān)鍵詞:Web服務(wù);SPSS編程擴(kuò)展;.NET集成開發(fā);統(tǒng)計(jì)分析 中圖分類號:TP31;TP39 文獻(xiàn)標(biāo)識碼:A DOI:10.3969/j.issn.1003-6970.2016.04.005 0 引言 隨著信息技術(shù)的發(fā)展成熟,無論是科學(xué)研究領(lǐng)域還是生產(chǎn)服務(wù)領(lǐng)域?qū)?shù)據(jù)分析的重要性越來越重視,通過對業(yè)務(wù)數(shù)據(jù)的分析挖掘,可以為科學(xué)研究人員或企業(yè)組織的領(lǐng)導(dǎo)者提供更好的決策支持。如何把現(xiàn)有的數(shù)據(jù)分析處理軟件功能集成到待開發(fā)的領(lǐng)域軟件或系統(tǒng)中,降低軟件開發(fā)成本,縮短開發(fā)周期,提高軟件開發(fā)效率是近年來軟件技術(shù)人員關(guān)注的焦點(diǎn),已有相關(guān)的一些成果。SPSS不但提供了豐富的算法來幫助用戶完成各種各樣的統(tǒng)計(jì)分析任務(wù),還支持多種語言的集成接口,使第三方軟件系統(tǒng)開發(fā)商能夠以高性能、低成本的方式,把SPSS集成到其軟件產(chǎn)品中,從而可以根據(jù)需要調(diào)用SPSS強(qiáng)大的統(tǒng)計(jì)分析功能。由于不同的異構(gòu)系統(tǒng)在集成過程中的強(qiáng)耦合性會帶來系統(tǒng)開發(fā)、維護(hù)和升級的困難。因此,在不同系統(tǒng)的集成過程中必須考慮降低耦合性的問題。Web服務(wù)能夠?qū)崿F(xiàn)不同系統(tǒng)之間良好的互操作,并且具有即時裝配、松散耦合、自動集成的能力。它的平臺和語言中立性使得跨平臺的互操作、系統(tǒng)的整合更加容易。 因此本文通過NET平臺將SPSS的部分統(tǒng)計(jì)分析功能設(shè)計(jì)成Web服務(wù),通過訪問Web服務(wù)的形式完成SPSS功能的集成。將SPSS集成開發(fā)成Web服務(wù),在用戶操作界面可以將功能操作和結(jié)果展現(xiàn)做的更加簡單、直觀、容易理解,即使非專業(yè)的統(tǒng)計(jì)分析人員也可以很容易的使用。同時WEB服務(wù)的共享性,還可以降低SPSS投資和使用費(fèi)用。 1 相關(guān)技術(shù)介紹 1.1 SPSS的可編程性擴(kuò)展及.NET插件 SPSS(statistical Analysis System)是目前應(yīng)用廣泛、功能強(qiáng)大的通用統(tǒng)計(jì)分析軟件,提供了大量的統(tǒng)計(jì)分析方法。但SPSS學(xué)習(xí)掌握困難,需要用戶要求較高數(shù)理知識和編程能力。為了方便SPSS與其他應(yīng)用系統(tǒng)的集成,SPSS提供了靈活的外部編程技術(shù)支持。外部編程語言和SPSS的交互是通過SPSS提供的SDK(Software Development Kit),該SDK主要由兩個動態(tài)鏈接庫文件SPSSXD API和SPSSDXAPI構(gòu)成。SPSS通過SPSSDX API,即spssdx.dll動態(tài)鏈接庫程序來把其他外部編程語言集成在其系統(tǒng)內(nèi)部,這不是本文討論的主題。 SPSS通過SPSSXD API來實(shí)現(xiàn)外部語言程序訪問SPSS功能。SPSS提供了一系列的插件(plug-in)程序,如python plug-in,R plug-in,.Net plug-in。通過這些支持不同語言或平臺的插件,經(jīng)過SPSSXD API在后臺激活和控制SPSS。 SPSS的.NET插件提供了兩個.NET程序集(Assemblies)。SPSS.BackendAPI.dll是用來啟動SPSS內(nèi)部接口的動態(tài)庫(spssxd.dll),使得在基于.NET平臺的應(yīng)用程序語言中可以使用SPSSXD API。而SPSS.BackendAPI.Controller.dll包裝了底層的SPSS功能接口并且暴露給SPSS.BackendAPI.dll,它提供的功能包括啟動SPSS,執(zhí)行SPSS語法命令,讀取和寫人數(shù)據(jù),創(chuàng)建SPSS輸出等。SPSS使用自身的命令語言Syntax驅(qū)動SPSS做各種統(tǒng)計(jì)分析工作,可以讀取數(shù)據(jù),進(jìn)行數(shù)據(jù)處理以及進(jìn)行統(tǒng)計(jì)分析。Syntax語句類似SQL語句,語句靈活,執(zhí)行效率高,可以嵌入到SPSS所支持的外部通用語言中。 1.2 Web Service技術(shù) 軟件系統(tǒng)構(gòu)建過程中,特別是在Internet環(huán)境的軟件系統(tǒng)下,模塊之間的強(qiáng)耦合會給軟件的維護(hù)與升級帶來不利的影響。因此,軟件行業(yè)內(nèi)提出了面向服務(wù)的體系結(jié)構(gòu)(SOA),把軟件功能模塊以服務(wù)形式進(jìn)行封裝,按照業(yè)務(wù)邏輯組合服務(wù)完成軟件功能。Web服務(wù)(Web Services)是目前在Internet環(huán)境下實(shí)現(xiàn)面向服務(wù)的體系結(jié)構(gòu)(SOA)的主要技術(shù),通過跨平臺、松散耦合的Web Services之間進(jìn)行相互調(diào)用和集成來實(shí)現(xiàn)軟件功能目標(biāo)。XML是Web Service的核心技術(shù),XML為Web Service提供了統(tǒng)一的數(shù)據(jù)格式,從而幫助消除使用不同組件模型、操作系統(tǒng)和編程語言的系統(tǒng)之間存在的差異,可以滿足Web客戶端、桌面客戶端以及移動客戶端軟件的開發(fā)。 根據(jù)不同領(lǐng)域?qū)?shù)據(jù)分析處理的需要,編寫相關(guān)的SPSS統(tǒng)計(jì)應(yīng)用程序。然后將這些特定SPSS的統(tǒng)計(jì)應(yīng)用在.NET平臺下封裝成為Web服務(wù),就可以在Internet或Intranet環(huán)境中進(jìn)行Web服務(wù)的發(fā)布、發(fā)現(xiàn)、動態(tài)綁定等,從而實(shí)現(xiàn)SPSS統(tǒng)計(jì)應(yīng)用功能的組件化。通過綁定和共享這些服務(wù)可以方便快捷的實(shí)現(xiàn)SPSS的跨平臺集成。從而使SPSS的強(qiáng)大的統(tǒng)計(jì)分析功能可以借助Web服務(wù)實(shí)現(xiàn)網(wǎng)絡(luò)化,不再局限于點(diǎn)對點(diǎn)的服務(wù)模式。 2 基于Web服務(wù)的SPSS與.NET系統(tǒng)集成 2.1 SPSS與.NET的集成原理 SPSS與.NET的集成原理如圖l所示。 安裝SPSS提供的SPSS Statistics NetPlugln插件程序后,在.NET應(yīng)用程序中就可以加載和引用SPSS.BackendAPI.dll和SPSS.BackendAPI.Controlller.dll類庫文件中所提供的訪問SPSS的各種類。在SPSS.BackendAPI.Controlller類庫中的Processor類是十分關(guān)鍵的一個類。通過Processor類可以創(chuàng)建一個控制SPSS的控制器(processor)實(shí)例對象,利用控制器(processor)實(shí)例對象的submit方法向SPSS提交Syntax命令以及需要處理的數(shù)據(jù)。 Processor類的實(shí)例對象必須通過SPSS后臺庫文件spssxd.dll驅(qū)動SPSS來處理提交的命令。SPSS根據(jù)Syntax命令來完成數(shù)據(jù)的統(tǒng)計(jì)分析后,把圖、轉(zhuǎn)軸表等統(tǒng)計(jì)分析結(jié)果以O(shè)XML(Output XML)形式輸出。提取分析結(jié)果首先要通過OMS(Output Man-agement System)命令將生成的分析結(jié)果以O(shè)XML的形式存儲到XML工作空間。通過Processor類的EvaluateXPath(Xpath)方法可以從XML工作空間將所需的結(jié)果提取出來,其中Xpath表達(dá)式指定了所需結(jié)果的具體位置,提取出來的結(jié)果以一維字符串?dāng)?shù)組的形式保存。最后通過Processor類的StopSPSS方法結(jié)束SPSS的一次調(diào)用。 2.2 SPSS Service服務(wù)的建立 為了更好的利用SPSS資源,在SPSS與.NET集成的基礎(chǔ)上,進(jìn)一步把集成的程序模塊按照一定的邏輯功能封裝為具有特定任務(wù)的Web服務(wù)。這些Web服務(wù)可以發(fā)布在Internet或Intranet上,供其他軟件或系統(tǒng)調(diào)用訪問。從而實(shí)現(xiàn)SPSS計(jì)算資源的共享,同時也解決了系統(tǒng)集成和軟件架構(gòu)的耦合性問題,對系統(tǒng)或軟件的維護(hù)、升級或重用有著積極的意義。參見圖2。 .NET集成開發(fā)環(huán)境提供了快速方便的Web服務(wù)創(chuàng)建過程。開發(fā)人員只要編寫核心的業(yè)務(wù)邏輯程序代碼,.NET系統(tǒng)可以直接完成服務(wù)的封裝和發(fā)布等操作。 3 實(shí)例應(yīng)用 3.1 Web服務(wù)建立 在藥學(xué)領(lǐng)域經(jīng)常用到對藥物的某成分的含量及和其有關(guān)的效應(yīng)進(jìn)行相關(guān)及回歸分析,從而來對藥物進(jìn)行分析預(yù)測。下面以一元線性回歸模型的計(jì)算分析為例創(chuàng)建Web服務(wù),該服務(wù)的一個接口方法名為regressionAnalyze,通過輸入數(shù)據(jù)文件路徑(filepath),因變量(dependent)和自變量(indepentent),獲得DataTable類型的分析結(jié)果數(shù)據(jù)。 WebMethod public DataTable regressionAnalyze(stringfilepath,string dependent,string indepentent) private SpssPlugln p=new SpssPlugln(); /創(chuàng)建SPSS插件對象 p.Plugln(); /載入插件程序,啟動SPSS通信 p.SpssProcessor.Submit(GET FILE+filepath+.);/通過SpssProcessor提交數(shù)據(jù)集 string cmds=getSyntaxString(dependent,inde-pendent);/構(gòu)建SPSS Syntax命令 p.SpssProcessor.Submit(cmds);/提交命令 string XpathString=getXpathString(); /構(gòu)建XPath表達(dá)式 /通過Processor類的EvaluateXPath方法提取分析結(jié)果 sting analysisValue=new stringXpathString.Length; for(int i=0;iXpathString.Length;i+) analysis Value=(string)p.spssProcessor.EvaluateXPath(desctable,/outputTree,XpathStringi); return coefftable; /并將分析結(jié)果以DataTable的形式返回 p.SpssProcessor.StopSPSS();/關(guān)閉SPSS ) 通過ASENET設(shè)計(jì)Web客戶端程序。Web客戶端向Web服務(wù)器發(fā)送Web服務(wù)請求,Web服務(wù)器接受請求后,載入.NET插件程序創(chuàng)建SPSS控制器對象。通過SPSS控制器啟動SPSS通信并上傳源數(shù)據(jù)集、提交Syntax命令,SPSS執(zhí)行命令完成統(tǒng)計(jì)分析后將分析結(jié)果輸出到XML工作空間。SPSS控制器從XML工作空間提取分析結(jié)果并將結(jié)果返回給客戶端程序。見圖3。 3.2 結(jié)果分析 為了驗(yàn)證本方法所獲結(jié)果的正確性,本文采用文獻(xiàn)中所提供的數(shù)據(jù),實(shí)現(xiàn)對藥學(xué)數(shù)據(jù)的線性回歸分析功能。程序運(yùn)行的界面和運(yùn)行結(jié)果如圖4所示。頁面上部是數(shù)據(jù)的輸入部分,選擇數(shù)據(jù)文件和確定因變量和自變量后提交。頁面下部是由SPPS計(jì)算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空航天復(fù)合材料 課件知識點(diǎn)6 高熵合金基復(fù)合材料
- 會滾的汽車課件
- 剪輯技巧培訓(xùn)課件
- 腫瘤科常用藥物臨床應(yīng)用與管理
- 路基工程這知識培訓(xùn)
- 2025年 安康市紫陽縣民歌藝術(shù)研究中心招聘考試筆試試卷附答案
- 2025年中國噴泉套件行業(yè)市場全景分析及前景機(jī)遇研判報(bào)告
- 小動物搬家課件
- 蛛網(wǎng)膜下腔出血疑難病例討論
- 紅血絲皮膚的成因及護(hù)理
- 寵物清潔衛(wèi)生用品貓砂
- 大模型備案-落實(shí)算法安全主體責(zé)任基本情況-XX集團(tuán)有限公司
- 護(hù)理禮儀與人際溝通試題(含答案)
- 2025-2030中國蔬菜溫室大棚市場消費(fèi)趨勢分析與經(jīng)營管理風(fēng)險報(bào)告
- 學(xué)校外來人員登記制度
- 應(yīng)急物資中轉(zhuǎn)站項(xiàng)目可行性研究報(bào)告(模板范文)
- 2025年初級等保測評試題及答案
- 薄壁空心墩施工方案
- 多重耐藥菌醫(yī)院感染預(yù)防與控制技術(shù)指南(試行)
- 教師如何使用AI開展教學(xué)DeepSeek使用指南人工智能 課件
- 油氣田地面工程詳解
評論
0/150
提交評論