BPaaS是什么?
????????BPaaS 的核心在于抽離共性通用業務流程,同時對于業務邏輯中個性化差異的部分,以 SPI(Service Provider Interface,服務提供者接口)的方式提供擴展,從而實現業務流程的可擴展性。這意味著 BPaaS 旨在打破傳統軟件開發中業務流程的固有模式,使企業能夠根據自身業務的獨特需求,靈活地調整和擴展業務流程。在這種模式下,中臺負責打造平臺基礎,為整個業務流程提供底層支撐和通用能力;前臺則專注于能力的具體實現,能夠進行自助研發。
BPaaS架構
1、六邊形分層架構與微內核
BPaaS 采用六邊形分層架構,以微內核為核心。微內核負責提供系統最基本、最核心的功能,如同人體的心臟,為整個系統提供動力支持。圍繞微內核,通過插件的方式連接各種擴展功能,如訂單信息處理、計傭規則計算等。這種架構模式使得系統具有高度的靈活性和可擴展性,當業務需求發生變化時,只需添加或修改相應的插件,而無需對核心系統進行大規模改動。
2、領域模型構建
BPaaS 通過圍繞業務概念構建領域模型來控制業務的復雜性。以 DDD(Domain - Driven Design,領域驅動設計)為方法論,通過界限上下文劃分邊界,拆分問題域。例如,在電商場景中,可以將訂單處理、庫存管理、支付等不同業務領域進行清晰劃分,每個領域都有自己獨立的領域模型和業務邏輯,這樣可以有效地降低整個系統的復雜性,使開發人員能夠更加專注于特定領域的業務邏輯實現。
3、組件平臺與服務
BPaaS 包含組件平臺,它提供了各種基礎組件和服務,如 JOB 任務處理服務。這些組件和服務可以被前臺和中臺復用,進一步提高了研發效率。同時,通過統一的接口和規范,不同組件之間能夠實現良好的交互和協作。
架構設計原則
1、低層向高層依賴
在 BPaaS 的架構中,遵循低層向高層依賴的原則。這意味著底層的基礎設施和技術細節依賴于高層的業務邏輯和抽象。例如,數據庫操作(屬于低層技術細節)依賴于業務層對數據的需求和處理邏輯(高層業務邏輯)。這種依賴關系有助于將業務邏輯與技術實現分離,提高系統的可維護性和可擴展性。
2、技術細節和業務策略分離
將技術細節和業務策略進行清晰的分離是 BPaaS 架構的重要原則之一。技術細節,如數據庫連接、緩存使用等,與業務策略,如訂單處理規則、促銷活動邏輯等,分別進行管理和實現。這樣,當業務策略發生變化時,不會影響到技術底層的實現,反之亦然,降低了系統的耦合度。
3、細節依賴抽象
細節依賴抽象原則要求在架構設計中,具體的實現細節依賴于抽象的接口和模型。例如,具體的數據庫操作類(實現細節)依賴于定義好的數據庫訪問接口(抽象)。通過這種方式,當需要更換數據庫類型或調整數據庫操作方式時,只需修改實現類,而不會影響到整個業務邏輯層,提高了系統的靈活性和可維護性。
4、分層解決復雜模塊依賴
BPaaS 通過分層架構來解決復雜模塊之間的依賴關系。不同層次負責不同的功能,如基礎設施層負責底層技術支持,領域層專注于業務邏輯實現,應用層處理與用戶的交互等。各層之間通過清晰的接口進行通信,使得模塊之間的依賴關系更加清晰,易于管理和維護。
5、模塊化封裝復雜性
將系統劃分為多個模塊,每個模塊封裝特定的功能和復雜性。例如,訂單模塊負責處理與訂單相關的所有業務邏輯,包括訂單創建、修改、查詢等。通過模塊化封裝,使得系統的結構更加清晰,開發和維護更加方便,同時也提高了模塊的復用性。
6、各模塊定義統一規范
為了確保各個模塊之間能夠有效地協作和交互,BPaaS 要求各模塊定義統一規范。這包括接口規范、數據格式規范、錯誤處理規范等。統一的規范可以減少模塊之間的兼容性問題,提高系統的整體穩定性和可維護性。