SOA
SOA是面向服務的體系結構(Service-Oriented Architecture)是一種方法論、一種組件模型。它將企業資源集中化治理,將應用程序的不同功能單元服務化,并通過服務之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它獨立于實現服務的硬件平臺、操作系統和具體實施語言,如:WEB服務接口定義中引入WS-I協議規范化不同平臺、不同語言下的通訊標準。如果能從業務語義中剝離出低耦合、可高度重用的服務組件,那是更深一層次的SOA理論實踐。此外,高度重用的服務組件出現勢必服務流程化的通訊,因此,到這一層面的SOA實踐應該已經涉及到服務流程的管理包括流程的事務方案等等。
一個標準而完美的SOA架構的實施是一個浩大又復雜的工程。(實際上SOA沒有完美一說^_^)
愚以為,SOA的實施(從一窮二白開始)大致可以走這樣一個過程:
第一階段:初始框架
(建立企業元數據模型、建立服務間的通訊標準、分析各領域的對象模型、設計SOA路由和治理的底層模型、建立依托于統一通訊標準的企業總線等)
第二階段:基本論證(小規模)
(抽取部分業務語義設計開發服務、基于基本路由架構的通訊、運行期路由各方角色和數據的實時監控、統計和維護等)
第三階段:架構深化(大規模)
(服務開發周期與服務運行周期的治理細化、引入流程服務實施方案、深化服務重用性方案、細化運行期實時類監控和維護等)
每個階段其實都有大量的分析、設計以及開發工作,涉及到平臺搭建、業務分析、模型建模、開發語言、具體通訊標準的方法論和規范等等,真是面面俱到,不一而足。此外,SOA實施過程中的企業總線(ESB)并不是必須的,它和企業規模和實施細節等影響服務間耦合性的因素息息相關,比如 企業內部的業務依賴過于繁雜的情況則可以考慮建設企業總線來降低服務模塊間的耦合度,加強服務重用性。架構者可視實際情況和企業業務需求而定。
SaaS
SaaS是軟件即服務的簡稱(Software-as-a-Service),它隨著互聯網技術和應用軟件的成熟而興起的一種完全創新的軟件應用模式。可以把它簡單理解為一種軟件和信息的托管,即 企業用戶將自己企業信息化的進程建立于依托互聯網服務廠商的系統資源上,企業用戶可以省卻硬件投入,減少軟件投入,得到服務廠商的更好更專業的服務。在信息化時代進程中,這是一種嶄新的思維和操作模式,可行性是很強的,特別針對中小企業來說。在中國這么龐大的企業規模量的前提下,市場前景是相當可觀的。
但是,SaaS的發展過程中也有反面聲音,比如,在中國一部分法律法規及相應實施準則不是很健全的前提下,對于大型企業來說,他們將自己核心的資源依托于外部廠商軟硬件服務是相當有風險的。這類企業有足夠的人力、物力、財力建立完全屬于自己的一套體系。因此可以想象,SaaS要想發展壯大,她必須依托市場中廣大中小企業的鼎力支持。