摘#8195;要基于面向服務(wù)的體系結(jié)構(gòu)(SOA)構(gòu)建訂單管理系統(tǒng)可以在保護(hù)原有系統(tǒng)前提下,解決企業(yè)信息孤島,新增服務(wù)和共享服務(wù)等問題,使系統(tǒng)具有高度復(fù)用性和可擴展性。
關(guān)鍵詞面向服務(wù)體系結(jié)構(gòu);Web服務(wù);訂單管理
中圖分類號TP文獻(xiàn)標(biāo)識碼A文章編號1673-9671-(2012)041-0116-01
隨著信息化的快速發(fā)展,導(dǎo)致企業(yè)由于初期缺乏統(tǒng)一規(guī)劃而建立的眾多子系統(tǒng)不能互聯(lián)互通和資源共享,進(jìn)而形成信息孤島。同時,為適應(yīng)市場競爭而變化的業(yè)務(wù)流程調(diào)整無法在目前企業(yè)的IT架構(gòu)中及時方便的反應(yīng),抑制了企業(yè)的發(fā)展。
使用SOA來構(gòu)建訂單管理系統(tǒng)可以將原有系統(tǒng)中的業(yè)務(wù)流程封裝成服務(wù)(如果業(yè)務(wù)流程較復(fù)雜,可將將業(yè)務(wù)流程分解成多個服務(wù),每個服務(wù)對應(yīng)原有系統(tǒng)中的單一功能),這樣,企業(yè)原有系統(tǒng)如需要更新原有功能或者添加新功能,都可以以模塊化(服務(wù))的方式進(jìn)行??傊赟OA構(gòu)建系統(tǒng),既可以將原有系統(tǒng)的功能封裝成服務(wù)以保護(hù)已有的投資,又給企業(yè)更好的靈活性、高復(fù)用性和擴展性來構(gòu)建新的應(yīng)用和業(yè)務(wù)流程。
1SOA
面向服務(wù)的架構(gòu)(service-oriented architecture,SOA)是一個將應(yīng)用系統(tǒng)的不同功能通過服務(wù)間的接口和契約聯(lián)系起來的一種組件模型。接口采用獨立于硬件平臺、操作系統(tǒng)和實現(xiàn)服務(wù)的計算機語言的中立的方式定義,因此構(gòu)建在不同系統(tǒng)中的各種服務(wù)可以以統(tǒng)一和通用的方式進(jìn)行交互。
在使用面向服務(wù)的結(jié)構(gòu)設(shè)計系統(tǒng)時,需要以服務(wù)為單位進(jìn)行系統(tǒng)建模。服務(wù)的建模要關(guān)注兩個方面:一個是粒度,一個是耦合。粒度表示一個服務(wù)的大小,即服務(wù)操作的范圍。耦合代表的是服務(wù)與服務(wù)之間的關(guān)系。耦合性受到服務(wù)粒度很大的影響,粒度的選擇決定了系統(tǒng)內(nèi)部的耦合性。服務(wù)粒度往往根據(jù)系統(tǒng)需求確定。
2訂單處理流程服務(wù)設(shè)計
2.1訂單處理概述
所謂訂單處理:就是由訂單管理部門對客戶的需求信息進(jìn)行及時的處理,這是物流活動的關(guān)鍵之一。是從客戶下訂單開始到客戶收到貨物為止整個處理活動。
2.2訂單處理流程
訂單處理是企業(yè)物流活動的的一個核心業(yè)務(wù)流程,大致包括以下幾個步驟:訂單準(zhǔn)備、傳送、錄入、履行和跟蹤等。訂單處理是企業(yè)客服目標(biāo)最重要的要素之一。準(zhǔn)確分析各種訂單類型、改善各種訂單的處理過程、縮短周期、提高訂單需求的滿足率和準(zhǔn)確率、跟蹤訂單的全過程,可以在降低物流總成本的同時提高客服水平和顧客滿意度,還可以有效降低庫存水平。業(yè)務(wù)處理流程如圖1。
3訂單處理流程服務(wù)設(shè)計
對系統(tǒng)服務(wù)建模遵循以下思路:將系統(tǒng)功能模塊抽象為基本服務(wù);在基本服務(wù)的基礎(chǔ)上設(shè)計組件和業(yè)務(wù)對象,并將需要多個服務(wù)協(xié)作才能完成的業(yè)務(wù)流程設(shè)計成組合服務(wù)。當(dāng)根據(jù)業(yè)務(wù)需要改變組合服務(wù)時,整個系統(tǒng)的改動不會太大,因為組合服務(wù)都是通過基本服務(wù)和工作流程組合起來的。
3.1相關(guān)Web服務(wù)
系統(tǒng)中web服務(wù)可以基于本機.net或Java平臺開發(fā),調(diào)用時可以在較短時間內(nèi)得到結(jié)果,故都采用了同步服務(wù)。訂單處理過程中主要涉及到的Web服務(wù)分別是:
1)訂單準(zhǔn)備和訂單傳送服務(wù)。訂單準(zhǔn)備服務(wù)可以使手工和電
子操作,作用是根據(jù)客戶的需求進(jìn)行訂單的生產(chǎn),可以提供電子或是手工的方式進(jìn)行傳送服務(wù)。
2)訂單錄入服務(wù)。訂單錄入服務(wù)可以調(diào)用基本服務(wù)StorageService,進(jìn)行庫存查詢、調(diào)用基本服務(wù)CreditCheckingService進(jìn)行客戶信用檢查,GillGenService產(chǎn)生賬單等等。
3)訂單履行服務(wù)。訂單履行服務(wù)OrderPerformingService,調(diào)用相關(guān)服務(wù)實現(xiàn)配送調(diào)度、準(zhǔn)本運輸單據(jù)等業(yè)務(wù)、調(diào)用安排生產(chǎn)服務(wù)ArrangeProductionService,通過此端口調(diào)用基本服務(wù)訂單排產(chǎn),完成訂單的排產(chǎn)操作。
4)訂單跟蹤服務(wù)。訂單跟蹤服務(wù)OrderShadowscrvice,通過此端口收集客戶的反饋信息。
3.2Web服務(wù)調(diào)用
Web服務(wù)中的WSDL文檔中的一個wsdl:service元素可以被動態(tài)或靜態(tài)地創(chuàng)建一個Service實例。不論是動態(tài)還是靜態(tài)的Service實例,都可以創(chuàng)建一個代理,通過代理來使用服務(wù)端點接口(SEI:Service Endpoint Interface)實現(xiàn)對web服務(wù)的調(diào)用;
另外,Service實例也可以通過發(fā)送和接手XML消息來調(diào)用web服務(wù)。通過createDispatch方法提供一個javax.xml.ws.Dispatch實例,構(gòu)造自己的soap消息,再將其直接發(fā)送到一個Web服務(wù)。
4結(jié)束語
基于面向服務(wù)架構(gòu)構(gòu)建的訂單管理系統(tǒng)可以在保留現(xiàn)有IT投資的基礎(chǔ)上,解決舊系統(tǒng)中存在的信息孤島問題,并在系統(tǒng)中增加新的功能及應(yīng)用更新時在成本和靈活性上具有優(yōu)勢。
1)增加重用,易于使用、管理。新的系統(tǒng)中將業(yè)務(wù)封裝成Web服務(wù),并公布這些獨立服務(wù)的接口,當(dāng)服務(wù)的消費者調(diào)用服務(wù)時,在服務(wù)中心進(jìn)行查找和調(diào)用即可,減少了成本并且降低了系統(tǒng)維護(hù)風(fēng)險。
2)對業(yè)務(wù)流程的變化可以快速響應(yīng)。新系統(tǒng)中所有Web服務(wù)之間都是松耦合的,當(dāng)企業(yè)的業(yè)務(wù)流程變化時,僅需要對現(xiàn)有的Web服務(wù)進(jìn)行適當(dāng)?shù)闹匦陆M合即可適應(yīng)業(yè)務(wù)流程的變化(當(dāng)功能需要變更時,也僅僅需要更新相關(guān)Web服務(wù),而不需改變其他因素),這樣就可以減少開發(fā)新軟件的時間。
作者簡介
劉本發(fā)(1972—),男,湖北江陵人,華中科技大學(xué)碩士,湖北青年職業(yè)學(xué)院信息工程系講師,研究方向:web服務(wù)。