First of all, what needs to be made clear is that the system
is the embryonic form of an extremely complex RIA image management system.
Flickr is the famous one-line image management software, under the banner of
the "Photo Sharing". Of course, their data, and the strong popularity
are hard to catch up with to many similar sites. However, I highly recommend interested
readers put this chapter in a similar case to study it, and if so, I believe
you will have more gains.
System Functionality Module
The online image management system in this article will
achieve the following modules:
·
Image Category Management
·
Picture data preview and upload
·
Picture data download and browsing
·
Image Browsing
To simplify the description of the problem, the following
diagrams are given to illustrate the functional modules to be achieved in our
case.
Figure 1—Image
category management module

Figure 2—Image
upload module

Figure 3—Image
download module

Figure 4—Picture
browsing module

Next, we are to discuss the system architecture design.
Architecture Design
This image management system uses a typical three-tier.
Figure 5 demonstrates the schematic of different layers of
the sample in this article, as well as summarizes the important characteristics
of the sample programs.
Figure 5—the
N-tier structure used in this case

Overall, the case structure of this article has the
following important features:
·
SQL SERVER 2008 is used as the server-side data storage.
·
The up-to-date ADO.NET data services technology serves as the
data access layer, which will greatly simplify the data access layer design in
the Silverlight application, thus enabling developers to focus on the XAML
presentation layer and business logic modules.
·
The business logic tier is relatively simple, only corresponding
to some business logic tool classes.
·
User interface layer (presentation layer) is mainly composed of XAML-formed
Silverlight user controls embedded inside the ASP.NET page. In the XAML page
design, the popular data source binding is utilized. Furthermore, in order to
reduce as much as possible the coupling of the presentation layer and the business
logic tier, we avoid directly using the XAML markup attribute attaching
different events to the related handlers, but choose to use the code-behind
class to achieve the attachments, which can be easily accomplished through the "+
=" operator and the event delegate provided in C # language.
Figure 6 below gives the general document layout in this
sample solution of this article. In fact, this layout is also, in a certain
sense, reflects the structure of the entire system.
Figure 6—the
file layout in the sample solution

With the above goals in mind, now let's shift our attention
to the database design.