SOA和SAAS的理解
來源:互聯網
上載者:User
SOA和SAAS的理解
1
、
SOA
(
service-oriented architecture
):
面象服務的體繫結構。 從業務角度理解 SOA :它是針對一些企業的舊的軟體體系重新利用,進行整合、並構建一套鬆散耦合的軟體系統,同時也能方便的結合新的軟體共同服務於企業的一個體系。使系統能夠隨著業務的變化更加靈活適用。 從技術角度理解 SOA : SOA 實際上是系統分析設計思想的進一步發展,它的思想超出了對象的概念,一切都以服務為核心,而 服務由組件構成,組件是若干操作的集合,操作對應具體實現的程式函數。服務是通過對業務過程模型的分析而識別出來的。每個服務能夠實現若干功能,這些功能由組件而不是操作來實現。組件是操作的調用集合,是服務功能實現的最小單位,而不是程式實現的最小單位。 在具體實現上,只要能提供服務的技術都可以實現 SOA 思想,如 Web Service 、 RMI 、 Remoting 、 CORBA 、 JMS 、 MQ 、甚至 JSP 、 SERVLET 等,另外還可以通過 分散式交易處理和分布式軟體狀態管理來進一步地改善它。但是如果想讓這些服務能夠更廣泛的被使用,或被大家認可,在互連網上發布,那麼就要遵循一定的規則標準了。這一類的標準有SOAP、Java API for XML-based RPC (JAX-RPC)、WSDL 和 WS-* 規範等等。另外它的實現還需要 安全性、策略管理、可靠訊息傳遞以及會計系統的支援。 ESB的概念: 在 SOA 體繫結構的架構中加入了一個新的軟體對象。這個對象就是企業服務匯流排 (Enterprise Service Bus , ESB) ,它使用許多可能的訊息傳遞通訊協定來負責適當的控制、流甚至還可能是服務之間所有訊息的傳輸。雖然ESB並不是絕對必需的,但它卻是在SOA中正確管理您的商務程序至關重要的組件。 ESB 本身可以是單個引擎,甚至還可以是由許多同級和下級 ESB 組成的分布式系統,這些 ESB 一起工作,以保持 SOA 系統的運行。在概念上,它是從早期比如訊息佇列和分散式交易計算這些電腦科學概念所建立的 儲存轉寄機制發展而來的。 SCA與SOD的概念:隨著服務導向架構不斷髮展和成熟,開發人員和架構師將面臨不斷增多的編程介面、傳輸協議、資料來源和其他細節內容。服務元件體繫結構(SCA)和服務資料對象(SDO)可以為各種服務和資料來源提供單一編程介面。
2
、
SAAS
(
service as a software
):服務即是軟體 SAAS不僅是用PORTAL為使用者提供服務,還可以用其它方式,如提供API,提供WSDL,提供。。。。,只要是使用者想要的服務就可以。 SAAS的許可權控制、安全問題可能會相對麻煩一些,可能涉及到多個企業的不同平台,多個資料庫,如果控制許可權,保證安全。資料同步問題。關鍵是有多少使用者願意昌這個風險。
3、SOA與SAAS之間的關係: SAAS主要是指一個軟體企業向其它企業提供軟體服務。而SOA一般是企業內容搭建系統的基礎。SAAS注重的是提供服務的思維。而SOA注重的是實現服務的思維。
4
、目前市場上
SOA
的格局:
目前市場上已經有很多個SOA產品了,而在其中IBM、BEA和JBOSS這三者的SOA產品基本佔據了80%的市場,但相對IBM和BEA來說,JBOSS發展的SOA要慢一些。但它代表的是開源的SOA產品市場,所以還是很有潛力的,很多工程師及企業對它的期待也是很大的。而IBM和BEA的SOA產品及思想相對提出的都比較早,也有一些成功的項目。但這二者的產品體積大,花費高,但是並不影響它的發展,而且是很多企業放心的產品。另外IBM和BEA還聯手推出了一個SCA軟體,APACHE TUSCANY。這又領先開源軟體一步。所以現在SOA的市場競爭還是極其激烈的。 除了這三家之外,ORACLE也發布了自己的SOA產品和思想。