戴偉
摘 要:如今傳統(tǒng)的電子商務模式已經無法滿足不同企業(yè)之間的數(shù)據(jù)收集、信息交換等工作,Web Service的互操作性與松散耦合等特性解決電子商務異構平臺間的數(shù)據(jù)傳遞問題,構建柔性的動態(tài)電子商務平臺是現(xiàn)代電子商務系統(tǒng)開發(fā)的趨勢。
關鍵詞:電子商務 動態(tài)構建 Web service
中圖分類號:TP319 文獻標識碼:A 文章編號:1007-3973(2013)006-097-02
我國電子商務的發(fā)展日趨成熟,企業(yè)間的協(xié)作越來越密切,在很多情況下需要多個企業(yè)共同來完成整個電子商務流程。但是每個企業(yè)所采用的電子商務系統(tǒng)各不相同,在傳統(tǒng)的電子商務模式下各個企業(yè)之間的信息數(shù)據(jù)傳遞存在技術障礙。而動態(tài)的電子商務系統(tǒng)能夠解決不同電子商務平臺間的數(shù)據(jù)傳統(tǒng)問題,適應企業(yè)電子商務不斷變化的需求。而Web Service是構建動態(tài)電子商務的關鍵技術,通過利用Web服務的動態(tài)特性,企業(yè)可以根據(jù)不斷變化的業(yè)務流程,隨時重新構建電子商務系統(tǒng)。
目前電子商務交易平臺主要采取網站形式,采用三層B/S結構,即客戶表達層、業(yè)務邏輯層以及數(shù)據(jù)層,采取這種方式開發(fā)的電子商務交易平臺通用性和可移植性較差,特別是對數(shù)據(jù)層中的信息維護難度較大,容易形成一個個的數(shù)據(jù)孤島。采用上述方式構建的電子商務平臺是一種靜態(tài)開發(fā),一旦平臺中涉及的商務流程發(fā)生變化,需要重新對業(yè)務流程邏輯進行部署,因此需要在代碼級別對已經開發(fā)好的電子商務交易平臺進行修改。針對傳統(tǒng)電子商務交易平臺開發(fā)中存在的上述問題,本文提出一個基于Web service技術的電子商務交易平臺動態(tài)構建方法。將電子商務交易平臺設計過程中常用的功能模塊封裝,然后在注冊中心進行發(fā)布。在進行電子商務交易平臺開發(fā)時,采取工作流技術對流程進行動態(tài)部署,構建相應電子商務流程。
1 Web service技術
Web service是面向服務計算的一種實現(xiàn)模式,是發(fā)布在網絡中的平臺獨立、松耦合、自包含且具有標準化接口的應用程序模塊。用戶將要實現(xiàn)的業(yè)務功能按照指定的格式進行編程,并封裝為相應的應用程模塊進行發(fā)布,使用者即可通過網絡對這些封裝好的Web service進行調用,使用者不需要考慮如何進行設計和開發(fā),只需要了解其調用接口,因此適用于開發(fā)分布式的互操作的應用程序。
一般來說,Web service體系結構涉及到三種角色:注冊中心、提供者以及調用者。這三種角色之間對應了三種操作關系:發(fā)布、查找以及綁定。提供者是應用程序的開發(fā)者,需要將設計好的程序模塊按照指定格式進行封裝,然后將其在注冊中心進行發(fā)布,注冊中心則是一個注冊庫,早期大都采取UDDI服務器的形式,現(xiàn)在則多為采取專業(yè)網站的進行分類存儲,以便于用戶進行查找和使用。因此,調用者如果想使用某個應用程序,必須先在注冊中心進行查找,一旦找到符合自己需求的應用程序,則需要安裝應用程序的說明(WSDL文件)中的地址和調用方法去提供者那里綁定所查找的應用程序。
2 動態(tài)電子商務系統(tǒng)構建
電子商務系統(tǒng)主要用于企業(yè)的產品展示和銷售,為了能夠動態(tài)的進行電子商務系統(tǒng)的構建,需要將交易平臺中涉及到主要操作以功能模塊的形式進行劃分,然后封裝為應用程序發(fā)布到注冊中心。通過分析當前主流的電子商務系統(tǒng),將系統(tǒng)中的功能主要劃分為以下模塊:企業(yè)信息管理、產品信息管理、產品的展示與檢索、訂單管理、客戶管理、銷售管理、支付管理以及配送管理等。為了便于應用程序實現(xiàn),上述功能模塊可以進一步細化。由于不同的程序設計語言在開發(fā)Web service應用程序語法規(guī)范不同,本文不再敘述如何進行應用程序的開發(fā)過程,假設在注冊中心已經發(fā)布了眾多的可以實現(xiàn)電子商務系統(tǒng)中功能的Web service應用程序,下面介紹一下如何動態(tài)構建電子商務系統(tǒng)。
工作流是一類能夠完全或者部分自動執(zhí)行的經營過程,根據(jù)一系列過程規(guī)則,文檔、信息或任務能夠在不同的執(zhí)行者之間傳遞、執(zhí)行。工作流的過程模型是流程描述的載體,通常由若干任務(活動)以及任務之間的流程轉換關系組成。本文引入工作流技術進行電子商務系統(tǒng)的功能模塊的動態(tài)部署。將服務注冊中心的Web service應用程序映射為工作流過程模型中的任務,通過這些任務之間流程轉換關系來約束電子商務系統(tǒng)中的交易流程。在進行電子商務系統(tǒng)開發(fā)時,提供系統(tǒng)的界面模板和流程建模環(huán)境,自由的對需要加入到系統(tǒng)中的應用程序進行選擇,從而快速進行電子商務系統(tǒng)的動態(tài)開發(fā)。
一個界面模板由以下幾部分組成:界面結構樹、Web service應用程序集合以及工作流過程模型。界面模板用來生成電子商務系統(tǒng)中的一個交易頁面。在其三個組成部分中,界面結構樹用來描述一個交易頁面中的區(qū)域劃分以及他們之間的層次關系;Web service應用程序集合是這個頁面中涉及到的操作集合,即頁面中對應的功能模塊的應用程序,工作流過程模型用來描述交易頁面中的操作之間的轉移關系。
界面結構樹在縱向和橫向兩個層次上描述各個組成區(qū)域之間的鄰接關系,在定義時采取先縱向后橫向。在劃分了相應區(qū)域后可以為每個區(qū)域添加相應的Web service應用程序集合,集合中的Web service將被加載到相應區(qū)域,如果這些應用程序之間存在流程關系,則需要引入工作流過程模型,定義這些應用程序之間執(zhí)行關系。
本文采取有向圖描述工作流過程模型,工作流過程模型被定義為一個有向圖WFP={N, A},其中N= {ti | i=1...,m}為結點集合,A {(ti,tj) | ti, tj∈N}為結點之間的連接弧集合,用以描述流程之間的轉換關系。
根據(jù)流程描述的需要,結點集合N中的結點被分為五大類{S,T,ST,R,E},各類結點含義如下:
(1)S:起始結點,表示工作流過程模型的開始。
(2)T:任務結點,表示工作流過程模型中需要處理的任務,一個任務結點對應于某個區(qū)域的Web service應用程序集合的某個應用程序。
(3)ST:子過程結點,表示一個子工作流程。
(4)R:路由結點,負責工作流過程模型的流程控制。
(5)E:結束結點,表示工作流過程模型的結束。
工作流過程模型中的連接弧A的弧定義各項含義如下:
(1)ProcessId :弧所隸屬的工作流過程模型ID。
(2)ArcId :弧的ID標識。
(3)PreId :弧所連接的前驅節(jié)點ID標識。
(4)PostId :弧所連接的后繼節(jié)點ID標識。
(5)TList :弧所附加的轉移條件列表,為一布爾表達式集合,其中的每一個表達式均為布爾型轉移函數(shù),只有在表達式值為真時,該連接弧的后繼節(jié)點被觸發(fā)。
針對文中敘述的工作流建模,我們開發(fā)了相應的工作流過程模型建模工具,并且設計了工作流引擎,工作流引擎根據(jù)過程模型之間的依賴關系,自動的映射生成相應的業(yè)務代碼,目前主要支持C#和Java語言的業(yè)務流程代碼的生成。采用上述方式進行開發(fā)的電子商務系統(tǒng)具備較大柔性。一旦當前流程不再適合交易的需求,可以通過修改其對應的工作流過程模型來修改交易流程。對交易系統(tǒng)的動態(tài)修改包含兩個層次:(1)在流程不變的情況下,重新為流程中的任務進行應用程序的綁定;(2)重新構建交易平臺的流程,即修改工作流過程模型。因此本文中提出的方法可以快速的動態(tài)重構電子商務系統(tǒng)。
電子商務系統(tǒng)一旦開發(fā)后,對交易平臺中的交易流程修改難度非常大,需要對已有程序進行較大服務的改動。而動態(tài)的電子商務系統(tǒng)構建方法,可將交易平臺中涉及到的功能模塊采用Web service進行封裝和發(fā)布,然后對交易平臺的界面采取界面模板進行劃分,引入工作流建模,動態(tài)構建交易流程,當交易平臺需要進行修改時,可以通過修改工作流過程模型中的任務結點綁定的應用程序或者重新編輯工作流過程模型來實現(xiàn)交易平臺的動態(tài)重構?;赪eb services 的動態(tài)電子商務系統(tǒng)是非常有效的跨平臺應用系統(tǒng),能夠提高企業(yè)業(yè)務流程變化的應對能力,有助于解決目前電子商務面臨的諸多問題。