絕大多數的人對開放標準都非常熟悉,例如HTML(Hypertext Markup Language,超文件描述語言) 以及Linux作業系統。其他標準,像是通知使用者部落格更新;並傳送最新消息的RSS(Really Simple Syndication),也越來越普及了。

目前約莫有千百種開放標準正在運行,其中一些你可能僅聽過而已,但他們依然默默為你帶來好處。雖然有些是局限在特殊產業的某些功能上,也可能有些從來沒受到重視,但大多數的開放標準確實是廣泛受到採用。

SOA和Web服務之間有何關聯?
很多人都相信Web服務(Web Services)在未來幾年內將廣泛應用在遠端系統管理上,現在開放標準制定也愈趨成熟,並且藉由SOA環境的發展,更是加速促進開放標準的完整性。所有需要的開放標準雖然尚未全部完成。不過,其中關鍵的部分已越來越接近完工。

Web服務是最適合建置服務導向架構的一項技術。在本質上,Web服務就是自我描述與模組化應用軟體,它將業務邏輯當成一種服務,透過網際網路來公布、發現(discover)與利用。

SOA延伸了Web服務的價值,是未來的IT基礎架構藍圖。它清楚指出企業IT基礎架構如何設計使用服務。

Web服務和SOA都致力於降低或者消除應用軟體互動利用的障礙,而不管他們所使用的是那種作業系統、平臺或者語言。下面列出一些Web服務和SOA最受人重視的特性︰

元件化
SOA 鼓勵將軟體包裝成元件,並稱之為「服務」。服務可以透過所遵循的訊息交換介面交互使用。服務所提供的介面是所有潛在使用者所關心的重點,至於服務實施的細節則隱藏起來不必讓使用者知道。

平臺獨立
在SOA裡,導入的細節被隱藏起來。因此,不管程式語言、平臺和其他導入細節,服務都可以合併,同時順利的互動。Web服務利用各種不同的傳送協定,提供軟體元件的存取,也增加了軟體元件存取的途徑。

保障投資
現有的軟體資產可以在使用Web服務技術的SOA環境中,被當成一種服務呈現。當現有的軟體以這種方法展現時,就可以延伸、再分解,並納入SOA中作為專屬的服務。再利用的特性可以降低成本並保障投資。這種進步的方法可以讓Web服務彌補缺失,並且排除取代現有的解決方案。

鬆散耦合
元件化的另一好處,就是SOA促進了服務間鬆散耦合,減少服務間的設定和共享要求。個別服務可以在不擾亂SOA系統的正常運作情況下逐步修改。因此,鬆散耦合系統阻隔了服務改變時對其他服務的影響,不僅降低內部元件的建置成本,促進元件的再利用,更可以減少整體的開發及維護成本。

分散運算標準化
在與分散式運算技術改進相關的標準化主張中,Web服務縱使不是全部的焦點,也絕對占了大多數。此外,電腦產業與分散式運算相關的研究與開發工作,都集中在Web服務上。

廣泛的產業支援
主要的Web 服務標準(SOAP、WSDL、XML及XML Schema)受到所有主要軟體供應商普遍的支持。這些廣泛的支持,為設計物件導向應用軟體所需要的中介軟體和工具,帶來了更多的選擇性。

統合力
Web服務技術讓程式設計師能利用協調力來統合不同的功能。例如要求訊息安全的系統,就可以採用Web服務安全標準。而不要求訊息安全性的系統,則不會面臨到訊息簽名/加密等複雜的作業及花費。這種協調力可應用在各種不同品質的服務上,像是訊息、交易等。協調力讓Web服務技術能夠在講究功能性的方案中廣泛採用。

Web服務與SOA是整合異質系統的最佳方案
Web服務技術和SOA的結合,解決了許多打造SOA環境的問題。從本質來說,Web服務和SOA是不相連的,因為他們可以分別導入。很多成功的SOA都是採用廠商自行開發模式或是客製化的專案,依據可靠的訊息及企業應用整合中介軟體導入,並不是使用Web服務技術。此外,目前大多數Web服務的導入都是點對點的整合,著重的是在定義清楚的情況下,開發專屬的業務功能。

通常在單一企業內,現有SOA的導入已經明顯驗證了SOA的好處,而且現在所使用的Web服務也展現了Web服務技術的好處,這些好處全部展現在企業內異質系統整合上。

採用客製化的方式,企業必須解決異質系統整合的問題;倘若採用廠商自行開發模式,則又必須擔心未來維運受限於單一廠商。而採用標準的Web服務就是這些問題的最佳解答。

在Web服務和SOA之間的邏輯連接,是可以互補的︰

● Web服務提供開放標準及電腦可讀的模式,以創造出明確、獨立建置描述的服務介面

● Web服務提供清楚的位置和互動的溝通機制

● Web服務透過BPEL4WS(Web Services Business Process Execution Language, WS-BPEL)、文件式SOAP、WSDL(Web services Definition Language)及衍生的技術,支援設計精良的服務實施,以靈活的方式壓縮及塑造可再利用的功能。

SOA 和Web服務能夠將業務功能這種廣泛整合的服務,更靈活、迅速地推出,創造出新的發展機會。SOA 和Web服務所提供編組到流程中的服務,是可以被塑造、執行與監控。而這些技巧和技術是導入靈活的SOA,並且逐步轉型成為隨選商業模式的重要工具。

不過,SOA是一種建構的方法,而不是一項技術或者是產品。為了導入SOA,你必須先有基礎設施來支援這個架構,像是ESB(Enterprise Service Bus,企業服務匯流排)。

企業服務匯流排為什麼對SOA如此重要?
SOA比起以前曾提出的開發概念更加善用產業標準。SOA使用廣被接受的Web服務標準,以保障這些定義清楚的介面。

不過,這些介面可能有些龐大,因為他們仍然具有單獨的連接點;而這些連接點都需要一一地設定、發現與管理。而ESB就是進一步減少這些介面複雜度的解決方案。

ESB是用於整合應用軟體與服務、具備靈活連接性的基礎架構,也是SOA的核心,主要在降低介面的數目和複雜性。ESB 做了4件事情︰

● 在服務之間傳遞訊息
● 在需求與服務轉換傳送協定
● 在需求與服務之間轉換訊息格式
● 從不同來源處理業務事件

ESB讓企業能夠專注於核心業務,而不是在IT的發展。現在他們能夠更迅速地增加新服務,在影響現有服務最小的程度下,改變服務內容。

《作者簡介》游千卉
現任臺灣IBM公司軟體產品處SOA業務經理,畢業於台灣大學,擁有財務金融學士學位。2000年加入IBM,累積多年軟體產品及業務資歷。曾任製造業軟體專案經理、轉戰公眾事業客戶軟體業務代表、WebSphere產品經理。

熱門新聞

Advertisement