2011年4月13日 星期三

案例三:Active Directory帳號建立Web系統

在一般有使用Active Directory管理權限的公司中,建立一個新的使用者帳號往往需要經過很多相關的程序,包含人員屬性設定、授予權限或者由HR系統匯入,都是一個滿煩瑣的步驟.

透過一個Web化的介面就能將此作業自動化,並加入Workflow的一些應用就可以有效的進行這些步驟的整合與異動上的處理.以下是一個簡單的概念圖:



在這個案例中採用的是Windows Workflow Foundation 4.0

2011年4月11日 星期一

案例二:WCF Proxy系統

這是一個WCF的相關應用案例,系統概念如下圖:


簡單來說,主要是提供一個WCF的Proxy機制,讓所有的WCF Server登錄在這個系統上,使用者如果需要呼叫服務就直接與這個系統溝通,不需要知道實際的服務位址.管理人員可透過系統提供的介面進行服務註冊.

系統所提供的功能大概如下:

1. WCF服務註冊與版本管理

2. 服務Schema發佈功能

3. 即時的服務狀態監控

4. 服務的Policy與Endpoint管理

5. 存取記錄與報表

2011年4月10日 星期日

案例一:寄賣管理系統 - UI開發

這篇主要介紹一下在開發時如何實做UI,請先參考一下以下第一張圖片

每一個紅色框起來的部份,都是一個自行開發的WebControl,透過組合這些控制項可以很快的完成一個清單的頁面.

1. 上方Toolbar的功能選項,組合一個DropDownButton與ContextMenu就可以做到,選了按鈕就跳出一個浮動的Panel.


2. 一般來說如果想要顯示查詢的條件,需要自行透過程式取得每一個控制項的值進行顯示,在這個控制項我採用與DataSource控制項同樣的方式,透過設定ControlID與PropertyName,來自動取得要顯示的條件,這樣可以在開發過程中只要透過設定就可以很簡單的使用.


3. 資料分頁也是透過一個控制項與GridView關聯就可以處理分頁的行為


開發控制項本身就有點難度,但其實如果要讓開發過程更順利,更要注意的地方是Design-Time(設計階段)的支援,因此在設計控制項時,一定要考量到控制項的寫法是否符合設計階段的一些規則.

案例一:寄賣管理系統 - 權限管理

先來介紹一下權限的設計,一般來說權限的設計都是透過一個ㄧ個頁面來進行控管,因此在這裡我透過了ASP.NET內建的SiteMap功能來處理.

內建的SiteMap功能,大部分的人都是透過Web.sitemap來定義網頁的結點,我重新繼承了原本的System.Web.StaticSiteMapProvider來進行權限的處理.


1. 在資料庫中設計一個儲存所有需要控管頁面的設定資料


2. 設定可以使用功能的群組設定


3. 在Web.Config中定義自訂的SiteMapProvider


4. 接下來只要在每一個Page上加入一個SiteMapPath的WebControl,就可以做到權限的驗證,在這個我是把這個控制項放到Master中,這樣就不用每個Page都要重新放一次.


接著下來,我會介紹一些UI的處理與WebControls的使用.

案例一:寄賣管理系統

這是一個幫家人做的系統,主要用於紀錄將手工做的東西"寄賣"到各個出租格子的商店,並可以知道目前在各家店家的物品有哪些.


1.系統首頁,左邊為功能列,右邊則為功能的內容顯示頁面


2. 資料清單的範例,比較特別的是Grid的標題列是鎖定的,不會因為Scroll Bar的下拉而看不見.


3. 功能列的行為模式,點了後會才會跳出可選擇的選項,可有效的減少占用的空間


4. 搜尋功能,當對於資料有輸入搜尋條件,會多出一個搜尋條建列,可直接點選進行條件的移除



5. 單筆資料的維護



6. Master-Detail資料的維護



7. 當編輯資料時,需要選擇其他資料當作參考來源,都會以Popou方式來處理,並有一些條件過濾來加速資料的選取




以上為功能的一些展示與UI介紹,我會在接下來的部份,說明一下技術上的用法.