SOA的正確方法論及目標模型,其實SOA在實現架構落地上,需要考慮到對服務的組合,不斷的重用現有的服務,讓企業應用可以逐步集成,快速實現業務的迭代。
通過SOA架構分層將服務按照使用類型進行分配,上層服務對下層服務的包裝,下層服務負責原子性的操作,上層服務對下層服務進行業務性的組合。
具體的每一層的作用及主要職責:
應用服務就是諸如:訂單服務、倉庫服務、銷售服務、客戶管理服務,這些服務直接對應不同的應用系統,直接服務這些應用系統的原子操作。訂單服務直接原子性的插入訂單,沒有任何跨其他服務的分支邏輯。倉庫服務只管自己的倉庫邏輯。同樣其他的應用服務只管好自己的職責,杜絕對其他服務的調用。
列如:用戶下訂單(可以封裝很多基於訂單驗證的各個原子性的服務,驗證添加商品中的普通商品,促銷商品,積分換購商品等原子性服務),驗證發貨城市,發貨區,驗證配送日期,驗證添加優惠券)
(可以把商品中的驗證普通商品,驗證促銷商品,驗證積分換購商品等原子性服務進行組合成一個服務。)
(編排服務):例如下單過程中:創建訂單和庫存驗證封裝成一個創建訂單服務。