監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設計管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機APP | 產品資料
X 關閉

另類解決方案 反常道部署SOA

申請免費試用、咨詢電話:400-8352-114

來源:泛普軟件

首席信息官(CIO)和系統(tǒng)架構師們?yōu)榱嗽谄髽I(yè)里部署復雜的服務導向架構(SOA),有時候真可謂是殫精竭慮不遺余力,但到頭來等待他們的仍是一股深深的挫折感?!爸灰憬ê昧?,自然就會有人用,”這種自上而下的SOA部署策略往往是以失敗而告終,并且有時還失敗得相當慘烈。企業(yè)投入巨資好不容易把SOA部署妥當了,但員工們卻對它不感冒,因此業(yè)務流程與IT部門的接軌也就無法實現(xiàn)了。至于部署之前那些誘人的投資回報率,那更是想都不用去想。

大多數失敗的部署都告訴我們這樣一個教訓:簡為佳。越來越多的公司發(fā)現(xiàn),根植于底層運作的網絡導向架構(WOA)雖然能見度較低,但卻是通往順利部署SOA的一個更好途徑。與SOA類似,WOA也是對系統(tǒng)設計的一種架構,只不過它是以資源為導向,而非以服務為導向。這兩者之間有何區(qū)別呢?SOA設計的核心單元是一種能夠滿足獨特業(yè)務功能的重復使用型服務,而資源導向型服務則專注于數據,并且存在較大的局限性。

SOA和WOA所作用的抽象層面也有所不同。前者是一種系統(tǒng)層面的架構模式,致力于實施可被多種應用程序消化的新業(yè)務功能;而后者則是一種接口層面的架構模式,專注于各種服務功能以何種方式提供給應用程序。然而,不管是通過SOA還是WOA交付的功能,其治理方式、服務質量和安全性能都具有同等的重要性。

雖然有些權威人士聲稱,只有初創(chuàng)企業(yè)和以網絡為中心的公司才會支持WOA,但國際商業(yè)機器公司(IBM)的WebSphere產品部首席技術官(CTO)杰里·丘沃莫(Jerry Cuomo)卻通過Project Zero向世人宣告,他也是WOA的擁護者。Project Zero是IBM的一個以WOA為基礎的框架,目前正處于測試階段,預計將于今年晚些時候作為產品發(fā)布。丘沃莫借幫助自己12歲的兒子做功課的例子,生動地描述了WOA的神奇魅力:

“我的兒子決定,要把他的作業(yè)做成一個網站。經過一番簡單的培訓之后,我成功地教會了他如何使用谷歌公司(Google,下稱谷歌)和電子港灣公司(eBay,下稱電子港灣)的服務,他甚至還可以在所謂的作業(yè)中放置一些橫幅廣告,這讓他感到非常有趣。谷歌和電子港灣的網絡應用編程接口(API)支持簡單的REST URL,利用這些服務他可以輕松地剪切和粘貼所需的代碼,將自己的網站連接到谷歌和電子港灣強大的SOA上。而更令他興奮地是,幾個月后,他竟然從作業(yè)中的廣告上獲得了5美元的收入。這對于孩子做功課是一個多么大的動力??!”

MindTouch公司的創(chuàng)始人之一、CTO史蒂夫·比約格(Steve Bjorg)也是WOA的鐵桿擁護者。MindTouch公司主要致力于研究如何將開源Wiki協(xié)作及內容管理平臺與IT治理結合在一起。該公司于2007年推出的產品Deki Wiki目前已被包括聯(lián)邦快遞公司(FedEx)、富士通公司(Fujitsu)、甘尼特公司(Gannett)、微軟公司(Microsoft,下稱微軟)、西門子公司(Siemens)以及美國軍方在內的多家大型企業(yè)和組織所采用。“通過走網絡導向服務與表象化狀態(tài)轉移(Representational State Transfer,REST)相結合的路線,擴展應用程序的要求大大降低了,” 比約格說,“那些帶有復雜WSDL文檔和SOA注冊的簡單對象訪問協(xié)議(SOAP)處理棧不存在了?,F(xiàn)在人們可以利用任何計算機語言輕而易舉地開發(fā)出Deki Wik的應用擴展?!?/P>

有些公司擔心WOA不能完全替代SOA,但事實上,它們是兩種互為補充的架構風格。在某些情況下,只要WOA就能滿足企業(yè)的需要。而在其他情況下,你可能需要升級擴展到SOA層面。但有一點可以肯定的是,如果沒有做好準備,千萬不要魯莽地部署SOA。

