這種方式一個很大的缺陷在于:不同的應用系統之間很難進行通訊,受特定的通訊方式的限制。隨著信息化的發展,目前,企業考慮到業務整合的時候,就出現了困難,用戶感覺到項目的整體費用和項目的復雜性,不能很好地進行控制。
面向服務的集成正是根據這個需求,所產生的。
1 面向服務的體系結構(SOA)
SOA(Service Oriented Architecture,面向服務的體系結構)來源于早期的基于構件的分布式計算方式,在OMG和IONA的推動下,成為了一個大家所廣泛認可的規范。90年代,CORBA和微軟的COM編程模式,促進了SOA的發展。隨著Java編程語言、EJB構件模式的發布以及J2EE應用服務市場的成熟,SOA得到了進一步發展。
理論上,面向服務的體系結構這種思想,在其簡易性上,十分吸引人。如果你能夠用定義很好的機構封裝應用,就有可能將一個單一的應用加入到一個服務的集合中。封裝的過程創建了一個抽象的層,屏蔽了應用中復雜的細節(你將不用關心用的是哪一種編程語言,什么操作系統,應用程序用的是什么數據庫產品)。唯一相關的時就是服務所描述的接口。
SOA的優勢在于高可復用性,靈活性,以及更好的擴展性和可用性。經過15年的軟件體系結構的創新,在一系列應用開發項目中,SOA的優點得到了體現。
SOA的首次嘗試,只是用于新的業務邏輯的開發,只提供有限的功能,而系統的主體部分,并不采用面向服務的原理構建。另外,競爭和創新意味著多樣的,不同的SOA實現方式使得集成沒那么容易。
統一采用一種方案,共同獲取這是不可能做到的。因此現實世界中,需要能夠融合各種差異。吸引早期的教訓,各方供應商最終將聚在一起,為SOA提供一個更好的框架。
2 面向服務的集成(SOI)
SOI(Service-Oriented Integration,面向服務的集成)將傳統的集成對象與開放的、高靈活性的Web Services整合在一起。面向服務的集成提供了一個抽象的接口,通過這些接口,系統可以進行交互,而不是使用低層的協議和自定義的編程接口,來規定系統如何與其它系統進行通訊。系統只需要以服務的形式出現,選擇與該系統交互的其它系統,能夠簡單發現那些服務,并且在運行的時候或者是設計的時候,與這些服務綁定。
以前業務方面的應用程序,仍然可以使用,但是由于缺少現代的接口,不能被重用。對于IT機構而言,這是一個挑戰,需要去適應新的通訊和訪問方式,比如網絡或是更高的桌面環境產品,如微軟的.net。
面向服務的集成使得IT機構能夠在已有的應用中提供可重用的服務的功能。
對于一個集成項目,所要花費的相關費用,基本上可以分為四個階段:初始階段費用,定制階段費用,維護階段費用以及后期變更所需要的費用。不同的集成方式,在各個階段的費用。
雖然在定制階段,SOI的費用會比其他類型的集成方式要高,但是,從維護階段以及后期的變更所需的費用來看,采用SOI可以大幅降低項目的相關費用。
Web Services是基于互聯網的應用程序模塊,用于在互聯網上運行,采用開放的UDDI(Universal Description,Discovery and Integration,通用描述,發現,集成)標準。UDDI標準先由IBM、微軟、Ariba制訂,到目前為止獲得了130多家公司的支持。UDDI提供了一個開放,平臺獨立的技術框架,來使企業之間能在互聯網上找到對方的服務,定義它們在互聯網上的交互活動,以及這些信息的共享方式。Web Services并不特指某一公司的產品,服務或開發工具(如微軟ASP.Net中的Web Services),而是指在各種協議集下大家共同遵守的基于互聯網絡的編程平臺。 SOI通過提供一個構建、部署和管理集成的體系框架,簡化了系統的集成。SOI和"基本"的Web Services使用的是相同的標準集合。
雖然相似,但是由于SOI需要適當的特征,用于更廣的度量以及EAI(Enterprise Application Integration,企業應用集成),這就使得SOI已經超出"基本"的Web Services的范疇。具體表現為以下幾個方面:
① 能夠提供服務。SOI使用標準的接口來展現已有的系統。因為這些已有的系統是生產業務應用,他們不能被改變;SOI必須支持非入侵的服務。
② 支持多種傳輸方式。Web Services規范中并不要求明確的傳輸方式,雖然Web服務常被誤認為只是通過HTTP方式進行傳輸。事實上是WSDL(Web Services Description Language,Web服務描述語言)和SOAP(Simple Object Aclearcase/" target="_blank" >ccess Protocol,簡單對象獲取協議)規范討論了多種的傳輸方式。
③ SOI方案必須整合各種不同的企業架構體系(包括MQSeries,CORBA, Tuxedo, TIBCO, JMS等各種企業級產品),因此,對上述主要協議的支持,是SOI方案中的基本要求。
④ 安全性。在評估一個企業集成的技術這個問題上,安全性越來越受到人們的重視。通常情況下,被集成的資源中都有他們自身的安全模式(這些安全模式,可能在開發過程中就已經設計好了)。要想能夠被用于集成,SOI方案必須支持基于角色的訪問協議,單用戶簽名,服務使用者與服務提供者之間的安全交換,必須能夠集成現有的企業安全系統。
⑤ 對事務的支持。Web Services標準并未指定事務的模型。雖然現在有很多公司正在擬制Web服務事務模型的規范草稿。
為了能夠使企業客戶接受,SOI方案中必須支持事務的語義(包括commit和roll back等特征)。
⑥ 支持會話的交互。許多企業系統是基于客戶/服務器之間的會話交互方式,因為對于事實相應要求更高的系統來說,這種方式的效率更高。為了便于擴展,SOI必須支持會話的交互。 4 小結
面向服務的集成,可以減少不同類型的IT系統的依賴性,降低費用和IT操作的復雜性,提高已部署系統的靈活性。這個新的方式超出了傳統集成的范圍,能夠合理化地將有用的技術進行合并,同時排除了抑制業務創新的障礙。