Based on the fact that we are developing a demo blog system
and mainly focusing our interests upon how to make use of the ASP.NET AJAX
server-side techniques, I choose to use the simplest two-tier architecture to
build the sample rather than fall back on the three-tier or even the newest
ASP.NET MVC ones (all of which are recommended architectures in practical
As is well known, in the two-tier architecture you can
directly access the backend database in each page of the presentation tier
without implementing the individual database interface. Advantages and
disadvantages are apparent: the developing and debugging processes are greatly
simplified while the maintenance will become fussy and even more difficult.
At any rate, let us examine the two-tier architecture
applied to this mini blog system, as is depicted in Figure 3.
Figure 3: The two-tier architecture utilized in
this mini blog system
Apparently, in the two-tier module we are able to directly
manipulate the backend system via .aspx web pages (the presentation tier). In
detail, through the web pages, we can directly achieve all the operations such
as adding, modifying, or deleting the data persisted in the SQL Server
System Functionality Modules
The sample website, named AajxMiniBlog in
this article, provides different functionalities according to the corresponding
role of the users. On the whole, there are two kinds of roles in this system:
the administrator (and, for simplicity, the blog host) and the common user (any
common surfers). The former owns the right of category management, blog
management, comments management, and hyperlinks management while the common
users are assigned the rights to browse blogs and related comments, leave a
word, as well as make comments on their interested blogs.
As of now, you can clearly understand that the whole system
is easily divided into two parts from the view point of the user roles, as in
illustrated in Figure 4 and Figure 5.
Figure 4: The blog administrator modules
Figure 5: The common users related modules
With the general architecture and modules in mind, let us
roll up our sleeves to start to work. But first of all, let us dissect at the
database design and its related tables together with the relationships between
them one by one.