SAP的應用架構解析

SAP的ERP一直是其他ERP軟件廠商爭相學習和模仿的目標,但是模仿的過程是曲折的,很多時候只能學習其中的一個部分,或者因為生態或者運營體系的差異導致根本沒有進行下去,筆者結合自己對于SAP產品的理解,采用由粗到細,由淺入深的方式對SAP的應用架構進行剖析。

從總體來看,SAP的企業管理軟件分為兩個部分, ERP和LOB應用, ERP是企業產供銷核心應用,也是企業管理軟件的backbone,用以支持整個公司的運營;LOB應用則是面向銷售,采購,供應鏈等公司業務部分,是對ERP對應模塊的功能擴展。這部分功能最終后ERP的對應模塊進行集成。

視角進一步向下進入到ERP部分,這部分主要分為企業營運,財務和人力資源管理三個大的子應用。企業營運這部分是ERP的核心,SAP稱為Enterprise Core Component,主要包括: SD, MM, PP, LE和QM幾個模塊;財務部分包含財務會計,管理會計,財務供應鏈管理和司庫管理;人力資源管理HCM的功能包括HR基本功能(如薪酬,績效等)HR服務(員工自助等),HR擴展(在線招聘等功能)。

我來繼續來到ECC部分,以MM為例,對于一個模塊的功能,SAP應用的基本架構除了主數據外,業務邏輯是Request--》Order---》Task---》Invoice等財務憑證的邏輯進行設計。Request部分主要的目的收集各種業務的來源,提供其他模塊的集成接口,然后針對所有的request,業務部分從業務優化和管理優化的角度來分拆或者合并創建order,order代表一個一個確認需要做的事情的追蹤,order有不同的狀態,release的order是已經ready需要業務部門執行的,如果業務部分需要細化Order執行的管理,跟根據一個預制的模型產生各種Task,針對task可以進行分配,跟蹤和確認。當所有的Task完成就會產生相應的財務憑證來觸發財務記賬。

Request和Order這種對象在SAP系統稱之為Business Object,這是從業務到技術實現的一個定義,借用了面向對象設計的概念。過去SAP產品內部各個模塊采用自己的方式來進行業務實現,但是經過幾十年的積累和內部技術競爭。BOPF這個框架脫穎而出作為SAP內部產品進行業務實現的統一框架。BOPF的偉大之處是統一個產品內部的業務實現方式,規范業務結構,統一業務功能的劃分和代碼的邏輯組織。根據BOPF的思想,一個BO有Header(Root Node),還有其他的Node,Node之間有Association,Node可以理解為一個子表。業務的邏輯定義在Node之上,業務邏輯按照Action, Validation,Determination進行區分,避免沒有經驗的開發任務把一大堆代碼堆砌在一個方法里面,不容易復用,也可能導致復雜的業務邏輯混亂。BO的狀態轉移通過狀態機定義Status和Action之間的轉移邏輯,從而保證也業務實現的合理性,模塊化,可以復用。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容