Silverlight x ASP.NET 網站 N-Tier 設計 (2)

相較於純粹的運用 ASP.NET 的網站,一旦導入了 Silverlight ,事情就沒有這麼簡單了,ASP.NET 將網頁送到瀏覽器之後,生命期就結束了,伺服器所要作的,就是等待 ASP.NET 的回應,然而對於 Silverlight 而言,它的生命這個時候才剛開始,它會隨時與使用者進行互動,並且需要即時與後端伺服器進行溝通,也因此 Silverlight 與 ASP.NET 的互動整合變得至為重要。

在三層式的架構中,Silverlight 與 HTML 負責建構展現層,這一部份會在瀏覽器執行,而商業邏輯層與資料層則會在伺服器端運作,如下圖:

[ASP.NET]


[Silverlight X ASP.NET]

 使用者在展現層所執行的資料存取編輯(CRUD)行為,均會透過中間層,也就是商業邏輯層反應給資料層,而資料層則負責真正的底層資料庫更新作業,而查詢之類的要求,也是由這一層取得所需的資料,透過中間層回應給展現層。


Silverlight 所提供的是即時互動的操作介面,因此使用者的動作必須能夠馬上得到回饋,在這種情形下,中間層的功能就非常重要。在 Silverlight 與 ASP.NET 技術構成的世界,我們可以利用幾種主要的服務來建構中間層以達到上述的目標,列舉如下:
  • ASMX Web Services
  • WCF
  • ADO.NET Data Services
  • WCF RIA Services
我們會在後續逐一討論這幾種不同的技術,不過請特別注意的是,只有最後一項 WCF RIA Services 是針對開發Silverlight此種 RIA 架構而設計的服務,它也是 Silverlight 4 才被正式導入,它當然不是全新的東西,從名稱來看,你應該能夠意識到它建立在 WCF 的基礎上,同時與ADO.NET Data Services 有關,只是將實作的過程包裝的更為方便,如果你有使用前述幾種服務的經驗,面對 WCF RIA Services 將會得心應手。

每一種服務,都能夠讓 Silverlight 與後端伺服器上的資料層進行溝通,其中最建議的方式當然是最新的 WCF RIA Services ,不過它有一些難度,上手不難,用到得心應手的話要下一些功夫修鍊,這一部份,我們會闢專文作進一步的說明。

下一篇介紹資料層的部份。

沒有留言: