延續前幾期討論到的有關技術基礎及服務導向架構(SOA ;Service-oriented architecture)的優點,本文將介紹服務導向架構的組織應用。當服務導向架構的技術層面越來越受到重視,企業的組織應用可能會是最重要的課題。接下來是在一些率先導入SOA的組織中,正逐漸面臨到的議題。
管理上的挑戰
SOA在組織上有個極為重要的課題,那就是SOA需要有集中,而且一致的支配管理。但要貫徹SOA的根本之道,就是要和不同的客戶分享執行環境服務(runtime services),而資源分享的定義,便是需要支配管理。
想像你建構了一個網路服務,能提供顧客訂單狀態資訊,誰能被允許使用這項服務?如果有一項服務是外部客戶所呼叫要求,當載量增加、效能降低時,誰要負責掏腰包購買新的硬體設備?如果你想更改這項服務,哪些使用者有權表達意見?你可以很容易看到,在IT生命週期中,從資金、需求的定義到支援都是問題。現在,將這些問題延伸到SOA 裡每一個共享服務之中,你就能真切的看到支配管理上的挑戰。
由於這些理由,SOA首先通常只有在早期已能熟練處理這些問題的組織中才會出現。然而,還是有不少組織的方法能夠奏效。以下是一些早期SOA採用者的共同結構:
- ●與架構團隊或是架構檢驗部門分享其企業SOA以及整體應用架構的單一、而且一致的看法。
- ● 分享開發及支援團隊來設計、建構以及執行SOA中最普遍的組合。
- ● 分享專案管理部門,協助管理協調需要共同SOA資源的各種專案團隊。這些專案團隊平常彼此之間也是相互倚賴。
- ● 分享更新控管架構,以協助管理SOA之中變更的需求。
- ● 服務合約的品質具體說明SOA中共享服務的維護服務及可用性。
- ● 投入以上團隊的間接或集中資金,而非來自企業的直接資金。
最理想的範例是,企業主能直接參與這些架構,協助組織能高度符合企業需求,以確保SOA能清楚明確,同時也能為大家所共享。這些方法,再再都協助組織成功解決在SOA中矛盾的難題。為了讓企業確定能擁有SOA所保證的彈性和速度,他們必須放鬆一些在IT功能上的控管。
SOA是改善IT生命週期的框架
願意採用或是早已採用強而有力的管理模式的組織,最能體驗改善過後的IT生命週期所帶來的好處:
- ●應用程式傳輸的速度獲得改善
- ●彈性及功能性拓展,能符合企業單位的需要
- ●效率獲得改善,總體擁有成本也明顯降低
在SOA的框架中,典型的開發包含下列幾個項目:
- ●創造個別服務(例如,網路服務中的「更新客戶訂單狀態」和「使用者驗證」)
- ●將服務置入企業流程(例如,訂單的端對端流程)
- ●匯集服務至組合式應用(例如,訂單-收款的入口網站)
這個方法究竟能改變且改善IT生命週期到什麼程度,尚未有定論,但率先採用SOA的公司舉出了下列幾項優點,有的著重在速度及靈敏度,有的則是強調效率的提昇:
著重企業流程的開發
抽象服務的技術難題。一個企業流程分析師會很自然的從安排好的服務組合密切對照組成企業流程活動的角度來思考。舉例來說,訂單管理流程也許是由「訂單開發」與「信用授權」以及其他由企業流程管理引擎的服務所組成。IT的語言也開始變得廣為大家熟悉。已採用這些流程映射服務方案的組織,都指出在企業與IT之間的互動,更為自然、更具生產力。同時,他們也找到了企業流程架構技巧的全新焦點。
反覆式及互動式的開發
在SOA中,組合式應用程式是以相對較小執行環境服務的鬆散藕合所組合而成,IT及企業夥伴從設計到佈建的過程能較有效率地重複,以期能在相對較短的時間裡,協助他們確保所提供的功能可以符合企業需求。
加速生命週期
在規劃健全的SOA中,開發團隊會利用一般服務的組合來幫他們節省開發周期的寶貴時間,標準化的介面能讓整合更容易,並且能夠進一步減少佈建時間。
分散式且並行的開發
在SOA裡,異質的群組能夠以一致、而且可預測的架構各自獨立作業,藉此降低協調的支出。如此能夠因為架構上及管理上的監督大幅減少,開發成果因此能夠更加分散,並且也可同步產生。
可維護性及可擴展性
協助企業在適應當地需求上擁有更具彈性的能力,同時也能夠具有特定服務組合的維護力量。再者,這種區隔能使提供的服務更容易修改及擴充。優良的SOA應該要能適應改變。
(作者為BEA WebLogic Integration產品管理總監)