SOA是一種進行企業級系統開發的新的體系架構,在基于SOA體系架構的系統中,應用程序的具體功能是由一些松耦合和具有統一接口定義方式的組件(也就是web service,xml)等組合而建立起來的。因此,基于SOA的架構體系也一定是從企業的具體需求開始構建的。但是,SOA和其它企業體系架構的不同之處就在于SOA提供的業務靈活性。業務靈活性是指企業能對業務變更做快速進行響應和處理,通過利用這種便利來提高競爭優勢的能力。對企業級架構設計師來說,即創建一個靈活的業務體系架構意味著可以滿足當前還不清晰的業務需求的IT架構。
而在SOA體系架構設計中,服務是最核心的抽象方法,業務可以劃分(組件化)成一系列粗粒度的服務和流程。而各組件化業務服務相對獨立、自包含、可重用,由一個或者多個分布的系統來實現和組裝。
一個服務定義了一個與業務功能或業務數據相關的一組接口,以及約束這個接口的契約描述,如服務質量指標要求、業務規則、安全性要求、法律法規的遵循、關鍵業績指標(Key Performance Indicator,KPI)等。契約描述和接口采用中立、基于標準的方式進行定義,它獨立于編程語言、操作系統和硬件平臺等來實現服務。這使得構建在不同操作系統中的業務服務可以以一種統一的和通用的方式進行交互、相互理解。除了這種不依賴于特定技術的服務特性,通過注冊服務加上企業服務總線的方式來支持中介(Mediation)、定位、動態查詢、路由和轉發的能力,使得業務服務之間的交互是動態的,位置是透明的。
技術和位置的透明性,使得服務的請求者和提供者之間能夠構成一種松耦合。而這種松耦合平臺的構成有兩點好處:一點是它適應變化的靈活性;另一點是當某個業務服務的內部結構和實現方式逐步發生改變時,不影響其他服務。而緊耦合則是指應用程序之間的不同組件的接口與其功能和結構是緊密相連的,因而當每塊發生變化時,而相關部分的也要隨著各種緊耦合的關系進行部分甚至整個應用程序的調整,這樣的體系架構就非常的脆弱了。
SOA體系架構帶來的主要觀點是業務驅動IT,即業務驅動和業務更加緊密地聯系在一起。以粗粒度的業務服務作為基礎來對公司業務進行建模,這樣就可以產生簡潔的業務和系統視圖;以業務服務為基礎來實現的IT系統更靈活、更易于重用、也更快地應對企業業務需求的變化;以業務服務為基礎,通過顯式地方式來定義、描述、實現和管理業務層次的粗粒度服務(包括業務流程),提供了業務服務模型和相關IT業務之間提供了更好的可追溯性,縮小了它們之間的差距,使得業務服務的變化更容易傳遞到IT。下面是個人對SOA的優點理解:
第一、更易維護
業務服務提供者和業務服務使用者的松散耦合關系及對開放標準的采用確保了該特性的實現。建立在以 SOA基礎上的信息系統,當需求發生變化的時候,不需要修改提供業務服務的接口,只需要調整業務服務流程或者修改操作即可,整個應用系統也更容易被維護。
第二、更高的可用性
該特點是在于服務提供者和服務使用者的松散耦合關系上得以發揮與體現。使用者無須了解提供者的具休實現細節。
第三、更好的伸縮性
依靠業務服務設計、開發和部署等所采用的架構模型實現伸縮性。使得服務提供者可以互相彼此獨立地進行調整,以滿足新的服務需求。
SOA體系架構將能夠幫助我們的開發人員站在一個新的高度去理解企業級架構中的各種組件的開發與部署的實現,來幫助企業級架構的設計者們以更迅速、更可靠、更具重用性架構整個業務系統。較之以前,以SOA為架構的系統平臺能夠更加從容地面對新的業務的急劇變化。
SOA其實并不是一種新架構,國際SOA架構組織在很多年前就已經成功地建立并實施SOA應用系統。大約2005年左右,大多數中國企業還不知道什么叫SOA,那時候本人就開始在自己單位項目中開始了SOA的初步嘗試。到了2007年以后,很多企業開始從為什么要上SOA轉變到如何上SOA時方向的思考,本人就嘗試了一些基于SOA體系架構的項目應用,并還取得了一定意義上的市場效果。
當時我設計的SOA項目的業務服務平臺主要包括企業服務總線、企業門戶、協同安全管理、業務流程管理、基礎支撐平臺等幾個部分。其中,基礎支撐平臺是底層支持服務集,提供相關配置管理、服務管理水平、監控預警等系統級服務。
企業服務總線:提供業務服務的注冊、管理、查詢、路由、組合及監控方面的能力。
服務安全管理:提供身份認證、管理角色分離、強制訪問控制、集中安全管理和審計等方面的管理。
企業門戶信息:包括內容管理、日程管理、個性桌面、數據報表、交流協作在內的大量門戶應用組件。
業務流程管理:為實現提供了可視化的流程管理服務。
業務服務基礎支撐平臺:提供相關配置管理、服務管理水平、監控預警等系統級服務。
在上面的SOA平臺基礎上,項目組在為我們的客戶提供領先的信息分享與協同體驗,為信息共享和業務服務整合各個業務應用提供成熟、領先的解決方案。
SOA架構效果啟迪:
1:傳統的應用集成實現方式有點對點集成、企業消息總線或中間件的集成(EAI)、基于業務流程的集成。而這些集成有的都很復雜、昂貴,并且不靈活。而這些集成方式卻都難于快速適應企業現代業務變化和不斷產生的新的需求。基于面向服務架構 (SOA) 的應用開發與集成可以非常容易地解決其中的許多復雜的問題。
2:SOA 定義了一整套完善的開發模式來幫助客戶端應用連接到服務上。這些模式定制了一系列機制用于描述業務服務、通知及發現服務與服務進行通信。
3:與傳統的應用集成方法相比, SOA服務是圍繞所有基于標準的技術模式來實現的。大部分的通信中間件系統,如DCE/RPC,CORBA,DCOM,MTS/COM+,Java RMI,Java EJB,也同樣如此。可它們的實現過程都不是很完美的,在交互性和標準定制方面的可接受性是存在很大的問題。SOA體系架構試圖排除這些缺陷。因為差不多所有的通信中間件系統都有固定的處理模式,如DCE/RPC 的功能、CORBA 的對象等等。然而,服務既可以定義為功能,又可同時對外定義為對象或者應用等等。這使得 SOA 體系架構可適應于任何現有系統,并使得這些系統在集成時不必刻意遵循其它任何特殊技術來單獨定制。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:基于SOA體系架構設計與規劃