SAP Commerce(原Hybris)的訂單處理框架和SAP CRM One Order框架

最近工作重點轉移到了SAP Commerce上來,正好有機會把該產品裏由Java實現的訂單處理框架和我之前長期工作過的,ABAP實現的SAP CRM One Order框架做個比較:基於Spring的Bean替換機制 vs ABAP函數+配置表,兩種方式都實現了強大的可擴展性。

SAP Commerce的訂單處理框架把訂單處理業務按照步驟拆分成一個個細粒度的處理單元,封裝到一個個Spring Bean裏。模型和其行爲之間通過策略模式(Strategy Design Pattern)進行鬆耦合式的關聯。Commerce二次開發人員可以靈活地將定製業務邏輯實現在自開發的Bean裏,並將其通過Spring框架注入到Commerce的訂單處理框架中,實現訂單處理業務的定製效果。



而SAP CRM One Order裏一系列維護在配置表裏的函數,學習了SAP Commerce之後,我傾向於把它們類比爲比SAP Commerce Order Bean更細粒度的處理單元。SAP Commerce裏能夠注入的Order處理邏輯的粒度是一個端到端的操作,比如SubmitOrderStrategy,CloneAbstractOrderStrategy,CreateOrderFromCartStrategy, SaveAbstractOrderStrategy, 一個Bean就能實現一個端到端的Order操作;而SAP CRM One Order框架配置表裏可以靈活配置的ABAP函數,往往需要多個函數組合在一起協同工作才能完成一個上述操作。雖然可配置和替換的粒度不同,但都殊途同歸:在不修改SAP標準代碼的前提下,給二次開發人員提供一種靈活的增強機制(Extensibility).

要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章