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