999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Web服務的SPSS與.NET系統集成開發

2017-01-20 09:28:12李五俊胡建華
軟件 2016年4期

李五俊 胡建華

摘要:為了把SPSS強大的統計分析功能應用在特定應用領域的數據處理系統中,利用SPSS的可編程擴展機制與.NET進行交互集成,將所需的SPSS的統計分析功能封裝為可被調用的web服務。通過客戶端程序調用Web服務,向SPSS提供數據源和處理請求,并反饋SPSS處理結果。通過藥物分析中的線性回歸分析實例驗證了該方法的可行性,能大大降低軟件開發成本。

關鍵詞:Web服務;SPSS編程擴展;.NET集成開發;統計分析

中圖分類號:TP31;TP39 文獻標識碼:A DOI:10.3969/j.issn.1003-6970.2016.04.005

0 引言

隨著信息技術的發展成熟,無論是科學研究領域還是生產服務領域對數據分析的重要性越來越重視,通過對業務數據的分析挖掘,可以為科學研究人員或企業組織的領導者提供更好的決策支持。如何把現有的數據分析處理軟件功能集成到待開發的領域軟件或系統中,降低軟件開發成本,縮短開發周期,提高軟件開發效率是近年來軟件技術人員關注的焦點,已有相關的一些成果。SPSS不但提供了豐富的算法來幫助用戶完成各種各樣的統計分析任務,還支持多種語言的集成接口,使第三方軟件系統開發商能夠以高性能、低成本的方式,把SPSS集成到其軟件產品中,從而可以根據需要調用SPSS強大的統計分析功能。由于不同的異構系統在集成過程中的強耦合性會帶來系統開發、維護和升級的困難。因此,在不同系統的集成過程中必須考慮降低耦合性的問題。Web服務能夠實現不同系統之間良好的互操作,并且具有即時裝配、松散耦合、自動集成的能力。它的平臺和語言中立性使得跨平臺的互操作、系統的整合更加容易。

因此本文通過NET平臺將SPSS的部分統計分析功能設計成Web服務,通過訪問Web服務的形式完成SPSS功能的集成。將SPSS集成開發成Web服務,在用戶操作界面可以將功能操作和結果展現做的更加簡單、直觀、容易理解,即使非專業的統計分析人員也可以很容易的使用。同時WEB服務的共享性,還可以降低SPSS投資和使用費用。

1 相關技術介紹

1.1 SPSS的可編程性擴展及.NET插件

SPSS(statistical Analysis System)是目前應用廣泛、功能強大的通用統計分析軟件,提供了大量的統計分析方法。但SPSS學習掌握困難,需要用戶要求較高數理知識和編程能力。為了方便SPSS與其他應用系統的集成,SPSS提供了靈活的外部編程技術支持。外部編程語言和SPSS的交互是通過SPSS提供的SDK(Software Development Kit),該SDK主要由兩個動態鏈接庫文件SPSSXD API和SPSSDXAPI構成。SPSS通過SPSSDX API,即spssdx.dll動態鏈接庫程序來把其他外部編程語言集成在其系統內部,這不是本文討論的主題。

SPSS通過SPSSXD API來實現外部語言程序訪問SPSS功能。SPSS提供了一系列的插件(plug-in)程序,如python plug-in,R plug-in,.Net plug-in。通過這些支持不同語言或平臺的插件,經過SPSSXD API在后臺激活和控制SPSS。

SPSS的.NET插件提供了兩個.NET程序集(Assemblies)。SPSS.BackendAPI.dll是用來啟動SPSS內部接口的動態庫(spssxd.dll),使得在基于.NET平臺的應用程序語言中可以使用SPSSXD API。而SPSS.BackendAPI.Controller.dll包裝了底層的SPSS功能接口并且暴露給SPSS.BackendAPI.dll,它提供的功能包括啟動SPSS,執行SPSS語法命令,讀取和寫人數據,創建SPSS輸出等。SPSS使用自身的命令語言Syntax驅動SPSS做各種統計分析工作,可以讀取數據,進行數據處理以及進行統計分析。Syntax語句類似SQL語句,語句靈活,執行效率高,可以嵌入到SPSS所支持的外部通用語言中。

1.2 Web Service技術