SOA似乎有一個奇妙之處:用多種語言編寫的運行在多種平臺上的應用程序,在SOA下看起來就好像是用一種語言寫成的運行在同一平臺上的程序一樣,難怪它對于企業(yè)用戶有這么大的吸引力了。分布式計算往往被認為是編程的理想境界。一些軟件行業(yè)的巨頭,如IBM、微軟和太陽公司(Sun)等,都在這一問題上進行了20多年的研究,并且各自取得了不同程度的成功。截至目前為止,SOA是業(yè)界為解決分布式計算問題而做出的最新、也是最偉大的一種嘗試。不過,那些基于Corba、DCOM和Java/RMI標準的方法在此前遇到過的難題,如今仿佛也同樣困繞著SOA。

對于SOA號稱能帶來的投資回報率,一些IT專家也表示了懷疑。2007年,《信息周刊》對278位IT專業(yè)人士進行過一次調查,結果32%的受訪者表示,在部署完SOA后,該項目達到的效果要低于期望值;58%的受訪者認為,SOA給他們的IT環(huán)境引入了更多的復雜性;另外,還有30%的人說,SOA的項目成本超過了預算。只有10%的受訪者覺得SOA的效果超出了預期的目標。

核子研究公司(Nucleus Research)2007年8月份發(fā)布的一份報告證實了《信息周刊》的調研結果。該報告指出,在106家公司中,只有37%表示在SOA技術和編程上的投資實現(xiàn)了預期的投資回報。今年早些時候,伯頓集團(Burton Group)分析師安妮·曼妮絲(Anne Manes)就SOA目前的商業(yè)價值表達了類似的否定意見,她說:“到目前為止,在我所采訪的所有公司中,能稱之為成功部署了SOA的公司只有一家?!?nbsp;

那么,怎樣才能順利部署SOA呢?讓我們來看看從WOA出發(fā)來部署SOA會為我們帶來何種驚喜。

SOA與Web服務

很多人都將SOA和Web服務混為一談。事實上,SOA是關于設計方面的,而Web服務則是一套支持分布式計算的具體技術機制。Web服務讓開發(fā)人員能夠輕松地創(chuàng)建基于服務的系統(tǒng),但前提條件是開發(fā)人員使用的是SOA的設計準則。在此準則之下,各種功能被打包成模塊化的、可共享的分布式服務,它們可被多個應用程序重復使用。如果開發(fā)人員做不到這一點,那最終得到的只是一些受限的非集成應用程序。

2000年,IBM 和微軟推出了第一代的Web服務中間件框架,也就是所謂的Web Services Framework(以下簡稱WSF)。WSF基于一個非常小的規(guī)范集合,其中包括SOAP、Web服務描述語言(Web Services Description Language,WSDL)以及通用描述、發(fā)現(xiàn)和集成(Universal Description, Discovery, and Integration,UDDI)。一開始,開發(fā)人員對于這個Web中間件框架的簡潔性贊譽有加,但隨著時間的推移,WSF在經過多次完善和檢審之后,目前必須支持的規(guī)范數量已經增加到了50多個。

為了應對WS-*標準的復雜性和流動性,一小部分頗具影響力的企業(yè)架構師已開始支持返璞歸真的WOA架構方法,在HTTP協(xié)議之上使用古老而簡單的XML。這種方法是基于萬維網(World Wide Web)和REST背后的架構,它要比WS-*標準簡單得多,不過卻沒有它們靈活。

對于某些領域,如安全性和可靠郵件傳輸,WS-*有一套標準的信息格式和定義參數,而WOA方法則意味著業(yè)務功能有時是被硬編碼到組織的基礎設施中。為了彌補這方面的缺陷,WOA的支持者提出了一套基于REST原則的最佳實踐,如使用統(tǒng)一接口訪問所有的應用程序資源。最看好這套方式的倡導者自稱是“REST一族”,他們甚至聲稱REST是幾乎哪兒都能用得上的“萬金油”。

關于WOA和SOA的爭論是沒有完全必要的。很明顯,REST和WS-*風格的SOA都有屬于自己的一片領地,所以IT部門應該將重點放在架構問題上,而不是抓住部署細節(jié)不放。

亞馬遜的案例

開發(fā)人員對基于REST的輕量級Web服務表現(xiàn)出了極大的熱情,這從各種各樣的網絡投票結果就可看出。2003年,亞馬遜網站(Amazon)首先在網上進行了公開測試,比較亞馬遜網絡服務(Amazon Web Services)的兩個接口——SOAP 和 REST的受歡迎程度。最終85%以上的開發(fā)人員都選擇了REST/ WOA接口,亞馬遜Web服務主管杰夫·巴爾(Jeff Barr)說。

