J. Software Engineering & Applications, 2009, 2:40-43
Published Online April 2009 in SciRes (www.SciRP.org/journal/jsea)
Copyright © 2009 SciRes JSEA
Three-Tier Knowledge Management System Based on .NET
Mingxing Cai1, Jintao Zheng2, Ping Shi1, Xiaohui Li1
1Facility Division, China University of Geosciences, Wuhan, China, 2School of Software Engineering of Huazhong University of
Sciences and Technology, Wuhan, China
Email: zheng.j.t@163.com
Received January 19th, 2009; revised February 20th, 2009; accepted March 24th, 2009.
ABSTRACT
Three-tier knowledge management system based on .NET architecture is designed according to requirement specifica-
tion, characteristics of and relationship between enterprise electronic archives and knowledge management. This sys-
tem using three-tier design based on factory pattern has good encapsulation and portability, with clearer and more
concise structure. It degrades the costs of system development and maintenance and upgrades system’s high reusability
and development efficiency.
Keywords: Knowledge Management, .NET, Three-Tier Architecture, Design Based on Factory Pattern
1. Introduction
With the advent of the era of knowledge economy and
increasing competition among enterprises, more and
more enterprises are aware of the importance of the
knowledge management to their development [1]. How to
refine business knowledge in complex external and in-
ternal information, to effectively manage the acquisition,
production and proliferation process of all kinds of enter-
prise knowledge, and to enhance knowledge-based capa-
bilities, is the key to business survival. Broadly speaking,
knowledge management is a positive approach to manage
and optimize the enterprise’s knowledge resources [2].
The goal of knowledge management is to pass on the
most appropriate knowledge to the most appropriate per-
son at the most appropriate time. It can give managers
great support to make the best decisions [3]. At present,
domestic researches on the enterprise knowledge man-
agement focus more on the theoretics than the practice
[4]. Therefore, it is of great practical significance to de-
sign a set of easy-to-use and easy-to-promote knowledge
management system, making use of the existing and
somewhat general information technology, for promoting
knowledge management in its application and develop-
ment for the enterprise.
This paper researches and analyzes knowledge man-
agement in-depth theoretically and practically, using Mi-
crosoft .NET technology platform, to design and develop
knowledge management system solutions suitable for
enterprise applications, in the hope of promoting the
widespread and in-depth use of knowledge management
in enterprise applications.
2. Design for Three-Tier Knowledge Man-
agement System Based on .NET
The architecture design for this system is shown in
Figure 1.
2.1 System Architecture Design
This system uses .NET platform based B/S three-tier ar-
chitecture. B/S structure can lower the configuration re-
quirements for the client. Three-tier architecture is a new
method of programming, divided into the presentation
tier, the business logic tier and the data access tier [5]. An
advantage of three-tier architecture is its separation of
data and format, with which programs can be easily ex-
panded and modified to improve the coding reusability,
once the business requirements are changed.
The presentation tier, using ASP.NET dynamic Web
pages/sites techniques, provides users with the interop-
erability of the Web access interface, improving the pre-
compiled operating mechanism, enhancing the security
and guaranteeing good performance for the system.
The business logic tier contains almost all the proc-
essing functions of system business logic, which is a
bridge between the data access tier and the presenta-
tion tier. Thus, the robustness, flexibility, reusability,
scalability and maintainability of the software system,
to a large extent, depend on the design of business
logic tier [5]. In this paper, the business logic tier
based on .NET platform encapsulates components such
as the approval flow, business entities, statistical
analysis, etc.
The data access tier offers centralized visits to the da-
tabase to ensure good encapsulation and maintainability [6].
The business logic tier interacts with the database
through the data access tier to avoid directly relying on
the database. The data access tier, synthesizing the factory
Three-Tier Knowledge Management System Based on .NET 41
Copyright © 2009 SciRes JSEA
Figure 1. Architecture of knowledge management system
Figure 2. Data access tier based on factory pattern
design pattern and the reflex mechanism on .NET plat-
form, makes itself more flexible, as shown in Figure 2. It
really fulfills the characteristic that the data tier is unre-
lated to the upper tiers. That is, whatever data storage is
using, MS SQL Server database, Oracle or XML docu-
ments, as long as the data is accessed through a certain
interface, there is no need to revise other upper tiers and
to recompile the whole system.
2.2 System Function Design
Overall flow of three-tier knowledge management system
based on .NET is as shown in Figure 3. Four main func-
tional modules are briefly illustrated as follows.
1) Document management: It mainly includes two func-
tions of the basic information management and appended
documents management, which requires business personnel
of all departments to upload internally- generated docu-
ments into the knowledge management system in time.
2) Archives management: It includes four sub-modules
of archiving management, expiration identification, de-
partmental archives management and corporate archives
management.
·Archiving management includes three functions of
archiving application, archiving processing and ar-
chiving approval.
·Expiration identification includes three functions of
expiration reminding, documents destruction and
documents postponement.
·Departmental archives management module is to
display, using views, the archiving application in-
formation to be processed by the departmental
knowledge administrators and the archives informa-
tion submitted to the corporate knowledge adminis-
trators for approval, including two schedule views of
above-mentioned information. Departmental admin-
istrators have access to viewing.
·Corporate archives management is to display, mainly
using views, the archives information required to be
approved by the corporate knowledge administrators
and the archives information already approved by them.
Corporate administrators have access to viewing.
Knowledge resource library
Business per-
sonnel of all
departments
Unified
catalog Busi-
ness
items
Docu-
ment
types
Archives
classifi-
cation
Electronic
documents
Paper
documents
Decen-
tralized
collec-
tion
Classified
display
Depart-
mental
docu-
ments
Corp-o
rate
docu-
ments
Corp-
orate
archi-
ves
Knowledge management system
Marketing management system
Productional operating systems
Interface
EIP
System
manage
-ment
Catalog
manage-
ment
Purview
manage-
ment
Log
manage-
ment
Archives management
A
rc
hi
v
i
ng
a
pp
lication
A
rc
hi
v
i
ng
a
pp
roval
Exp
i
rat
i
on
id
en
t
i
-
fication
Document manage-
ment
Basic infor
m
ation
Attachment man-
agement
Use and
management
of knowledge
resources
Loan management
Distribution
management
Full-text retrieval
Statistical analysis
Knowledge
administrators of
all
de
artments
A
rc
hi
v
i
ng
p
rocessin
g
42 Three-Tier Knowledge Management System Based on .NET
Copyright © 2009 SciRes JSEA
Figure 3. Overall flow of knowledge management system
3) Full-text retrieval: It mainly provides two func-
tions of fuzzy retrieval and advanced retrieval. For both
search modes, we have to consider the searchers’ ac-
cess to files. Files, to which searchers have no access,
should not be included in the search results. Advanced
retrieval function is to rapidly integrate related infor-
mation scattered in various heterogeneous systems and
then present it to users, according to the meanings of
domain knowledge possessed by the information re-
sources. The implementation of this search function is
based on Conceptual Set C and Attribute Set A in the
ontology =(N,F,C,A,R,R), accurate relationship be-
tween them and comprehensive setup of the ontology
[7].
4) System management: It is mainly composed of five
sub-modules such as classified catalog management, file
storage settings, access management, log management,
and full-text retrieval management.
3. System Implementation
As for three-tier architecture based system, there are three
main assemblies-KMS. Web. dll for the presentation tier,
KMS. BLL. dll for the business logic tier, and KMS.
DAL. dll for the data access tier. And else there are three
assisted assemblies-entity class KMS. Model. dll, public
class KMS. Utility. dll, and class factory KMS. DAFactory.
dll [8].
In order to implement real separation of data tier and
other upper tiers, class factory design pattern and reflex
mechanism design are integrated to fulfill the data access
tier [8]. Using factory pattern + reflex mechanism + cach-
ing mechanism, dynamic creating different object inter-
faces to data tier is implemented.
1) Define an interface and a basic method used to ac-
cess users’ information [9].
namespace KMS.IDAL
{
public interface IKMAdmin
{
/// add new data
void Add(Maticsoft.Model.KMAdmin model);
}
}
IDAL interface project is only a statement of a series
of methods, while specific implementation details will be
accomplished by data access project.
2) Compile corresponding data access project for Sql
database
namespace KMS.SQLServerDAL
{
public class KMAdmin : IKMAdmin
{
public KMAdmin()
{ }
/// add new data
public void Add(KMS.Model.KMAdmin model)
{
// ellipsis
}
}
}
Data access project SQLServerDAL fulfills “add”,
“modify” and “delete” functions for records in connec-
tion with the Sql database.
3) Create a class factory “DALFactory” to identify
which database users choose when they are building ap-
plications.
DALFactory read the database identification information
from the system configuration file “web.config” to provide
users with a unified interface, making users worry less
about it.
When the Sql database is used, information identifiers in
configuration files are as follows:
<add key = "DAL" value = "KMS.SQLServerDAL">
DALFactory project will select the corresponding data-
base according to the database identification information.
Business
personnel/
Knowledge
administrators
create files
Departmental
knowledge ad-
ministrators
preliminarily
transact archiv-
ing applications
Archives
maintenance
Use electronic documents/files (e.g.
borrow and query)
Corporate knowledge
administrators apply
for archiving approvals
and archive approved
files
Three-Tier Knowledge Management System Based on .NET 43
Copyright © 2009 SciRes JSEA
private static readonly string AssemblyPath = ConfigurationManager.AppSettings["DAL"];
/// <summary>
/// create an object or obtain from cache memory
/// </summary>
public static object CreateObject(string AssemblyPath, string ClassNamespace)
{
object objType = DataCache.GetCache(ClassNamespace);// read from cache memory
if (objType == null)
{
try
{
objType = Assembly.Load(AssemblyPath).CreateInstance(ClassNamespace);// generate reflection
DataCache.SetCache(ClassNamespace, objType);// write cache memory
}
catch
{ }
}
return objType;
}
/// <summary>
/// create data access interface of KMAdmin
/// </summary>
public static KMS.IDAL.IKMAdmin CreateKMAdmin()
{
string ClassNamespace = AssemblyPath + ". KMAdmin";
object objType = CreateObject(AssemblyPath, ClassNamespace);
return (Maticsoft.IDAL.IKMAdmin)objType;
}
The system encapsulates the processing of the lower
tiers into the project and provides interfaces to the logic
tier, so that it can be directly called.
4) Examples for calling interface of the logic tier.
namespace KMS.BLL
{
public class KMAdmin
{
private readonly IKMAdmin dal = DataAccess.CreateKMAdmin();
public KMAdmin()
{ }
/// add new data
public void Add(KMS.Model.KMAdmin model)
{
dal.Add(model);
}
}
}
In this way, the encapsulation and universality are ful-
filled well.
4. Conclusions
Three-tier knowledge management system using .NET
architecture design has good reusability, encapsulation
and scalability. Compiled programs are of high security
and efficiency. Separation of interface and programs
makes the structure clear, which is easy to maintain.
Through the design for every module in the knowledge
management system, giving support to current archives
management work is fulfilled. It combines archives
management with knowledge management to promote
internal knowledge sharing.
REFERENCES
[1] B. Gallupe, “Knowledge management systems: Surveying
the land-scape [J],” International Journal of Management
Reviews, 3(1), pp. 61-77, 2002.
[2] J. X. Zhou and R. R. Zhou, “Research on PLM system
framework and key technologies,” Transactions of Nan-
jing University of Aeronautics & Astronautics, Vol. 35,
No. 5, 2003.
[3] R. Mack, Y. Ravin, and R. J. Byrd, “Knowledge portals
and the emerging digital knowledge work place,” IBM
Systems Journal, Vol. 40, No. 4, 2001.
[4] C. E. Wang, Y. P. He, and Q. L. Shu, “Product life cycle
modeling and management,” Science Press, Beijing, 2004.
[5] S. S. Wei and N. S. Xu, “Design and implementation for
data monitoring client based on .NET components,”
Computer & Digital Engineering, No. 6, 2008.
[6] Q. Z. Wu, “Operations research and optimization method
[M],” China Machine Press, Beijing, No. 8, pp. 218, 2003.
[7] X. L. Liu, H. R. Wang, and G. J. Yang, “Research and
development of ontology-based knowledge management
system,” Journal of Hebei University, No. 5, 2008.
[8] S. Li and J. X. Wang, “Design and implementation of
enterprise manager assessment & evaluation system based
on .NET three-tier B/S architecture,” Journal of Nanjing
University, No. 3, 2007.
[9] K. Zeng, “Design and implementation of B2C mobile
e-commerce website based on ASP. NET,” Computer &
Digital Engineering, No. 3, 2008.