軟件系統構建過程中,特別是在Internet環境的軟件系統下,模塊之間的強耦合會給軟件的維護與升級帶來不利的影響。因此,軟件行業內提出了面向服務的體系結構(SOA),把軟件功能模塊以服務形式進行封裝,按照業務邏輯組合服務完成軟件功能。Web服務(Web Services)是目前在Internet環境下實現面向服務的體系結構(SOA)的主要技術,通過跨平臺、松散耦合的Web Services之間進行相互調用和集成來實現軟件功能目標。XML是Web Service的核心技術,XML為Web Service提供了統一的數據格式,從而幫助消除使用不同組件模型、操作系統和編程語言的系統之間存在的差異,可以滿足Web客戶端、桌面客戶端以及移動客戶端軟件的開發。

根據不同領域對數據分析處理的需要,編寫相關的SPSS統計應用程序。然后將這些特定SPSS的統計應用在.NET平臺下封裝成為Web服務,就可以在Internet或Intranet環境中進行Web服務的發布、發現、動態綁定等,從而實現SPSS統計應用功能的組件化。通過綁定和共享這些服務可以方便快捷的實現SPSS的跨平臺集成。從而使SPSS的強大的統計分析功能可以借助Web服務實現網絡化,不再局限于點對點的服務模式。

2 基于Web服務的SPSS與.NET系統集成

2.1 SPSS與.NET的集成原理

SPSS與.NET的集成原理如圖l所示。

安裝SPSS提供的SPSS Statistics NetPlugln插件程序后,在.NET應用程序中就可以加載和引用SPSS.BackendAPI.dll和SPSS.BackendAPI.Controlller.dll類庫文件中所提供的訪問SPSS的各種類。在SPSS.BackendAPI.Controlller類庫中的Processor類是十分關鍵的一個類。通過Processor類可以創建一個控制SPSS的控制器(processor)實例對象,利用控制器(processor)實例對象的submit方法向SPSS提交Syntax命令以及需要處理的數據。

Processor類的實例對象必須通過SPSS后臺庫文件spssxd.dll驅動SPSS來處理提交的命令。SPSS根據Syntax命令來完成數據的統計分析后,把圖、轉軸表等統計分析結果以OXML(Output XML)形式輸出。提取分析結果首先要通過OMS(Output Man-agement System)命令將生成的分析結果以OXML的形式存儲到XML工作空間。通過Processor類的EvaluateXPath(Xpath)方法可以從XML工作空間將所需的結果提取出來,其中Xpath表達式指定了所需結果的具體位置,提取出來的結果以一維字符串數組的形式保存。最后通過Processor類的StopSPSS方法結束SPSS的一次調用。

2.2 SPSS Service服務的建立

為了更好的利用SPSS資源,在SPSS與.NET集成的基礎上,進一步把集成的程序模塊按照一定的邏輯功能封裝為具有特定任務的Web服務。這些Web服務可以發布在Internet或Intranet上,供其他軟件或系統調用訪問。從而實現SPSS計算資源的共享,同時也解決了系統集成和軟件架構的耦合性問題,對系統或軟件的維護、升級或重用有著積極的意義。參見圖2。

.NET集成開發環境提供了快速方便的Web服務創建過程。開發人員只要編寫核心的業務邏輯程序代碼,.NET系統可以直接完成服務的封裝和發布等操作。

3 實例應用

3.1 Web服務建立

在藥學領域經常用到對藥物的某成分的含量及和其有關的效應進行相關及回歸分析,從而來對藥物進行分析預測。下面以一元線性回歸模型的計算分析為例創建Web服務,該服務的一個接口方法名為regressionAnalyze,通過輸入數據文件路徑(filepath),因變量(dependent)和自變量(indepentent),獲得DataTable類型的分析結果數據。

[WebMethod]

public DataTable

regressionAnalyze(stringfilepath,string dependent,string indepentent)

