尹韶峰
對于傳統的發動機營銷模式而言,發動機廠家的利潤主要來自發動機和配件的銷售,但是隨著社會的發展和市場全球化的趨勢,售后市場的利潤所占的分額越來越大,售后服務從簡單的維修維護轉變為為客戶提供多樣性的增值服務。
為了滿足主動、積極的售后服務方式,并充分利用和發現現有資源,本文提出采用SOA架構[1]的售后服務平臺,整合現有和擬建的各種應用和服務,對資源進行統一描述、發布和調用[4],解決發動機全生命周期中松耦合、分布式信息的共享問題,以滿足企業的需求。
SOA是面向服務的系統體系結構,是進行系統資源整合的一種架構[8]。SOA是以業務邏輯為中心的業務應用系統[9]。符合SOA的應用系統以松耦合的方式,對外提供標準的服務調用接口[2]。
本平臺采用SOA作為系統的技術架構,可以將發動機從訂單的接收、計劃的制定、生產制造到入庫與銷售以及維修全生命周期過程中的各應用系統進行共享和集成,并以服務的形式進行包裝和發布,以實現系統的可重用性和敏捷性。
平臺劃分為五個層次,分別為表示層、服務層、業務層、訪問層和數據層,技術架構如圖1所示。

圖1 平臺的技術架構
1)表示層:內部、外部和合作企業等用戶訪問系統的接口,用戶通過瀏覽器對平臺發送各種操作,接受用戶的輸入和輸出的請求,對這些操作進行響應,給出相應的結果。表示層與界面元素有關,是基于ASP.NET來實現的。
2)服務層:按照統一的標準包裝業務層的類和方法,封裝為WEB服務,并編寫服務的接口,這些服務包括合約、接口和實現,服務之間通過企業服務總線ESB 實現消息路由。通過在UDDI注冊中心[7]上綁定和發布服務,可以屏蔽服務的來源、位置等信息,提高系統的靈活性。
3)業務層:具體的業務規則和業務流程,包括技術、營銷、服務和維修等保密的業務流程以及發動機實時監控和故障處理的管理邏輯等,對業務進行抽象,封裝為業務的實體類和方法,提供給服務層調用。
4)訪問層:通過數據庫連接控件ADO.NET,實現了對數據的獲取和操作,支持多種數據庫,屏蔽了不同數據庫系統的差異。
5)數據層:包括SQL Server、ORACLE和DB2等異構數據庫系統,保存系統的業務和管理數據,保證數據的一致性。
服務粒度是指一個服務包含的功能多少,服務粒度的粗細直接影響服務的可重構性。細粒度的服務提供相對較小的功能單元,或交換少量的數據。相反,粗粒度的服務是在一個抽象的接口中封裝了大塊的業務功能,交互更多的數據,減少服務請求相互的次數,但同時也會帶來服務實現的復雜性,不能迅速更改以適應需求的改變[5]。圖2顯示了細粒度服務的依賴關系。

圖2 細粒度服務依賴關系
由圖2可知,細粒度服務接口對象之間相互緊密依賴,隨著對象數量的增加,系統的規模和復雜性會迅速增長,系統管理和維護將會異常困難,同時系統效率也會受到影響。因此,可以通過一組粗粒度的接口在服務范圍內控制對象的訪問,如圖3所示。

