讀古今文學網 > 程序員必讀之軟件架構 > 第27章 更多分層等於更高複雜度 >

第27章 更多分層等於更高複雜度

我們在培訓課程中學習的金融風險系統案例 的關鍵功能需求之一是解決方案應該能夠分發數據到企業局域網用戶的一個子集。顯然有很多種不同的方法來解決這個問題,其中最簡單的是允許用戶通過一個內部的Web應用程序訪問數據。既然只有組織內用戶的一個子集應該看到數據,任何解決方案對數據都需要某種形式的認證和授權。

鑒於最近圍繞Web 2.0和富互聯網應用的傳言,培訓班裡有一個組認為允許通過微軟Silverlight應用程序訪問數據會很不錯。他們已經想過構建一個ASP.NET應用程序,但又喜歡Silverlight提供的更多可能性,比如交互式地切割數據。他們這個決定的另一個驅動因素是Silverlight客戶端可以「免費」提供,花費的時間「和構建一個ASP.NET應用程序是一樣的」。「免費」是一個非常大膽的觀點,特別是考慮到他們有效地向軟件系統中添加了一個額外的架構層。下面是我畫的他們設計的概況,用以說明增加的複雜度。

雖然我不認為Silverlight應用程序不難構建,然而小組沒有指出的關鍵問題是數據從哪來。像往常一樣,有一些選項;從直接訪問數據數據庫,到在中間層暴露一些數據服務。

小組已經考慮了在IIS(Internet Information Services,互聯網信息服務)Web服務器上部署一些Windows通信基礎(WCF,Windows Communication Foundation)服務,作為數據暴露機制,但這導致了更多的問題。

1.你需要向Silver客戶端暴露什麼操作?

2.你會使用哪些技術捆綁和協議?

3.你如何確保人們不能插入自己定制的WCF客戶端並消費服務?

4.如何部署和測試?

5.其他。