專刊內文

當前位置:首頁>專刊分享>內文

瀏覽次數 : 5373



 

EEP2010起步走

訊光科技 / 顧琦


前言

訊光將在6月所推出的EEP2010中,最重要也最讓人關注的就是Entity Framework架構與Silverlight 開發技術,這兩項都是VS2010中最為被看好與最具未來性的關鍵技術之一,前者是資料庫的存取架構,讓我們存取資料庫不必再使用SQL語法,更能跨越各種不同類型的資料庫;後者更不用說,從VS2010發表會現場開發者驚呼聲連連,就可以知道大家對Silverlight的看好程度。或許大家還沒開始如何進入這兩項技術的設計領域,本文將透過EEP2010的元件化開發技術,為你一步一步揭曉這兩項技術的神秘面紗。


設計Server端商用邏輯

首先我們進入VS2010當中,以Tools/EEP Wizard來啟動EEP2010的精靈。接著我們選擇Entity Framework的WCF Service Wizard,按下Next下一步。

 

 這是命名Server端的Package名稱(也就是DLL的名稱),我們設定為SCustomers。

再下一步透過VS2010的Entity Data Model Wizard來選擇Entity Table,這個地方我們還是用我們習慣的NorthWind作為資料庫。

 

 接著選擇一個Entity Table,在此我們選擇Customers,最後按下Finish完成回到EEP Wizard。

 

 在此我們按下Add選Customers這個Entity做為我們的Table,這裡不選欄位代表全部,按下Done完成Wizard的設計,產生的Server模組如下圖:

 打開我們EEP2010的EEPNetServer,選擇 WCF/Package Manager將此Server端的DLL服務掛接上去,選擇Add將SCustomers這個DLL服務加進來,Server端的開發就已經完成了。

 

 
設計Silverlight的端頁面

同樣我們透過EEP Wizard來幫我們完成Silverlight畫面開發,如下:選擇Silverlight Client Wizard,按下Next下一步,然後選擇要產生Silverlight頁面的Folder名稱。

 

 選擇一個Template,如選擇一個SLSingle代表要做一個單檔的頁面,接著輸入表單的名稱與頁面的抬頭。

 

 透過WCF的Service來選擇Server端的資料模組與EFCommand (就是Entity),在此我們選擇SCustomer這個DLL的Customers這個Entity。

 

 接著會顯示這個WCF服務對應的Entity欄位內容,在此我們選擇要顯示的表格欄位(顯示用的)與表單欄位(編輯用的)。每個欄位都可以設定所要使用的Silverlight控件(Control),一般標準是TextBox。

 

 最後在VS2010中出現了這個表單,右邊的DataForm是看不到了,要在RunTime的模式才能看見。

 

上圖這因為分層的架構,透過WCF所取得的Entity是必須向WCF Server取得抽象的結構 (真正的實體結構對應由Server端的EDMX來負責對應),因此我們特別透過SLTools (公用的接口)來向Server端取得Entity的結構,對EFServerReferance以右鍵的”Update Service Referance”來更新。Silverlight的Client端頁面到此已經設計完成了。


設定並執行結果

接著我們透過EEP2010一個新的EEP Manager來設定頁面的權限管理,如下,打開權限管理設定,在功能表中加入一個Silverlight的模組,選擇MyWeb之下的WCustomer這個表單即可。

 

 透過Access Groups的設定來設定哪些群組可以使用這個表單。

最後在EFWebClient這個WebSite中,以LogOn.Aspx來登入EEP2010的主頁面,如下:

 

以001登入後,出現了EEP2010的主頁,然後按下客戶管理。

 就可以在畫面中顯示剛剛所設計畫面,無論是新增/更改/刪除與查詢功能都是具備的。

 

 
結語

當然,開發一個商用軟體不可能是這麼簡單,這裡我們只是以一個最簡單的Sample來說明EEP2010如何透過VS2010的Entity Framework與Silverlight 技術來實現元件化及快速開發的方案,讓大家一睹這些新架構的風貌,在EEP2010中將有更多更深入的開發模式應用在這些新技術當中,我們也會盡快提供各種文章與文件供大家來了解這些新技術的應用經驗及成果,期待我們共同的努力。