Developing an ASP.NET AJAX Client-Centric Wiki Application - The Three-Tier Model and Key Techniques
(Page 2 of 4 )
To construct this article wiki application, we’ll try our best to follow the standard three-tier model. The following Figure 2 shows the rough model leveraged in this example.
Figure 2—the three-tier model that our wiki application follows.

There are two points that deserve to be noticed. First, the imperfection results in our having to use a little ASP.NET 2.0 server-side solution in this demo, which is not indicated in Figure 2. Second, we’ve combined XML with an MS SQL Server database to persist the article-related contents.
Now, let's do a little research into the key techniques required by this application.
Key TechniquesIn my opinion, the following crucial techniques are required in constructing this sample wiki system:
1. The role and membership management. This is usually a must have in real ASP.NET 2.0 applications. In this application, you should use the ASP.NET Web Site Administration tool to create roles and their corresponding users that own different access rules. Since many readers may already be quite familiar with this tool we won’t dwell on it. The really interesting part lies in Sys.Services.AuthenticationService, which is a static class contained in the MicrosoftAjax.js file that allows you to authenticate using the ASP.NET 2.0 membership application service. What we need to do is pass it the username and password and the name of the function to call once the logging in is complete, which allows our MS AJAX application to use the standard ASP.NET 2.0 authentication system.
2. Data Storage. Under real environments the data in a web system are mainly persisted in XML and HTML files, and various databases. For simplicity, we have utilized the Microsoft SQL Server Express database to store the roles and users information, the article category and general information; we've only chosen XML to persist the article details. One point that deserves to be noticed is that we’ve painstakingly selected two important client-side controls—XmlDataSource and XsltView--to exhibit the article content so that we can show to readers as many MS client-centric techniques as possible. However, because it is still in its verdant phase, the XsltView control is constrained in bearing the burden of displaying the contents of an ".xml" file.
3. Client-side and server-side programming. Based on practical requirements, we have synthetically used JavaScript (i.e. imperative mode) and xml-script (i.e. declarative mode) programming on the client side. But, as mentioned above, due to the immaturity of the client-side control (XsltView), to deal with XML data, we, at rare times, have to resort to the traditional ASP.NET 2.0 server-side techniques and controls to more effectively handle XML data. Later on we’ll take a closer look at each of these.
Next: Data Tier Design >>
More ASP.NET Articles
More By Xianzhong Zhu