0 引言
商業(yè)智能是當(dāng)前中國的企業(yè)信息化應(yīng)用中最熱門的話題之一,它是衡量一個企業(yè)能否盈利的一個非常重要的指標(biāo)。當(dāng)前,商業(yè)智能系統(tǒng)存在的問題主要表現(xiàn)在集成性差和移植性差這兩方面,從而使系統(tǒng)缺乏一定的靈活性和可擴展性。Windows通訊基礎(chǔ)(Windows Communication Foundation,WCF)是微軟力推的—個架構(gòu)產(chǎn)品,它是.NET平臺下基于SOA(Service Oriented Architecture)技術(shù)的產(chǎn)品,代表了下一代軟件架構(gòu)設(shè)計與開發(fā)的發(fā)展方向,它是構(gòu)建面向服務(wù)的分布式系統(tǒng)的技術(shù)基礎(chǔ),具有開發(fā)性、可擴展性、安全性、并發(fā)性等特點。如何將WCF技術(shù)和商業(yè)智能技術(shù)進行整合,從而達到對數(shù)據(jù)進行高效的處理和分析,為企業(yè)決策支持提供服務(wù),更好解決企業(yè)信息應(yīng)用面臨的問題,具有十分重要的意義。
1 商業(yè)智能相關(guān)概念
商業(yè)智能是將數(shù)據(jù)倉庫(DW)、聯(lián)機分析處理(OLAP)和數(shù)據(jù)挖掘等多項技術(shù)整合在一起應(yīng)用于企業(yè)的信息化建設(shè)中,從多數(shù)據(jù)源中提取相關(guān)的數(shù)據(jù),然后對數(shù)據(jù)進行清洗、轉(zhuǎn)換、載入(ETL)數(shù)據(jù)倉庫或數(shù)據(jù)集市;然后利用OLAP分析工具對數(shù)據(jù)進行分析,這時數(shù)據(jù)就變成企業(yè)決策信息;最后將知識展現(xiàn)給用戶,為企業(yè)決策提供支持。可見商業(yè)智能并不是薪的技術(shù),而是一個解決方案。
商業(yè)智能(BI)的主要技術(shù)包括三個部分:數(shù)據(jù)倉庫(DW)、聯(lián)機分析處理(OLAP)、數(shù)據(jù)挖掘(DM),其中數(shù)據(jù)倉庫是BI的基礎(chǔ),而OLAP是對數(shù)據(jù)倉庫中的信息進行初步分析和處理的工具,數(shù)據(jù)挖掘是對數(shù)據(jù)倉庫中的信息進一步進行知識發(fā)現(xiàn)的工具。數(shù)據(jù)倉庫(Data Warehouse)是一個面向主題的(Subject Oriented)、穩(wěn)定的(Non Volatile)、集成的(Integrated)、反映歷史變化(Time Variant)的數(shù)據(jù)集合,用于支持管理決策(Decision Making Support)。聯(lián)機分析處理(OLAP)的主要技術(shù)是進行多角度的數(shù)據(jù)分析,它對分析所需要的數(shù)據(jù)進行有效集成,按多維模型進行組織,以便從多角度、多層次進行分析。并發(fā)現(xiàn)趨勢。
數(shù)據(jù)挖掘就是從海量的、隨機的、模糊的、實際應(yīng)用數(shù)據(jù)中,獲取隱含在其中知識的過程。數(shù)據(jù)挖掘?qū)嵸|(zhì)是一種深層次的信息分析方法,它能夠在數(shù)據(jù)倉庫中自己尋找規(guī)律,本質(zhì)上數(shù)據(jù)挖掘是一個知識發(fā)現(xiàn)的過程。
2 WCF技術(shù)
在設(shè)計一個分布式系統(tǒng)時主要考慮的因素包括開放性、異構(gòu)性、可擴展性、安全性、透明性、故障處理和并發(fā)性等。從功能上來看,WCF整合了ASP.NET Web Services(ASMX)、.NET Remoting、EntERPrise Service、Web Services Enhancements(WSE)以及Microsoft Message Queue(MSMQ)等現(xiàn)有技術(shù)的優(yōu)點。它提供了構(gòu)建面向服務(wù)的分布式系統(tǒng)的一種架構(gòu)模型,使軟件開發(fā)人員可以更加方便地進行分布式應(yīng)用系統(tǒng)的開發(fā)。
2.1 WCF的基本架構(gòu)
WCF支持的技術(shù)主要包括并發(fā)管理、事務(wù)性、可靠性、安全性等技術(shù),WCF的基本架構(gòu)如圖1所示。
圖1 WCF構(gòu)架示意圖
客戶端,分布式應(yīng)用程序通過代理來接收宿主端提供的服務(wù),而客戶端的代理擁有和宿主端服務(wù)相同的接口。此外還有附加的一些代理管理方法。這就表示即使這個服務(wù)已經(jīng)存在于客戶端機器的內(nèi)存當(dāng)中,客戶端也永遠(yuǎn)不會直接從宿主端調(diào)用服務(wù)。當(dāng)客戶端的代理接收到應(yīng)用程序的調(diào)用的請求時,它將調(diào)用宿主端服務(wù)的消息通過信道向下傳遞。每個信道都會執(zhí)行相關(guān)的調(diào)用前預(yù)處理,如消息的編碼、消息的加密、進行可靠會話等。客戶端最后一個信道負(fù)責(zé)進行傳輸?shù)男诺溃鶕?jù)配置文件的相關(guān)配置約定發(fā)送消息的傳送方式。
宿主端,消息也是通過信道進行傳送。與客戶端相關(guān)信道一一對應(yīng),宿主端信道也要對消息執(zhí)行相應(yīng)的宿主端的調(diào)用前預(yù)處理,如消息的編碼、消息的加密、進行可靠會話等。宿主端的最后一個信道負(fù)責(zé)將客戶端的消息發(fā)送給消息分配器(Dispatcher),由分配器負(fù)責(zé)調(diào)用服務(wù)的實例。
2.2 WCF技術(shù)要點
WCF是基于SOA的一個架構(gòu)產(chǎn)品,其最大的好處就是能夠方便地建立一個服務(wù)。如圖2所示,一個WCF服務(wù)主要由三部分構(gòu)成。
圖2 WCF框架
(1)宿主(Host):WCF服務(wù)運行的環(huán)境,它可以是進程如Windows服務(wù),也可以是應(yīng)用程序。
(2)服務(wù)類(Service Class):標(biāo)記了[serviceContract]屬性的類,在這個類中包含多個方法。除了標(biāo)記了WCF的屬性外,這個類與一般的類沒什么區(qū)別。
(3)端點(Endpoints):端點可以包含一個,也可以是多個,它是WCF進行通信的核心部分。
一個Endpoint包含三部分:地址(Address),綁定(Binding),契約(Contract)。一般稱為是端點的ABC。地址(Address):端點的地址指定端點的所在的IP位置,如果通過端點與WCF進行通信,必須指定端點的網(wǎng)絡(luò)地址。
綁定(Binding):指定該端點與外界通信的方式,即為端點指定某一種通信擲議。
契約(Contract):消息所攜帶的內(nèi)容即是契約,同時還描述了消息的操作和組織的形式。
通過以上描述可以理解到端點中的ABC代表的含義分別是:what,how,where。在WCF發(fā)送消息的時候,通過地址知道消息傳送的位置,通過綁定知道它傳送的方式,通過契約則知道傳送的消息的內(nèi)容是什么。
在WCF中,ServiceEndpoint類表示一個端點,在這個類中包含了的Endpoint Binding,Address,Contract Description類型分別對應(yīng)端點的綁定、地址和契約。
3 基于WCF的商業(yè)智能平臺設(shè)計
在企業(yè)內(nèi)部商業(yè)智能作為企業(yè)數(shù)據(jù)倉庫的解決方案,發(fā)揮了極其重要的作用,但是企業(yè)內(nèi)部的數(shù)據(jù)倉庫信息往往無法滿足企業(yè)決策者進行分析決策的需求,需要網(wǎng)絡(luò)分析獲得的知識來共同完成企業(yè)的輔助決策。基于WCF的商業(yè)智能就成為解決上述弊端的最佳途徑。
3.1 平臺的系統(tǒng)結(jié)構(gòu)
文中提出了一種基于WCF的商業(yè)智能的平臺,此平臺的結(jié)構(gòu)模式是B/S架構(gòu)。用戶界面采用Web頁面形式,用戶通過web頁面在瀏覽器端向服務(wù)器端進行服務(wù)請求的提交,請求當(dāng)中包含了數(shù)據(jù)ETL,OLAP數(shù)據(jù)的查詢、數(shù)據(jù)挖掘等,服務(wù)器端負(fù)責(zé)對瀏覽器端的請求進行處理,隨后將處理的結(jié)果返回到瀏覽器端。一個瀏覽器可以同時訪問多個服務(wù)器,形成多點到多點、一點到多點的結(jié)構(gòu)模型。基于WCF的商業(yè)智能平臺結(jié)構(gòu)如圖3所示。
圖3 基于WCF的商業(yè)智能平臺
各組成部分說明如下:
(1)數(shù)據(jù)源層:也稱為操作數(shù)據(jù)層,是整個數(shù)據(jù)倉庫的基石,提供整個系統(tǒng)原始的數(shù)據(jù)。通常為企業(yè)的業(yè)務(wù)數(shù)據(jù)庫和相關(guān)外圍數(shù)據(jù),其來源為企業(yè)的業(yè)務(wù)系統(tǒng),包括關(guān)系數(shù)據(jù)庫(Oracle、DB2、SQL Server、Sybase等)以及文本中的業(yè)務(wù)信息數(shù)據(jù)。
(2)數(shù)據(jù)ETL層:由WCF端點和數(shù)據(jù)庫的ETL服務(wù)器組成,主要是將業(yè)務(wù)數(shù)據(jù)庫中的數(shù)據(jù)信息經(jīng)過抽取(Extract)、轉(zhuǎn)換(Transform)和加載(Load)到數(shù)據(jù)倉庫或者數(shù)據(jù)集市中。文中所設(shè)計的平臺,在數(shù)據(jù)ETL服務(wù)器中首先按要求定義相關(guān)的ETL操作,明確數(shù)據(jù)的來源和目標(biāo)數(shù)據(jù)倉庫,然后將所定義的相關(guān)的ETL作業(yè)發(fā)布為WCF的端點來提供ETL的服務(wù)。
數(shù)據(jù)ETL服務(wù)也可以連接數(shù)據(jù)ETL服務(wù)器進行查詢和管理ETL作業(yè)。
(3)物理層:采用數(shù)據(jù)倉庫或者數(shù)據(jù)集市來保存經(jīng)過處理的相對穩(wěn)定的業(yè)務(wù)數(shù)據(jù),本平臺支持多種數(shù)據(jù)倉庫或者數(shù)據(jù)集市數(shù)據(jù)的關(guān)系型數(shù)據(jù)庫和OLAP服務(wù)器。
(4)邏輯應(yīng)用層:由基于wCF的商業(yè)智能服務(wù)器以及前端展現(xiàn)服務(wù)組成。商業(yè)智能服務(wù)器具有管理元數(shù)據(jù)功能、分析功能、安全功能,是用于連接后臺的數(shù)據(jù)倉庫或者數(shù)據(jù)集市,為前端展現(xiàn)查詢、報表、分析、數(shù)據(jù)整合、績效管理等相關(guān)服務(wù)。前端展現(xiàn)服務(wù)包含查詢(報表、服務(wù)、分析等)、管理(報表、權(quán)限和語義層等)、連接(分析服務(wù)器等)等功能,發(fā)布給企業(yè)內(nèi)部系統(tǒng)用戶和企業(yè)外部系統(tǒng)用戶進行調(diào)用。
(5)表示層:主要負(fù)責(zé)數(shù)據(jù)的展現(xiàn),為方便用戶的使用本平臺采用了現(xiàn)在流行的B/S結(jié)構(gòu),以便實現(xiàn)各個方位的數(shù)據(jù)展示,配合數(shù)據(jù)挖掘技術(shù),使用戶關(guān)注的數(shù)據(jù)充分的多角度的進行展現(xiàn)。報表、查詢、分析以及圖表生成等工作簡單方便,創(chuàng)造了一個多方位多角度的數(shù)據(jù)分析展現(xiàn)環(huán)境,使數(shù)據(jù)的價值得到進一步的提升。用戶包含企業(yè)內(nèi)部系統(tǒng)、企業(yè)外部系統(tǒng)和個人用戶。
3.2 基于WCF的商業(yè)智能平臺系統(tǒng)的實現(xiàn)
基于WCF在商業(yè)智能的平臺的應(yīng)用主要表現(xiàn)在數(shù)據(jù)的抽取、轉(zhuǎn)換、裝載過程和數(shù)據(jù)的前端展現(xiàn)過程,在該平臺中,數(shù)據(jù)的ETL和數(shù)據(jù)的前端展現(xiàn)功能是平臺的最為關(guān)鍵的部分。在WCF的服務(wù)模型中一個服務(wù)具有一個或多個端點,通信會被指向到這些提供服務(wù)的端點。端點則是由地址、綁定和契約三部分組成。使用WCF的服務(wù)模型,一般首先定義契約,契約定義這個服務(wù)端點所提供的操作功能,也就是具體的服務(wù)內(nèi)容。定義契約后則是要實現(xiàn)這個契約。在實現(xiàn)契約后是選擇契約的承載服務(wù),可以承載的服務(wù)包括以下幾種:自承載、IIS和Windows進程激活服務(wù)(WAS),使用何種方式則根據(jù)具體的應(yīng)用需求。一般說用IIS來承載的服務(wù)對應(yīng)Web應(yīng)用。對于需要明確客戶端與服務(wù)器端之間的進程時則使用自承載、Windows進程激活服務(wù)承載服務(wù)(WAS)則是適用于vista系統(tǒng),它支持WCF所支持的所有可用的傳輸協(xié)議、隊列和端口,IIS則是只能使用HTTP協(xié)議。最后指定綁定和地址。
下面給出一段使用自承載方式提供的按名稱獲取銷售量數(shù)據(jù)服務(wù)的實現(xiàn)代碼:
(1)契約定義與實現(xiàn)。
(2)服務(wù)的自承載。
4 結(jié)束語
當(dāng)前商業(yè)智能率先在政府、金融、制造等行業(yè)大規(guī)模地應(yīng)用,未來經(jīng)濟的發(fā)展越來越離不開商業(yè)智能預(yù)測分析系統(tǒng)與互聯(lián)網(wǎng)的快速性、便捷性的結(jié)合,WCF是分布式領(lǐng)域的一個新技術(shù)。關(guān)注WCF技術(shù)的發(fā)展并在實際項目中合理運用是十分必要的。介紹了WCF的基本思想以及使用WCF構(gòu)建商業(yè)智能系統(tǒng)的體系結(jié)構(gòu)與技術(shù)要素,這個平臺的應(yīng)用必將會帶動企業(yè)決策分析能力達到一個更高的程度,快速提升企業(yè)的綜合實力和競爭力。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://m.guhuozai8.cn/
本文標(biāo)題:基于WCF的商業(yè)智能系統(tǒng)的應(yīng)用研究
本文網(wǎng)址:http://m.guhuozai8.cn/html/consultation/1083936332.html