圖3 粗粒度服務依賴關系
服務層將所有的系統功能都封裝為不同粒度的服務,然后通過EJB組件把各種服務和業務流程公開為Web服務,采用MCF技術來創建和部署Web服務[5],很好的滿足了各種人員和各種業務的需求。
服務層中的服務按功能和服務粒度的不同劃分為三種:基礎服務、綜合服務和編排服務,每種服務都有各自對應的設計方法和開發模式。
基本服務:建立了用來表示一定技術功能的底層操作,是提供給其他服務調用的基礎服務,其目的是要在新的或原有應用環境之內提供處理數據相關的可重復使用的功能。它基本上都是一些細粒度的服務,一般是面向數據的而不是面向業務的,比如對數據庫的一次I/O訪問,可將其定義為一個“基本服務"。
綜合服務:引入了專注于表示邏輯的服務。綜合服務的功能主要是對基礎服務提供的服務的重新組織,形成新的服務。綜合服務通常是一些粗粒度的服務,它們執行較復雜的功能,交換更多的數據。在售后服務平臺中一些獨立的應用服務,如數據加密、解密等。
編排服務:最大的服務,它采用BPEL語言對業務流程進行編排,將業務流程建模與面向服務的建模與設計結合在了一起,按照業務規則與業務邏輯來組合綜合服務和基本服務。在售后服務平臺中,典型的屬于編排服務層的服務有:分期貸款服務、地圖信息服務等。
服務注冊首先編寫WSDL文件[3],WSDL文件中描述服務的功能和接口調用,將它封裝為Web services 組件;然后在Web Services 注冊服務器上注冊,注冊服務器依據WSDL 的描述,依照UDDI的協定更新服務目錄并在Internet 上發布[9]。
本平臺在某發動機公司進行了應用,系統通過采用 .NET Framework來實現分層結構,系統的物理結構如圖4所示,系統主要由兩個部分組成:車載智能終端系統和控制中心。下面分別介紹。

圖4 售后服務平臺的系統結構
車載智能終端是獲得車輛的實時GPS信息和各種實時狀態信息的一套安裝在被監控車輛上的硬件設備,能夠實時的獲取車輛的GPS、發動機狀態等信息。包括GPS模塊、發動機的傳感器模塊、主控模塊、存儲模塊和GPRS通信模塊五個模塊。
控制中心子系統是發動機廠企業內部用戶、外部用戶及合作企業等各方面的人員的直接接口,是系統的核心部分。其主要功能如下。
為用戶訪問資源提供統一入口,實現統一用戶管理、統一身份認證和統一權限管理,保證用戶無論身處何地,只要通過了統一身份認證,就能合法地使用系統的各種資源。
提供與Internet網絡相連的鏈路和接口,記錄每一車載發送數據的鏈路狀態,下發控制命令,監控各鏈路的通訊狀態,出現異常時自動重連。
通過網絡平臺提供給用戶主動的保養、維修的服務,查詢記錄等,通過平臺對車載智能終端進行操控,控制車輛和發動機的狀態,下發命令,處理車輛和發動機的異常,鎖定車輛。
對車輛運行的軌跡和狀態進行跟蹤和展示,監控人員可以通過GIS電子地圖查看監控車輛的實時位置和歷史軌跡,對發動機的各種技術參數進行查詢和統計。
對發動機的分期付款進行管理,提醒用戶付款,查看還款情況。
通過此售后服務平臺的運行,使發動機公司的售后服務工作從被動變成主動式的服務,提高客戶滿意度,從而能更好的促進發動機的銷售,增強客戶的品牌依賴度。
本文在分析了發動機公司售后服務需求的基礎上,結合對SOA體系結構的研究,構建了基于SOA的網絡售后服務平臺,此平臺的系統設計采用超前思維、先進技術和軟件工程方法,保證其在未來若干年內占主導地位。
[1]袁月楊,麻萌莉.SOA&Web2—新商業語言[M].北京:清華大學出版社,2007.
[2]張卓.基于SOA的企業信息系統架構設計[D].長春:吉林大學,2008,04.
[3]Alonso G,Casati F.Web Services and Service—oriented Architectures[J].Proceedings of 21st International Conference on Data Engineering,Tokyo,Japan,2005:1147.
[4]李聚波,鄧效忠,徐愛軍,等.齒輪企業基于面向服務架構的應用集成框架與實現[J].計算機應用研究,2010,27(5):1760-1763.
[5]趙亮.SOA中服務建模與設計的原理及方法研究[D].西安:西北大學,2008,06.
[6]Geoffrey Fox,Shrideep Pallickara,Savas Parastatidis.Toward Flexible Messaging for SOAP-Based Services[J].Apri l 2004.
[7]UDDI Specification.http://www.uddi.org/.
[8]簡斌,左榮國,閨光榮,等.基于SOA的中小制造企業應用集成系統研究[J].計算機工程,2007,35(5):243-245.
[9]柴曉路,梁宇奇.Web Services 技術、架構和應用[M].北京:電子工業出版社,2003:12-20.