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