商業管理系統
相關辭彙:SOA
Gartner是SOBA一詞的定義者。在他們看來,SOBA是ERP、CRM和其他C/S(客戶機/伺服器)商業套用的終極體現,而這些套用正是單一計算體系的中堅力量。Gartner甚至預言,面向服務的業務套用(SOBA)將會兼備ERP、CRM、供應鏈和其他套用的全部功能,從而成為單一的商業套用終結者。在SOA時代,SOBA將是商業管理系統的代名詞。
在SOA的浪潮中,人們更關心基於面向服務架構構建的系統是什麼樣子,具備哪些特性,需要哪些關鍵技術和基礎設施。可以說,SOBA為我們提供了答案。
企業套用推動SOBA出現
企業套用是個永恆的主題,因為他還在不斷地成長。這個主題中永遠包含三個話題:展現(Presentation)、業務邏輯(Logic)和數據(Data)。這三個話題四十年前是這樣,四十年後還是這樣。
近四十年前:那是計算機少為人知的年代,更不要說軟體了。為了滿足企業商業套用軟體的需要IBM研發出了CICS這個IT恐龍時代的產物。在此之前計算機主要用在顧名思義的‘計算’上了,而無法用在商業的管理與業務之上。自打CICS的誕生,計算資源有了更為廣泛的套用。CICS,是Customer Information Control System的簡稱,主要用在IBM的大型機上面。有了他(CICS)就可以包打天下,把企業套用中的展現、邏輯和數據一網打盡,全部在CICS中得以實現。CICS的map操作(sendmap, receivemap)就是在把一張張的頁面傳送到前台的傻終端上;他的program操作就是調用一個個後台的業務處理邏輯;而他的File/SAM/VSAM/Buffer管了所有的數據服務,連我們熟知的資料庫都不需要。
創造了價值的企業總會有豐厚的回報,IBM成為了最大的IT廠商(963億美元)。
二十多年前:那是計算機進入廣泛企業套用的時代。為了拆掉高昂成本的主機時代的門檻,滿足更為廣泛的企業商業套用軟體到需要,微軟推出了GUI的圖形客戶端,BEA推出了交易中間件,Oracle推出了關係型資料庫。而這次發展正是把CICS所獨攬的展現、邏輯和數據分立開來,對這三個話題進行了革命。這一革命可不得了,讓企業級套用的門檻從幾百萬美元降到了幾萬美元。更多的企業都可以靠這些信息技術來發展和管理他的業務。這次革命就是大家熟知的客戶機/伺服器的企業套用架構所帶來的。
當然創造了價值的企業還是少不了有豐厚的回報,Microsoft成為了最大的軟體廠商,BEA成為了最大的交易中間件廠商,Oracle成為了最大的資料庫廠商。
十年前:那是網際網路的時代,怎樣的企業套用架構是適合網際網路的呢?現在的我們當然脫口而出‘BS架構’,即Browser/Server。J2EE和.NET就是代表的技術。這樣的架構讓100倍的人開始享用信息技術和服務,而花的確是百分之一的價格,幾百美元。連看電話亭的老奶奶也上網了。
還是那句話,創造了價值的企業總會有豐厚的回報,IBM/BEA/Microsoft成為了最大的套用伺服器廠商。
現在和未來的十多年:現在和未來的十多年又會如何呢?企業套用還是會發展嗎?答案當然是‘是’。未來的企業套用將是以用戶為中心、以流程為中心的模式,而不是以一個個IT系統為中心。用戶可以在任意時間、地點、通過自己喜歡的互動方式訪問套用。對於企業來說,套用不再是多個孤立的系統,而是以業務流程為核心的整體解決方案,企業可以在已有服務(包括後台服務和UI服務)基礎上組裝新的套用,快速回響需求變化,實現業務創新。
難道你還沒聽到眾多的辭彙又在充斥你的耳朵嗎?‘SOA/ Web Services/Component/SCA/SDO/BPEL/Mashup/Ajax’,這就是信號,強烈的信號,新的企業套用架構在逐漸成形。
打破豎井,統一體驗
企業套用技術架構的演進會經歷3個主要階段:主機架構、客戶機/伺服器架構、企業服務架構。他們之間的主要區別是:
在主機架構下,數據和邏輯是一體的,採用面向過程的設計方法,每個套用是一個孤立的系統,維護相對容易,難於相互集成;
客戶機/伺服器架構將邏輯與數據進行了分離(不論C/S還是B/S 模式,本質都是客戶機/伺服器架構),採用面向對象的設計方法,每個套用是一個孤立的系統,提供了一定後台集成的能力,典型的客戶機/伺服器架構就是 MVC 架構;
企業服務架構把流程從邏輯中抽象出來,邏輯成為系統對外的服務,通過統一的用戶界面、流程打破豎井式結構,採用面向服務的設計方法,企業多個套用之間將成為一個有機的整體。
簡而言之:企業計算的架構正在從關注單系統、單套用的MVC架構向關注多系統、多套用的企業服務架構發展,伴隨著支持這種發展,新的技術和產品已經出現。
SOBA開發平台
SOBA強調突破套用系統的限制,從整體視圖構建企業套用,支持 SOBA 的企業服務架構採用了SOA的架構風格,以松耦合為特點,將企業套用分為協同、流程、服務、邏輯和資源(數據)5個層面。
協同層——為用戶提供了一個統一的互動門戶和工作平台,通過RIA(Rich Internet Application)的方式提升用戶體驗,用戶通過協同層更容易以其他人進行協作,例如即時通訊、查看任務列表、查看發布信息,也能夠把已有數據、服務或界面快速組合到新套用中。通過協同層,用戶不再與多個孤立的系統進行互動,而是面對一個有機的整體;
流程層——維護跨系統之間的業務狀態,企業套用的核心是業務流程,流程包括端到端流程和人工參與的流程,流程會產生任務,推送到工作平台。流程把企業中多個套用聯接起來;
服務層——將套用系統提供的邏輯以標準化的方式暴露出來,使開發者不需要關心邏輯的對外協定、邏輯的實現方式、邏輯的部署位置,並提供事件的方式降低邏輯間的耦合度,為非侵入式的操作提供基礎。
邏輯層——實現了具體的業務邏輯,包括UI邏輯和後台邏輯。邏輯將由多個組件組成,這些組件將以可插拔的方式部署,使用AOP、依賴注入的方式編程,提供邏輯的編排能力;
資源層——解決如何整合數據的問題,需要通過一個統一的數據編程模式統一對不同數據源的訪問。
SOBA,企業套用2.0?
“中國軟體開發2.0技術大會”(SD2C 2008)會上,普元軟體首席架構師焦烈焱說道,SOBA面向服務的業務套用,其理念是構造可復用、易集成的業務套用。2.0時代的企業套用中系統越來越多,越來越複雜,企業更加希望用統一架構進行套用的規劃,打破豎井式結構,使套用天然具備集成能力。為達到上述目標,未來企業套用架構將更加看重多系統之間的集成能力,包括可插拔的構件模式、UI集成、流程集成、組合服務等,SCA、SDO、BPEL、RIA等技術標誌著企業套用2.0 時代的到來。
面向服務架構時代,對企業套用提供了更新的要求,構造SOBA(面向服務的商業套用)是我們面臨的迫切問題。在SOBA中,企業套用的體系架構將從以MVC為代表的單系統架構發展為更加考慮系統間集成性的企業服務架構,相關技術的出現也給程式設計師帶來了新的挑戰和機遇,讓我們一起,擁抱這個新的變化。