最底層是基礎硬件設施和數據庫服務。在底層的各種業務使用的數據庫中,數據庫本身可以是獨立和分布式的。數據庫之間不應該直接建立太多的數據交互和傳遞。具體的數據同步和交互也需要注冊到ESB服務總線上,按一定的規范標準提供數據服務。
在ESB企業服務總線上有兩類服務和引擎,一類是提供基礎的技術架構和服務的引擎,一類是提供業務SOA服務的引擎。在快速軟件開發中我們強調的權限建模,流程建模,組織結構建模,報表,圖表和數據服務等都可以抽象為標準的技術類服務引擎。這些引擎可以讓我們快速的搭建一個業務軟件的開發平臺。另一類是涉及業務的引擎,如采購服務引擎,庫存服務引擎,銷售服務和信用服務引擎等等,這類引擎是對常見業務的通用規則的抽象,同時又需要考慮在不同場景下使用時候的可配置性和可擴展性。
當業務都已標準的SOA服務暴露出去后,我們看到可以通過業務流程編排將我們提供的各種業務SOA服務編排在一起,完成一個完整的業務操作和流程。一個完整的業務流程正是各種SOA服務和引擎的編排和組合。在流程編排過程中我們還可以設置各種業務規則,建立分支,因此在這里是完全可以再抽象出一個獨立的業務規則引擎。
SOA的服務概念要落地,需要借助于面向服務的架構模型SCA,SCA是基于SOA思想的一整套開發和部署規范。原來我們實現SOA的時候一般是通過Web Service將服務暴露出來,也就是說僅僅是實現到數據層和業務服務的組件化和可重用。在這里我們的看法是隨著SCA的發展,一個完整的業務服務應該是是垂直切分的,即從UI->服務->數據,提供一整套的復用。至于在前臺它就是可以很獨立的符合某種標準和規范的UI Part,這種面板可以很靈活的在Portal中進行配置和組裝。如果我們的服務不到UI層,我們依然無法解決重復開發的問題。
文章來源于領測軟件測試網 http://www.kjueaiud.com/