“REST很容易演示——只需把一個網址加載到瀏覽器上即可,”巴爾說,“結果是顯而易見的。人們看到操作過程如此簡單,當然會為它投上一票。”

從那時起,亞馬遜的策略就發(fā)生了變化,它開始為開發(fā)人員提供極大的自由,無論他們是在公司的防火墻內部還是外部,幾乎都可以不受限制地訪問其產品數據庫。如此一來,亞馬遜網絡服務當然就像野火一般燒遍了業(yè)界。今年1月份,亞馬遜的首席執(zhí)行官(CEO)杰夫·貝索斯(Jeff Bezos)表示,如今亞馬遜網絡服務消耗的帶寬比亞馬遜全球所有零售網站的總和還要多。

亞馬遜的Web服務平臺還可激發(fā)開發(fā)者及合作零售商的創(chuàng)造熱情,它最近發(fā)布的幾款產品就是明證,如簡單存儲服務(Simple Storage Service,S3)和Mechanical Turk。S3是一種在線存儲服務,新興公司和企業(yè)客戶可以用它來進行Web托管及備份;Mechanical Turk則可通過網絡幫助大型企業(yè)協(xié)調內部的各個工作單元。 

現(xiàn)在,成千上萬的獨立網站都整合有亞馬遜的產品數據和編程工具,由亞馬遜前程序員艾倫·泰勒(Alan Taylor)創(chuàng)建的Amazon Light就是其中之一。其他使用了亞馬遜網絡服務的新興網站典型還包括WeoGeo和TuneCore。前者的業(yè)務是銷售定制地圖和航空圖像,而后者則主要從事獨立音樂的上傳業(yè)務,它把這些音樂轉發(fā)給iTunes、 亞馬遜 MP3以及其他一些數碼零售商,從中收取一定的費用。你只需每年支付一筆為數不多的維護費用,就可以使用這些服務。

除了利用到REST設計理念外,以上提到的TuneCore和WeoGeo兩家網站都是用Ruby on Rails(RoR)框架來開發(fā)的。

該框架與Java語言的Restlet和Python語言的Django一樣,都整合了基于REST的多種模式和功能。這些框架讓開發(fā)者在整合網絡資源時,能更輕松地進行基本的數據庫操作。舉例來說,最新版的RoR框架在HTML工具等各個較低層面上都添加了REST技術,使得解析URL、XML和JavaScript對象符號(JavaScript Object Notation,JSON)變得更加簡單了。JSON是一種頗受網站和新興企業(yè)追捧的輕量級數據交換格式,但在大型公司中尚未獲得普及。作為XML的輕量級替代者,JSON無需繁冗的標記語言,就能將數據存儲到磁盤上,或是通過網絡傳輸數據。 

RoR框架的這些能力為它贏得了眾多支持者。開發(fā)人員尤其喜歡RoR,因為它可以對本地或企業(yè)數據庫模式進行分析,并能自動生成處理網上數據的多種方法。對于創(chuàng)建遵循REST應用程序架構的WOA服務來說,RoR框架是一個很好的選擇,不過,在開發(fā)基于SOAP和WS-*標準的Web服務上,它的作用就比較有限了。 

雙R組合

人們一貫認為WOA應用程序只適用于簡單的數據庫操作,對于企業(yè)級的性能改善卻無能為力。這似乎正是利用RoR框架創(chuàng)建的社交網站Twitter目前所面臨的主要難題。今年早些時候,在美國舊金山召開的蘋果展覽會上(Macworld Expo),蘋果公司(Apple)的首席執(zhí)行官史蒂夫·喬布斯(Steve Jobs)在主題演講中使用Twitter網站的服務時,屢次遇到故障。這一事件讓終端用戶對該網站的信心大減,他們都對Twitter的現(xiàn)狀和未來都表示了擔憂。許多專家都建議,Twitter網站應該停止將RoR用作Web框架,轉而利用Java或PHP重新開發(fā)一個框架。

雖然反對者眾,但有一人仍然力挺RoR,勸告Twitter不要放棄原有框架,他就是Java和RoR專家布魯斯·塔特(Bruce Tate)。塔特認為,REST應用程序能夠隨著RoR進行調整,并且效果還不錯。“開發(fā)人員不應當在系統(tǒng)的規(guī)模上糾纏,”他說,“他們應該把精力集中在生產力上?!?nbsp;

雖然塔特承認,RoR可能永遠無法像Java那樣升級調整,但他仍堅持這一框架會很快走向成熟?!靶碌奶摂M機將為此提供極大的動力,”塔特說,“我的看法是,解決問題應當對癥下藥。如果你在生產力方面沒有問題,那么就沒必要使用RoR。如果你所面臨的問題與技術不相關,那也就不需要尋找技術性的解決方案。但是,假如提高生產力是你的重要目標,或者你正在創(chuàng)建受數據庫支持、具備SOA特征的Web應用程序,那RoR和REST的組合就能給你幫上大忙?!?