{

private SpssPlugln p=new SpssPlugln();

//創建SPSS插件對象

p.Plugln();

//載入插件程序,啟動SPSS通信

p.SpssProcessor.Submit("GET FILE'"+filepath+…"'.");//通過SpssProcessor提交數據集

string[] cmds=getSyntaxString(dependent,inde-pendent);//構建SPSS Syntax命令

p.SpssProcessor.Submit(cmds);//提交命令

string[] XpathString=getXpathString();

//構建XPath表達式

//通過Processor類的EvaluateXPath方法提取分析結果

sting[][] analysisValue=new string[XpathString.Length][];

for(int i=0;i

{analysis Value[]=(string[])p.spssProcessor.EvaluateXPath("desctable","/outputTree",XpathString[i]);}

return coefftable;

//并將分析結果以DataTable的形式返回

p.SpssProcessor.StopSPSS();//關閉SPSS

通過ASENET設計Web客戶端程序。Web客戶端向Web服務器發送Web服務請求,Web服務器接受請求后,載入.NET插件程序創建SPSS控制器對象。通過SPSS控制器啟動SPSS通信并上傳源數據集、提交Syntax命令,SPSS執行命令完成統計分析后將分析結果輸出到XML工作空間。SPSS控制器從XML工作空間提取分析結果并將結果返回給客戶端程序。見圖3。

3.2 結果分析

為了驗證本方法所獲結果的正確性,本文采用文獻中所提供的數據,實現對藥學數據的線性回歸分析功能。程序運行的界面和運行結果如圖4所示。頁面上部是數據的輸入部分,選擇數據文件和確定因變量和自變量后提交。頁面下部是由SPPS計算并返回的結果和圖形。與文獻中的結果對比表明計算結果準確,證實了該方法的可行性。

4 結束語

本文介紹了以.NET為開發運行平臺對SPSS軟件進行集成的二次開發技術,并且提出以Web服務調用的方式訪問SPSS強大的分析處理功能,最后用Web客戶端上訪問Web服務實例驗證了本文方法的可行性。實驗結果證明可以將SPAA強大的統計分析功能和web服務的跨平臺性結合起來,發揮這兩個方面的優勢,構建更強大的應用系統,以更大程度地發揮SPSS的分析處理和數據挖掘功能。

主站蜘蛛池模板: 永久成人无码激情视频免费| 国产一区在线视频观看| 国产成人1024精品| 中文字幕在线日本| 国产精品无码久久久久久| 国产精品成人AⅤ在线一二三四| 欧美日韩福利| 无码人妻免费| 亚洲男人的天堂网| 最新国产你懂的在线网址| 亚洲天堂网在线视频| 久久久久无码精品| 夜夜爽免费视频| 日韩二区三区无| 国产成人免费高清AⅤ| 一级爱做片免费观看久久 | 日韩在线欧美在线| 亚洲视频一区| 国产另类视频| 亚洲中文字幕国产av| 久久综合激情网| 国产综合色在线视频播放线视 | 欧美在线中文字幕| 国产一级在线播放| 欧美69视频在线| 亚洲国产综合精品一区| 国产又爽又黄无遮挡免费观看| 国产亚洲精品97AA片在线播放| 中文字幕在线观看日本| 91精品专区| 日本久久久久久免费网络| 亚洲无限乱码| 啪啪国产视频| 激情网址在线观看| 伊人狠狠丁香婷婷综合色| 亚洲国产天堂久久综合| 日韩二区三区| 亚洲人成日本在线观看| 亚洲视频在线观看免费视频| 国产精品九九视频| 在线播放真实国产乱子伦| 亚洲人成网18禁| 91成人在线免费视频| 67194亚洲无码| 这里只有精品在线播放| 日本国产精品一区久久久| 99视频在线观看免费| 国产成人亚洲无码淙合青草| 在线无码九区| 日韩成人午夜| 婷婷丁香色| 亚洲天堂精品在线观看| 久久中文字幕2021精品| 亚洲中文字幕国产av| 五月天香蕉视频国产亚| 中文字幕在线免费看| 精品无码一区二区在线观看| 992tv国产人成在线观看| 美女一级毛片无遮挡内谢| 一级毛片免费观看不卡视频| 日韩在线观看网站| 日韩人妻无码制服丝袜视频| 伊人91视频| 日韩欧美亚洲国产成人综合| 欧美人与牲动交a欧美精品| 呦视频在线一区二区三区| 香蕉国产精品视频| 精品无码一区二区三区在线视频| 国产成人啪视频一区二区三区| 男女精品视频| 无码AV日韩一二三区| 亚洲九九视频| 91精品专区| 72种姿势欧美久久久大黄蕉| 国产极品美女在线观看| 99国产精品免费观看视频| 成人午夜视频在线| 日韩av电影一区二区三区四区| 亚洲欧美在线综合一区二区三区| 好久久免费视频高清| 亚洲欧美成aⅴ人在线观看 | 久久久久青草大香线综合精品|