異步是描述的一個客戶端和一個服務(wù)器端的交互的側(cè)面,在這種交互中客戶端不用等待服務(wù)器端——或者經(jīng)常稱之為的被阻塞——來等待接受從服務(wù)器端的響應(yīng)。 消息傳遞系統(tǒng),如MQ-Series, Tibco Rendezvous和類似于JMS的可編程API,都是比較早就采用異步機(jī)制的概念了的,但是現(xiàn)在Ajax正在以相同的方式來解決Web應(yīng)用程序的問題。
Ajax 的異步概念來自于由瀏覽器進(jìn)行的JavaScript 函數(shù)調(diào)用,并把結(jié)果返回給Web服務(wù)提供者或者服務(wù)端的應(yīng)用程序。當(dāng)你和一個Ajax應(yīng)用程序交互的時候,那種可以更新展示在屏幕上的信息塊的而不需要刷新或者重載它的所有內(nèi)容的方式就是異步的,因為你能夠在服務(wù)器端構(gòu)建很多不同的調(diào)用而不需要在等待服務(wù)器響應(yīng)的時候——客戶阻塞——時刻的盯著一個空白的屏幕。
盡管正式那些Web2.0的支持者包括圖像設(shè)計者和軟件市場人員最經(jīng)常的使用Ajax,很多開發(fā)出來的軟件使得Ajax應(yīng)用程序可以作為可復(fù)用服務(wù)的集合。
奇怪的是為一個Ajax應(yīng)用程序提供的數(shù)據(jù)不需要由一個Web瀏覽器客戶端的約束或者JavaScript語言來幫定,實際上一個最優(yōu)化的Ajax設(shè)計將會確定的在服務(wù)端以一種廣為所知的Web服務(wù)設(shè)計方式來幫定:REST(可以在REST: Simplicity in Web Services design 專欄看到關(guān)于REST的更多的消息。)
REST服務(wù),是被創(chuàng)建來用于提供一個Internet URL 的簡單的訪問點,有效的掩蓋服務(wù)端的平臺,比如你也許期望的Web service 并且由最早的Web services選擇器提供最簡單的設(shè)計模式,如eBay、Yahoo!和 Amazon。他們本質(zhì)上是提供粒度的數(shù)據(jù)塊而不是提供完全的頁面,所提供的數(shù)據(jù)塊可以按照客戶端提供的需求來消費和產(chǎn)生。
因為 Ajax應(yīng)用程序的生命周期是由從服務(wù)端調(diào)用的對屏幕特定部分進(jìn)行更新的過程組成的,REST服務(wù)提供了一個創(chuàng)建基于Ajax的應(yīng)用程序的超集。所以如果現(xiàn)在你有一個已經(jīng)存在的REST服務(wù)群,這將會是為你的Ajax應(yīng)用程序開個好頭。類似的,你將會被很好的建議,以采取必要的步驟來整合所有的你是用來讓你的Ajax應(yīng)用程序變成一個更加龐大的REST服務(wù)集合那些資產(chǎn),這樣做的目的是讓這些資產(chǎn)能夠在其他的面向服務(wù)/非Ajax的應(yīng)用程序中使用。
在另外一方面來說,綁定到一個瀏覽器來使用你的服務(wù),遮掩個會限制你的使用環(huán)境,所以這也會暗示著創(chuàng)建你的Web services客戶端。然而很多Web services客戶端具有從其他不同的來源集中和控制數(shù)據(jù)的能力,這些上可以實現(xiàn)的,因為他們被由類似于Java EE, .NET或者 PHP的系統(tǒng)架構(gòu)構(gòu)建而成的。
考慮在兩個不同的Web服務(wù)提供者之間集成數(shù)據(jù)。這種情況和在一個非瀏覽器環(huán)境下也許一樣簡單,可以證明會成為Ajax應(yīng)用程序中的一個頭疼的問題,也就是它是跨站點的腳本的原因。為了能夠努力阻止惡意代碼的執(zhí)行,一個瀏覽器通常是受限的,它只能在它顯示的站點上擁有的執(zhí)行邏輯代碼。這防止了信任的請求在那些未被信任的站點執(zhí)行,但是這個相同的處理會避免接近兩個或者更多的不同Web service提供者,除非是在一個更低的安全配置要求的瀏覽器的情況下,因為這種方式在整個IT安全實踐中都被認(rèn)為是一種不好的方式。
最后的,還有一個需要考慮的東西是用來構(gòu)建Ajax應(yīng)用程序的JavaScript語言。每一個用來開發(fā)Web應(yīng)用程序的編程語言都依賴于一個特定的框架,以減少開發(fā)任務(wù)的難度和適應(yīng)Web的本質(zhì)。大部分的這些框架都是用于服務(wù)器端的平臺,而Ajax作為服務(wù)端的一個簡單的單獨REST服務(wù)集合,它并不是其他的Web架構(gòu)平臺提供的并不適用于Ajax應(yīng)用程序的功能。它是這些設(shè)計所關(guān)注的一些簡單的東西——如標(biāo)準(zhǔn)化請求或者控制類——轉(zhuǎn)移到瀏覽器。在最后,關(guān)于很多JavaScript 架構(gòu)方面的研究都是很值得去做的,以便開出來讓創(chuàng)建Ajax應(yīng)用程序更加容易。
Ajax本質(zhì)上是 Web開發(fā)的下一個潮流,但并不是意味著它將會被作為一個Web的新的注視點而已。正如你可能已經(jīng)意識到的一樣,在關(guān)于Ajax設(shè)計你的整個面向服務(wù)的動機(jī)結(jié)合起來的考慮意味著你可以在你的時間和資源上取得一個最大的回報。所以下一次你開發(fā)主動解決Ajax適用的有效性的時候,可以試著用SOA的相同的可復(fù)用性方法。
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 2006.04.10??來自:IT專家網(wǎng) ??
Grartner的搜索引擎分析師Allen Weiner說:不能僅僅看到Google今天發(fā)布了什么,更重要的是Google未來將要發(fā)布的東西。Google希望成為強(qiáng)大的、可以控制桌面的前端系統(tǒng),比如Google希望搜索引擎能成為用戶所想要做的一切——聽音樂、處理文檔等的一部分。在Google套現(xiàn)之前,Google首先要做的就是在計算機(jī)上普及這個軟件。
Allen Weiner猜測Google隨后會推出更多的產(chǎn)品,包括開源的字處理軟件或者電子表格處理軟件,而這些軟件的某些功能,比如拼寫檢查將會通過Google的搜索引擎來完成。
某些人士認(rèn)為:一旦這些軟件植入個人電腦,那么企業(yè)級的應(yīng)用也為期不遠(yuǎn)。IDC集團(tuán)的分析師Sue Feldman指出:在家庭應(yīng)用和辦公應(yīng)用之間不再存在清晰的界限,家庭用戶的傾向經(jīng)常會被帶到辦公場所當(dāng)中。Sue Feldman還指出:Google擁有大量的用戶行為數(shù)據(jù),而這些數(shù)據(jù)每天仍在增加,這使Google可以在搜索之外做更多的事情。
Endpoint Technologies Associates Inc.的總裁Roger Kay認(rèn)為象Google這種以客戶為導(dǎo)向的公司,完全可以在企業(yè)應(yīng)用方面大有作為。
Google已經(jīng)投產(chǎn)若干企業(yè)級的搜索產(chǎn)品——Google Search Appliance、Google Mini、Google Desktop Search for Enterprise以及面向商業(yè)用戶的Google Earth Pro。
Google Pack軟件包括了Mozilla Foundation公司的Firefox網(wǎng)頁瀏覽器、賽門鐵克公司的諾頓防病毒軟件、Adobe公司的閱讀軟件、RealNetworks Inc.公司的RealPlayer多媒體播放軟件、Cerulean Studios公司的Trillian 即時消息軟件、GalleryPlayer公司的高清晰圖像軟件以及Lavasoft AB公司的Ad-Aware 反間諜軟件。
Google Pack軟件包還會包括Google自有的桌面搜索軟件、地球衛(wèi)星成像和繪圖軟件、Picasa照片管理軟件、Google Talk即時消息程序、用于網(wǎng)頁瀏覽器的Google Toolbar工具欄、Google視頻播放器以及屏幕保護(hù)程序。
Google Updater程序?qū)惭b和維護(hù)這些軟件、并在更新發(fā)布的時候通知用戶。賽門鐵克透露:Google Pack里的諾頓防病毒軟件可以免費使用六個月,之后可以交費續(xù)用。
Google Pack軟件包只有一個安裝程序,目前可以從Google.com下載。PC廠商和分析師預(yù)計在不久的將來會在臺式機(jī)或筆記本上預(yù)裝全部或部分的Google Pack軟件包。
Intel近日宣布:Google將為其Viiv娛樂平臺提供視頻搜索軟件。惠普的發(fā)言人Ann Finnie表示,惠普正在測試該軟件包,但仍未有計劃會將其應(yīng)用到惠普生產(chǎn)的臺式機(jī)和筆記本中。她說:“盡管用戶對Google工具欄的反響很好,但其中若干組件是不可能贏得企業(yè)用戶市場的,比如Picasa照片管理軟件以及諾頓殺毒軟件。”
Google Pack軟件包中的每一個軟件都能找到對應(yīng)的微軟產(chǎn)品,因此許多觀察家都指出,Google發(fā)布軟件包的動機(jī)是為了與微軟在桌面領(lǐng)域進(jìn)行競爭。
研究微軟的分析師Joe Wilcox卻認(rèn)為該軟件包主要是為了推動搜索業(yè)務(wù),而非與微軟競爭,他說:“Google有遠(yuǎn)比微軟重要的目標(biāo),其中之一就是增加其業(yè)務(wù)的粘性。使用搜索引擎的用戶僅僅是在瀏覽器里鍵入一個地址,不像操作系統(tǒng)那樣對購買者有粘性。因此,Google就要通過發(fā)布一系列對用戶具有粘性的產(chǎn)品和服務(wù)——比如Picasa、G-Mail和工具欄——來增加Google品牌的忠誠度。”
J.W. Locke and Associates的總裁Jim Locke稱,許多普通消費者和中小企業(yè)用戶或許很容易受免費軟件包的誘惑,但他們中的絕大多數(shù)或許會問:“我已經(jīng)有了類似的軟件,這個軟件包有什么特別之處值得我安裝呢?”等到Google Pack軟件包流行起來變成人們?nèi)粘K璧能浖r,微軟早就把桌面“上鎖”了。
2006.01.10 來自:太平洋電腦網(wǎng)
|
這篇技術(shù)預(yù)言是由xMatrix翻譯并發(fā)布在他的blog上,原文作者是Ted Neward,Ted Neward 是Effective Enterprise Java的作者。
1、Ajax的光環(huán)不再,人們開始認(rèn)識到其實沒有什么新玩意兒,只不過是DHTML而已。像Dion指出,Ajax會成為你在網(wǎng)面開發(fā)中的一個工具箱而不是認(rèn)為我正在“使用Ajax”,就像我們對使用HTML與DOM的態(tài)度。
2、EJB3的發(fā)布再次引起人們的注意,但希望這次會帶來更多些實際的東西,少些中看中不用的(的確EJB在JAVA世界中占有一席之地,但注意一下,他比大部分EJB廠商和書作者所期望的要少的多)。
3、Vista將延遲到2007,盡管微軟已經(jīng)很努力了。但同時,WinFX(也就更有效的.NET3.0)會如期發(fā)布,大家會發(fā)現(xiàn)工作流(WWF)將比WPF/WCF/WWF三人組更有趣。注意這里我說的不是“更強(qiáng)大”或“更重要”,而是“有趣”。
4、腳本語言會在2006年達(dá)到他的高點。向Ruby的轉(zhuǎn)換會遇到一個極點,可能在2006年下半年我們會聽到一個使用Ruby的主要項目失敗,很可能是一個較大的咨詢公司嘗試復(fù)制Ruby傳道者的成功經(jīng)驗卻還沒有深刻了解。換名話說,相同的故事,不同的技術(shù),相同的結(jié)果。到2007年時Ruby可能會走下坡。
5、對聯(lián)結(jié)動態(tài)與靜態(tài)語言的興趣正在增長,最初如E4X,ECMAScipt集成XML的變體。
6、Java開發(fā)人員開始對rich Java apps 的興趣再增加。(坦率地說,這是一個賭注,但SUN的Swing研究人員已經(jīng)做了這方面的工作,可能在2006年中期就會達(dá)到其黃金時期)
7、微軟內(nèi)部的一些開始強(qiáng)烈要求CLR團(tuán)隊增加對保存點(continuation)的支持,記要顯示將會在4.0的發(fā)布版本中支持。
8、《有效Java編程》(Effective Java第二版)將會出版。
9、《有效.NET編程》(Effective .NET)將會出版。
10、《XML服務(wù)實戰(zhàn)》(Pragmatic XML Services)將會出版。
11、JDK6會發(fā)布,一大群Java社區(qū)中自稱行家的人聲稱其值得期待。
12、Java開發(fā)人員開始討論在JDK7中需要新增和改變的特性。有許多新的想法被提出,希望大多數(shù)都可以實現(xiàn)。幸運的是,Joshua Bloch and Neal Gafter會繼續(xù)參與改進(jìn)的過程,也會提出更有力的想法并將他們實現(xiàn)出來。
13、我更大的期望,而不僅僅是對2006的預(yù)測,是Sun能夠認(rèn)識到Java平臺不僅是一種語言,而且是一個平臺,并且給予更多的信任和期望來建立一個支持多語言的JVM平臺系統(tǒng)。
14、我最大的夢想是JBoss脫離商業(yè)平臺,并將其源代碼回歸給那些致力于維護(hù)開源項目而不是想著賺錢的開發(fā)人員,就像開發(fā)Geronimo項目的那些小伙子們做的。換句話說,開源社區(qū)要停止內(nèi)戰(zhàn)來齊心協(xié)力地朝同一方向努力。
原文地址:http://blogs.tedneward.com/CommentView,guid,771ab347-c3ba-4a0a-b5ed-cd4dd7b73d49.aspx