Web services之規劃策略與設計模式
--企業觀點
李清培
弈飛資訊首席顧問 /台灣微軟特約資深講師
導讀
Web services是繼Internet導入到商業環境後,資訊工業的另一項重大改變。很多人在聽到Web services的時候,腦海裡立刻浮現一朵雲的影像,透過這朵雲,形成所謂鬆散偶合的網際網路應用程式架構。也許是因為市場行銷廣告包裝的太好,造成在很多人的印象裡,Web
services就和那朵雲一樣,高來高去、毫不留痕跡,只能看得到、抓不到。也許有人還要問Web services是什麼?我需要了解Web services嗎?我需要使用Web
services嗎?不論得到的答案是什麼,Web services早已開始構築一種全新的網路經濟模式。
Web services原本是要解決分散式應用程式整合的問題,然而在商業行為深度依賴資訊科技的同時,Web
services的影響力早已全面地滲透到現有商業規則與經濟模式中。就技術層面來說,Web services只是分散式應用程式架構中的一種。將分散式應用程式架構,應用在大型商務系統的開發上,已經是相同普遍的作法,那麼為什麼還要特別介紹Web
services呢?最主要在於“溝通”與“整合”的概念。
分散式應用程式架構雖然為商業運算提供了更彈性、更經濟、更具效能的開發與操作模式,然而目前各組織或公司在處理分散式應用程式架構時,皆使用自己獨特的一套技術,使得系統整合相當困難。因此由WS-I組織(ws-i.org)定義了一套共通的分散式應用程式標準構-- Web
services,利用一些標準規範,實現跨平台、跨語言、跨Internet的整合目的。透過這些開放式的標準,可以讓應用程式彼此間交互地作用,並輕易的與其他應用程式分享與共用資訊。這樣的技術除了影響應用程式的建立與部署、資訊的展示與共享,以及軟體的購買與銷售方式外,更可能進而重建現有商業行為所依循的規則與流程。因此即使您不負責技術層面的決策或營運,但只要您的管理工作是必須使用到電腦資訊技術,那麼您就必須了解Web
services。
就經濟層面來看,Web services 則是另一種的商業模式。對於企業而言,是否需要使用Web
services,則要看該企業對變動市場所採取的態度。有一個美國商場上的諺語“如果鐵路知道他所經營的是運輸事業,而非鐵軌事業,那麼我們天可能就只有聯合太平洋航空的飛機可以選擇了”,聯合太平洋鐵路原本是美國獨大的鐵路公司,在50年代未轉型成功而沒落,否則現在全球最大的航空公司就非聯合太平洋航空莫屬了。同樣的故事,但不同的結果則發生在台灣。雖然長榮海運服務網路早已遍及全球五大洲,成為全球最大的貨櫃船運公司之一;但如果14年前,長榮海運只有一些無法飛上天的船隊,那麼就不會有今天的長榮航空、台灣之翼。
台灣的經濟競爭力長久以來是建立在一個“快”的基礎上。然而,隨著市場環境的變遷,以及企業規模、型態的轉變,這樣的優勢早已受到質疑,而Web services則帶來另一種全新的市場優勢。企業將可利用Web services對變動的市場作出快速的回應;更可利用Web
services來加速新市場的開拓。另一方面, Web services所帶來全新的商業流程管理概念,除了降低企業整體管理、銷售及共同成本外,更提高了企業整體經營的效率。隨著Web services技術的日趨發展,目前成功企業所依循的商業模式都可能因此而徹底改變。為確保企業在這一波資訊技術的衝擊下,仍能保有相對的競爭力,也就不得不去了解Web services。失去Web services的脈動,等於是去開放市場的競爭力。
然而對這樣的新技術該如何去面對呢?曾在一次與幾位CTO的聚會中聊到有關知識管理的一些看法,當全球知識經濟蔚為風潮的時候,許多企業不惜重資開始導入ERP、CRM、KM等...,其中一位提到該公司花了不少的金錢與人力,卻不見得有什麼樣的效果,公司由上到下從未真正感覺知識管理所帶來的好處。當時我所作的回應是“沒有知識,哪來的管理”。我想這是一句雙關語,一味的花錢買解決方案,並無法取得公司所需要的“知識”;印象裡的智者,通常是滿頭白髮,但滿頭白髮卻無法全然的代表智慧。知識的形成通常必須經過接觸、詮釋、與儲存,在高度變動與競爭的環境中,資訊收集、管理和使用的方式,即足以決定企業的輸贏,而資訊系統只是加速這些工作的遂行。同樣地,在導入Web
services的技術時,除了瞭解什麼是Web services外,最重要的還是要了解Web services能為企業帶來什麼好處、Web services的執行與使用模式、以及如何在企業中建立Web services的基礎架構平台,而不是為了Web services而Web services。
在未來的幾篇文章裡,我將嘗試著以非技術的觀點,去解釋Web services,然而畢竟這不是一篇散文作品,而是確確實實的技術類文章,加上20年來資訊人的包袱,要擺脫這樣的束縛實在有些困難。而為了減輕閱讀上的負擔,我將整篇文章分為四部份,在首部曲中,我們將由商業世界與電腦世界的關係談起,再談到Web services 的發展背景與商業行為之改變,如果您想對Web services有一個概觀性的了解,或是您沒有時間看完全文,您就讀完第一篇吧;二部曲則進一步介紹Web services的應用程式架構,並以服務導向的觀念,將商業行為對應到資訊系統服務架構,如果您想了解服務導向應用程式架構的設計概念,或者您想使用非技術性的商業邏輯概念來設計企業應用程式架構,那麼您可以讀這篇文章;三部曲則直接探討Web services在商業行為上的應用以及其規劃策略,如果您想了解Web services如何應用在真實的商業環境,以及設計上所要考量的問題及策略,您可以跳過前面的部分,直接讀這一篇;(不過如果您已經拿到了首部曲,請看完吧)。最後則介紹如何導入Web services以及平台與開發工具之比較。如果您正準備要將Web services導入到企業的架構中,那麼這篇文章將提供一些重要的觀念可供參考。在與一些組織與企業接觸的經驗中,發現許多的組織在評估Web services時,往往先由平台開始,或是討論用哪種架構比較好,這樣本末倒置的做法,往往讓整個評估過程流於一場一場的會議中,因此在最後,將特別提出個人對Web services評估及導入步驟的建議。
以下的大綱是依照目前的思緒所描繪出來的,希望在撰寫過程中能得到您的回應與建議,以彌補個人知識之不足。
首部曲:Web services與全新的商業模式
ü
資訊技術的演進對商業行為的影響
ü
企業軟體架構的演進
ü
Web services如何創造全新的商業模式
ü
Web services與分散式應用程式的需求
ü
Web services與企業的需求
ü
平台及開發工具的選擇
ü
Web services的限制與展望
二部曲:服務導向的應用程式架構
ü
Web services的定義
ü
Web services的執行模式
ü
Web services的服務導向架構(SOA)
ü
AP-to-AP溝通模式的解決方案
ü
Web services與簡易的SOA使用情境
ü
Web services與完整的企業應用程式架構
三部曲:Web services與企業營運之規劃與策略
ü
Web services企業運用設計模式
ü
企業應用程式的整合
ü
供應鏈的建立與市場開發
ü
現有與未來應用程式的擴充
ü
降低程式開發的時間與成本
ü
軟體租用新模式
ü
企業流程管理
ü
導入時機
後章:Web services的導入與平台之選擇
ü
導入時機與步驟
ü
建立Web services 的方法
ü
選擇平台及開發工具的參考因素
ü
選擇.NET或J2EE
ü
Web services的市場概況