REST與SOAP之爭

致力于IT和業(yè)務轉型的全球服務商Keane公司的企業(yè)架構師艾德·里昂斯(Ed Lyons)表示,如果亞馬遜、谷歌和雅虎都從SOAP轉向了REST,那么其他公司就應該考慮考慮隨后跟進了。

“我對大型企業(yè)客戶說,他們的需求不可能比資產超過300億美元的亞馬遜等互聯(lián)網公司還大,”里昂斯指出,“就大多數時候而言,人們根本用不到像SOAP WS-*規(guī)范這么復雜的東西。簡單的標準雖然不能涵蓋一切,但它的用途也很廣泛,其效果也會更好?!?

當被問及開展業(yè)務轉型的最好方式是WOA還是SOA時,里昂斯指出這并不是一個非此即彼的問題。WOA/REST可以說是一種自下而上部署SOA的方法,而基于WSDL的SOA則是一種自上而下的SOA構建法,如果你一開始只是想試試水,并不想一個猛子扎入SOA的洪流中,那么采用WOA/REST的方式來部署SOA應當是最值得推薦的辦法。

Mozilla公司的創(chuàng)始人之一邁克·謝弗爾(Mike Shaver)向我們介紹了為什么Mozilla會走WOA路線,并采用MindTouch公司的Deki Wiki來作為開發(fā)者社區(qū)的未來平臺?!癕ozilla擁有大量與開發(fā)工作有關的信息,其中既包括傳統(tǒng)文件和示例代碼,又有測試套件和漏洞跟蹤數據,還涉及到許多活躍的討論論壇和RSS流,”他坦言說,“與我們曾考慮過的其他wiki系統(tǒng)相比,Deki Wiki給我們的感覺是特別適合作為Web應用程序的平臺,利用它可以比較輕松地創(chuàng)建新的擴展或集成點?!?

IT業(yè)界此前一直存在一種說法:WOA非常適合簡單的專案開發(fā),但如果企業(yè)用戶想擁有安全可靠、易于管理的服務,還是需要使用全面的Web服務SOAP堆?!,F(xiàn)在,新一代XML硬件設備的最新進展已經向這種論斷提出了有力的反駁。Cast Iron Systems、IBM DataPower以及Sonoa Systems等一系列產品可為XML的安全、加速和傳輸提供保障,并能使企業(yè)客戶及其合作伙伴各自偏好的WOA、SOA、Web 2.0及SaaS實現(xiàn)共同運作?,F(xiàn)有的SOA可以利用資源端點進行擴展,而新建的WOA則可利用以服務為導向的端點進行擴展。在多數情況下,混合系統(tǒng)可能會更有意義。

設計為本

正如我們一開始所說的那樣,SOA的本質并非技術,而是設計。各種類型的分布式計算技術,包括HTTP/REST、SOAP、Corba、DCOM、RMI、Jini、Fax以及Telex等,都能用于部署以服務為導向的系統(tǒng)。但是,相對簡單的REST也許會是搭建SOA架構的最佳方法,因為它強調了在端點與座機之間建立通信的重要性,而對接收機和發(fā)射機的大小、形狀和組成并不在意。讓端點能夠開口“說話”與確保通話的清晰度和保密性,這兩者的戰(zhàn)略意義孰輕孰重,IT部門必須有個決斷。不過,兩者之間并不互相排斥,這只是一個優(yōu)先順序和資源分配問題。

最后,還有件事情也同樣重要:如果你選擇了輕量級的自下向上WOA架構法,那就無須在網絡的“裝飾細節(jié)”上耗費太多時間,因為它們也許遲早會被淘汰。這也就引出了設計與部署的根本區(qū)別所在:在網絡時代,隨著時間的推移,部署的系統(tǒng)本身總有一天會被束之高閣,但優(yōu)秀的設計方法卻是永不過時的。(INFORWEEK)

 

發(fā)布:2007-04-24 10:33    編輯:泛普軟件 · xiaona    [打印此頁]    [關閉]
相關文章:
廈門OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢

泛普廈門OA快博其他應用

廈門OA軟件 廈門OA新聞動態(tài) 廈門OA信息化 廈門OA快博 廈門OA行業(yè)資訊 廈門軟件開發(fā)公司 廈門門禁系統(tǒng) 廈門物業(yè)管理軟件 廈門倉庫管理軟件 廈門餐飲管理軟件 廈門網站建設公司