在之前的SOA停看聽專欄中,我們大略討論到「服務導向架構」-SOA(service-oriented architecture)能夠為企業帶來多面向的業務價值。透過將現在應用程式加以「包裝」,並且將這些應用程式當作「服務」來遞送,我們將能延長既存應用程式的生命週期以及投資報酬率。同時,用來開發新功能的成本也可有效降低。藉著運用現有服務,新的應用程式能夠以更快的速度加以佈建,以便更快速的發揮價值,並且提昇具有競爭力的市場回應。
進一步檢視服務導向架構所帶來的業務價值,可發現SOA將企業從「舊世界」系統架構,轉移至新型態的系統架構。「舊世界」系統架構以各種獨立的應用程式為基礎,並將各項客製的訊息與流程緊密結合;而在新型態架構下,各自獨立的服務則是藉由標準化的傳訊連結在一起。SOA將IT基礎架構從一個效率低落、不具彈性的垂直、分離模式,轉移到另一個成本較低、跨公司的模式,這個模式提供了可重覆使用的各種相容服務。
雖然SOA的概念已存在10年以上,一個新世代基礎架構軟體技術正逐漸浮出檯面。新架構處理了昂貴成本與複雜度高等存在已久的問題,這些問題在早期是不可能被解決的。先前迥異的各項技術,如今已預先整合到具一致性的企業軟體平台,同時也為IT遵循最佳實務(best-practice)的服務導向架構。在這個新環境中,SOA很自然地依產業標準而建立,推廣重覆使用概念,同時更首度使非專門的開發者能快速成為極具生產力的開發人員。
企業不僅能經由建置最佳實務的服務導向IT架構,來作為其未來成功的基礎,實際達到業務目標。現在的IT已能如同員工或智慧財產,作為企業的策略性資產,SOA環境幫助企業消除原本存在於業務需求與IT功能之間的隔閡。
SOA能夠協助企業實現哪些策略性價值呢?
- ●加速市場回應 - SOA的核心哲學原本就是要推動開發動作、整合團隊的重覆使用。透過服務與元件的再使用,新應用程式就能很快地加以重新組合,以快速回應瞬息萬變的市場狀態或是業務需求。一旦專案開發時間有效縮短,對於持續變遷市場的回應速度也將隨之加快。
- ●營運效率 - 大多數的套裝商業軟體在與標準任務相關的流線化作業流程中都能執行得很好。不過,在企業想要針對包含多種商業軟體的客製化流程進行自動化與流線化時,原有套裝商軟的效能就會快速下降。客製化流程在進行建置與維護時,不僅困難度高,同時也極度耗費成本與時間。SOA事實上已經除去了這些應用軟體間的複雜障礙。如此一來,IT就能更快速的依業務需求進行調整,同時也能建立起業務適應性的基礎架構與文化。換句話說,SOA實現了「真正符合業務需求的IT。」
- ●軟體整合與B2B整合更快速、更經濟 - 導入傳統套裝軟體整合解決方案十分昂貴,並且複雜度極高,在建置時通常都需要大量的手寫程式。而SOA框架則為網路上各項服務的導入執行時間提供既有的支援,同時它也藉由將這些耗時流程進行自動化,成功降低所有應用程式整合與佈建的成本。另一方面,SOA也允許橫跨業務項目的整合延伸。
SOA促成了在任何網路組態中任何流程的定義,甚至跨越了多重的企業界限。要達到如此的境界,須透過具有分散式安全機制的點對點(peer-to-peer)傳訊基礎架構。該分散式安全機制在使每一項企業執行本身安全政策時,還能有效率的進行公司間的資料交換。而這項特色,能夠使SOA在整個價值鏈中提高處理效率。
應用程式開發及佈建更加容易
在傳統軟體開發流程中,將需求轉譯成實際執行的分散式系統不僅是耗時,同時也是困難度極高的任務。這項任務需要依賴人員的實際開發與佈建等多個步驟。這項既複雜、又容易產生錯誤的工作,藉由SOA-based的開發環境便能有效地簡化。讓所有流程更輕易地譯入分散式服務,如此一來,開發、操作與除錯的工作也就更加容易;另一方面,這些服務也能方便地被放入導入層級的資料流中。此外,導入層級的服務透過SOA提供的內建式動態佈建支援,就能夠在網路上任何機器上執行。針對設計時間與執行時間所具有的服務導向工具組合,大幅縮減導入時間以及工作交送流程。
有效運用既有投資
企業已經花費很多時間與金錢來開發其現存的基礎架構。在變動快速的環境下,企業不僅需要系統的新用法,更須透過資訊處理,達成更有效率的處理任務,以及更具成本效益的企業營運。重覆使用現有系統及系統中的流程與資料,來延伸傳統應用程式的生命週期與投資報酬率,成為管理成本的一種方法。將舊有系統轉化為服務,同時也創造出能共享系統資訊與流程的環境。不同於以往各個系統相互獨立、或是必須透過階段式的解決方案來進行整合。
降低風險
SOA架構提昇了專案導入的成功率。經由重覆運用先前所開發、測試,並且已經徹底被了解的核心服務與流程,潛在的錯誤產生機會能夠成功的降低。那些具有堅強業務背景的專案團隊成員,也能夠更專注的進行編寫任務,將服務與處理動作、工作流程或應用程式加以結合。其他具有較強技術背景的成員,則是能夠有效率的進行服務與基礎架構的設計與開發。藉由將企業觀點與能夠達成資源分配以便更有效率執行開發工作的技術課題分開,風險管理已經獲得大幅改善。
- ●持續的進步 - 服務與介面的建置是被包裝起來,服務要求者是看不見的。基礎建置的抽離,可以不在影響服務使用的情況下持續改善重要的程式碼基礎,並且進行最佳化。
- ●使用者接受度提高 - 這是由於在各種網路服務中,SOA的介面能夠維持一致的外觀與感覺。
- ●需要技術支援的次數減少 - 相較於其他需要服務使用者了解如何去執行相關的工作,經過強化、具一致性的服務使用者介面能夠更容易被了解。
- ●企業投資報酬率的提升 - 這主要透過兩點來達成。首先,SOA減低了功能的重覆率,因此成本自然較傳統具各多項異質系統的環境為低。另一方面,將通常由高成本基礎架構執行的入口網站與網路服務工作轉移至一般產業標準的伺服器,不僅效能提昇,同時硬體成本也有效降低;開發者也由於不再需要花費額外時間學習各種專屬性工具與應用程式介面,而能夠更有效的將時間運用在其他專案上。
SOA建置工作的明顯增加,引領著運算工作如何被佈建、送交給使用者的典範轉移。SOA能夠協助讓IT更貼近一系列的業務目標與流程。透過快速與低成本的服務組合與對照、而不管原始碼為何,改善原有業務系統孤島的能力,就是業務的終極價值。(作者為BEA WebLogic Integration產品管理總監)