韓 睿
(山西職業(yè)技術學院,山西 太原 030006)
近年來,隨著計算機網絡技術的飛速發(fā)展,電子商務作為新興第三產業(yè),發(fā)展也日趨成熟起來,并對人們的日常生活、購物、消費等行為產生了及其深刻的影響。其中廣為人知的電商平臺主要有境外的亞馬遜、國內的淘寶、京東、拼多多等,隨著這些電商平臺被人們廣泛的接受和應用,網上交易的安全支付問題也日益凸顯,現(xiàn)今通過電商平臺交易最為核心的技術問題就是如何保障用戶的交易安全。第三方支付平臺的主要目的就是為電子商務交易安全提供技術保障,例如支付寶就是典型的第三方支付平臺。早期的支付寶并不是獨立的支付平臺,而是以淘寶為基礎平臺的嵌入式支付系統(tǒng),之后在2004年才實現(xiàn)了獨立的平臺,經過了十幾年的發(fā)展完善,支付寶已經不僅僅是一個單純的支付平臺,而是變成了一個多元化的金融服務平臺[1]。繼支付寶之后,微信、京東、百度、銀聯(lián)云閃付也都陸續(xù)推出了自己的支付平臺。隨著各類支付平臺的應用推出,其架構的穩(wěn)定性、兼容性改進也成了當前的研究熱點,在此前提背景下,本文重點針對JavaEE開發(fā)框架的技術特點進行了深入研究,并嘗試基于JavaEE框架設計與開發(fā)了一個第三方電子商務支付平臺。
JavaEE提供了企業(yè)級應用軟件開發(fā)的一套技術框架,核心思想是“分層而治”,將軟件開發(fā)框架劃分為頂層表示層、中間業(yè)務層與底層數(shù)據(jù)層三個層級[2]。其中表示層做為頂層應用,主要用于部署用戶顯示界面的各類功能,界面顯示的主要開發(fā)技術即WEB頁面開發(fā);業(yè)務層是JavaEE框架的中間層,也是核心邏輯層,主要用于實現(xiàn)與數(shù)據(jù)處理相關的業(yè)務請求、響應等邏輯事務,以及與表示層、數(shù)據(jù)層之間的數(shù)據(jù)交互功能;底層數(shù)據(jù)層提供了底層數(shù)據(jù)源與數(shù)據(jù)的映射關系和數(shù)據(jù)庫訪問接口,為有效保障數(shù)據(jù)的安全性,底層數(shù)據(jù)庫不能被外部直接訪問,而是需要通過底層數(shù)據(jù)源的映射關系調用指定的數(shù)據(jù)庫接口來實現(xiàn)數(shù)據(jù)訪問的。各層之間相對功能獨立,松耦合關聯(lián),易于各個層的獨立維護與功能擴展。同時各層內采用“容器+組件”的結構模式,各類開發(fā)技術以組件的形式封裝在容器之內,組件之間可靈活調用、共享,又可獨立開發(fā)、升級迭代。JavaEE的框架設計理念決定了其在技術融合、平臺兼容等方面都具有明顯的技術優(yōu)勢,因此也逐步成為企業(yè)級應用軟件開發(fā)的首選開發(fā)框架平臺。
第三方電子商務支付平臺整體布局采用JavaEE 與B/S相結合的架構,如圖1所示。
圖1 基于JavaEE第三方電子商務支付平臺設計架構
表示層采用了WEB頁面開發(fā)技術,基于Struts-MVC分層設計容器+JSP、XML組件的設計架構。Struts容器的技術核心是WEBwork,WEBwork指的是通過控制器攔截方式接收和處理各類來自WEB的頁面請求事件,結合MVC分層理念將表示層構建為視圖(View)+控制器(Controller)+模型(Model)的三層架構模式。視圖層采用JSP、XML實現(xiàn)頁面顯示功能,JSP內置組件可以大大簡化頁面編程代碼,提高開發(fā)效率,XML標記語言使得頁面設計語言更加規(guī)范,結構清晰,易于界面開發(fā)二次迭代;控制層決定了頁面事件的請求接收與結果響應方式,主要通過Struts控制器實現(xiàn)上述功能,Struts在接收到頁面事件請求后,將其封裝為Action對象進行處理,并根據(jù)配置文件信息將結果轉換為匹配的對象模型顯示在頁面當中;模型層做為表示層的底層控制,一方面向控制層提供事件模型的信息描述,另一方面實現(xiàn)表示層與業(yè)務層的通信控制。
業(yè)務層采用了輕量級的JavaEE開發(fā)框架—Spring框架,Spring的核心模塊是Core容器,用于提供內置功能模塊開發(fā)的規(guī)范標準和框架的基本功能;Contexe內置模塊用于給出Spring框架上下文信息的基礎配置文件,主要涉及郵件收發(fā)、信息校驗和調度等上下文信息;AOP內置模塊用于實現(xiàn)Spring框架內擴展封裝組件功能的配置管理;DAO內置模塊提供了JDBC層面可能出現(xiàn)的錯誤信息的處理方案,主要針對異構數(shù)據(jù)庫所導致的異常錯誤,這會大大簡化系統(tǒng)開發(fā)中錯誤信息處理的編程代碼量;ORM內置模塊為底層數(shù)據(jù)層的異構數(shù)據(jù)庫接入、交互提供了框架式的解決方案,并通過內置的對象轉化處理工具完成底層數(shù)據(jù)的對象轉換;WEB模塊用于給出與表示層WEB頁面的相關應用程序的上下文配置信息,為業(yè)務層與表示層通信提供服務。最后基于session管理實現(xiàn)對Ibatis數(shù)據(jù)源的接口調用。
數(shù)據(jù)層采用Ibatis框架實現(xiàn)以SQL語句為核心的半自動式數(shù)據(jù)管理。首先通過XML文件對數(shù)據(jù)源進行簡單描述,即將Spring中的對象式描述的數(shù)據(jù)類型映射為JDBC中的以SQL語句描述的數(shù)據(jù)類型。再通過Ibatis所提供的數(shù)據(jù)連接對象接口DAO(Data Access ObjectS)實現(xiàn)對底層數(shù)據(jù)庫的連接訪問,數(shù)據(jù)庫訪問的全部操作細節(jié)都被封裝在DAO接口當中,既簡化了JAVA應用的開發(fā)過程,又提高了數(shù)據(jù)訪問的安全性。
電子商務第三方支付平臺主要包括六大功能模塊,分別為:交易合作維護、終端商戶管理、終端管理、風險監(jiān)控、交易管理、系統(tǒng)管理。
交易合作維護模塊,主要用于管理和維護平臺合作方的相關信息,具體包括市場策略信息維護、市場策略信息查詢、合作方信息采集、合作方信息查詢、合作方利潤分配規(guī)則設定五項子功能。該模塊中所提到的合作方是指系統(tǒng)應用推廣方,主要負責平臺推廣、商戶信息采集和維護平臺等工作。
終端商戶管理模塊,主要用于管理和維護應用平臺服務的商戶信息,具體包括商戶信息維護、商戶信息查詢、清算規(guī)則設定三項子功能。該模塊中所涉及的商戶信息統(tǒng)一由合作方負責采集、審批和錄入,對于審核不通過的商戶具有修改提交的權限,同時為了保障系統(tǒng)信息的安全性,對商戶信息的查詢與修改采用權限分級制,對于敏感性的信息采用脫敏處理機制,例如商戶的賬號信息,將截取其中間6位數(shù)字以“*”代替。
終端管理模塊,主要用于管理和維護平臺終端設備信息,具體包括終端設備信息維護、終端設備信息查詢、裝機綁定管理三項子功能。設備信息的采集、錄入工作由指定的設備管理人員完成,設備運行狀態(tài)、維修等信息的采集由終端設備維護人員負責完成。
風險監(jiān)控模塊,主要用于管理和維護平臺交易的風險信息,具體包括商戶資格初審、商戶信息終審、風險監(jiān)控規(guī)則、風險事件處理四項子功能。商戶資格初審主要用于審核商戶提交的基本信息是否符合系統(tǒng)信息的錄入規(guī)則、內容是否合法等。若通過初審,則會為商戶信息匹配唯一的商戶號,用于在數(shù)據(jù)庫中唯一標識商戶,并修改商戶的信息審核狀態(tài)為“等待終審”;若審核未通過,則需錄入退回理由,并允許商戶重新修改、提交信息。終審通過后,商戶狀態(tài)會標注為“正式商戶”,并可開始使用平臺所提供的支付服務。
交易管理模塊,主要用于管理和維護平臺交易信息,具體包括交易信息查詢、交易信息統(tǒng)計、文件下載、報表下載四項子功能。該模塊提供了多個維度下的交易信息統(tǒng)計,及報表生成,能夠為商戶提供個性化的數(shù)據(jù)分析依據(jù)。
系統(tǒng)管理模塊,用于管理和維護系統(tǒng)基本信息,具體包括用戶信息管理、訪問權限管理、系統(tǒng)日志信息管理、系統(tǒng)基本設置四項子功能。
隨著電子商務產業(yè)的快速發(fā)展,第三方支付平臺也得到了廣泛應用,隨之而來的系統(tǒng)兼容性、交易安全性等問題也成為技術開發(fā)人員亟待解決的問題。針對這一現(xiàn)狀,本研究首先對企業(yè)級系統(tǒng)開發(fā)技術JavaEE進行了深入研究,并嘗試基于JavaEE開發(fā)框架,采用“分層而治”的技術設計思路,開發(fā)與實現(xiàn)了一個電子商務第三方支付系統(tǒng),有效提高了系統(tǒng)的穩(wěn)定性與兼容性,以及系統(tǒng)的可維護性與易擴展性。