基于SaaS的Web-DBMS的研究与应用

摘要:随着企业对信息化的要求提高,数据库从简单的数据处理提高到信息服务、业务管理和知识决策。但传统数据库的访问方式、硬件要求和跨平台等原因使其进一步推广存在难度。因此,本系统结合传统数据库与Web模式的特点,将客户端融入统一的Web浏览器中,基于服务统一、易部署和跨平台等思路,融合SaaS构架和软件营销应用模式对系统进行了研究与设计。采用ExtJS、C#.net、Linq to Sql和存储过程技术实现了系统的应用模块,采用SqlClient、类封装和数据加密技术实现了软件中间件。最终将系统的相应软件服务和用户需求分离,从而降低用户企业的信息化成本,同时企业使用的数据库得到更专业的服务。

关键词:DBMS  SaaS  Web数据库  中间件

1引言

Internet是目前全球最大的计算机通信网,它遍及全球几乎所有的国家和地区。Web系统是一个大型的分布式超媒体信息数据库,它极大地推动Internet的发展,已经成为Internet中最流行、最主要的信息服务方式[1] 。它能够把各种类型的信息资源有机地结合起来,使用户能够在Internet上浏览、查询和共享建立在Web服务器所有站点上的超媒体信息。将数据库管理系统放到Internet上,结合Internet方便快捷,跨平台的特点,以Web这种浏览器/服务器模式为平台,将客户端融入统一的Web浏览器,为Internet用户提供DBMS服务,同时又充分发挥DBMS高效的数据存储和管理能力,将两者取长补短,发挥各自的优势,使用户可以在Web浏览器上方便地操作数据库的内容。

系统采用SaaS(软件即服务)这种通过Internet提供软件的新兴软件应用模式。服务商将应用软件统一部署在自己的服务器上,客户可以根据自己的实际需求,通过Internet向服务商订购所需的应用软件服务,按订购的服务多少和时间长短向服务商支付费用[2]。据Gartner统计,2011年全球SaaS(软件即服务)收入达到121亿美元,较2010年的100亿美元增长20.7%。这一市场此后仍将保持健康增长,2015年的收入有望达到213亿美元[3]。由此可见SaaS强大的生命力与市场号召力,原因在于SaaS模式可以帮助厂商增强差异化的竞争优势,降低开发成本和维护成本,加快产品或服务进入市场的节奏,有效降低营销成本,改变自身的收入模式,改善与客户之间的关系。

由上可知,基于SaaS的Web-DBMS潜在着巨大的商机。同时,SaaS、Web和数据库技术的的整合,在计算机研究领域意义深远。

2 系统设计

2.1 系统总体设计

系统总体上分为两部分内容:Web-DBMS图形化操作界面、软件中间件。Web-DBMS图形化操作界面是用户用于对已订购的数据库、服务进行管理及使用的图形化界面。软件中间件是已进行二次封装的数据库操作插件,用户程序可使用该插件操作已订购的数据库,具体如图1所示。

   

图1 Web-DBMS系统示意图

2.2 系统流程设计

通过对系统需求进一步分析,对系统基本模型进一步细化,得出系统功能级数据流图,如图2所示。系统可以通过订购空间(服务)、个人后台空间(服务)管理、数据库管理、表(视图、触发器、存储过程)管理、表中数据管理等功能模块向用户提供各种服务,用户通过相关操作获得相应服务。

 

图2 系统数据流程图

3 关键技术

3.1 图形化映射技术

    要实现该功能模块,需要满足以下2个条件:1)主数据库PSGLB及相关底层存储过程已创建成功;2)处于Internet连通环境下,在满足以上2个基本条件下,数据库管理、表(视图、触发器、存储过程)管理、表中数据管理的程序流程图如图3所示:

图3 用户图形化操作程序流程图

3.2 软件中间件技术

软件中间件实现的目的是,用户程序可使用该插件操作已订购的数据库,在进一步提前安全性的同时,也增加了系统对数据库访问方面的可控性。该模块的实现方法是对System.Data.SqlClient命名空间下部分方法进行二次封装抽象,通过声明Plug类重新定义对数据库操作的接口,包括数据库的打开和关闭,事务的开始、事务的递交和回滚,没有返回值的SQL语句的执行和返回数据集的SQL语句的执行等方法。将直接数据库操作与用户程序隔开,实现转接口的作用。而且为了方便用户程序调用,系统将软件中间件生成DLL插件,同时出于安全性的考虑,用Dotfuscator混淆器将已生成的DLL插件进行混淆和加密。以下为部分核心代码:

#region###Open方法       

public void Open(string dataname)

{if (conn == null){string strsql = @"Server=WHIOGLFOCE9ME2U\L;Initial Catalog=" + dataname + ";Integrated Security=True";conn = new SqlConnection(strsql);}

if (conn.State.ToString().ToUpper() != "OPEN")this.conn.Open();}

 

#region###返回数据集方法

public DataSet ExeSqlForDataSet(string queryString)

{if (comm == null)comm = new SqlCommand();comm.Connection = this.conn;

if (inTransaction)comm.Transaction = trans;DataSet ds = new DataSet();

SqlDataAdapter ad = new SqlDataAdapter();comm.CommandText = queryString;

 ad.SelectCommand = comm;ad.Fill(ds);return ds;}

4 系统实现

当解决以上介绍的关键技术点后,基本的原型系统就初具规模,利用系统将空间、备份服务等划分成相应服务,标上售价,一个基于SaaS的Web-DBMS原型系统就出现了,系统采用B/S模式,用户或管理员都可通过浏览器管理自己所属权限下数据。为了更好地服务广大用户,对原型系统作了进一步完善,完善后的系统功能如下:1)“网站前台展示”分为三个功能模块,分别是空间/服务订购功能、公告发布功能、登录/注册功能; 2)“管理员信息管理”分为四个功能模块,分别是用户管理模块、空间/服务管理模块、订购详情管理模块、公告管理模块; 3)“用户图形化操作”分为五个功能模块,分别是订购空间/服务管理、空间下的数据库管理、数据库下表的管理、数据库下视图、触发器、存储过程管理、表中数据管理; 4)“软件中间件”将数据库直接操作与用户程序隔开,实现转接口的作用。

4.1 用户图形化操作

选择用户图形化操作做进一步介绍,其内容包括:订购空间/服务管理、数据库管理、数据库下表的管理、数据库下视图、触发器、存储过程管理、表中数据管理。用户在图形化操作界面上所做操作,都会通过调用主数据库PSGLB中存储过程实现映射操作,一一映射到已订购的物理层数据中。

 

图4 用户图形化操作界面

4.1 管理员信息管理

选择管理员信息管理做进一步介绍,其内容包括:用户管理模块、空间/服务管理模块、订购详情管理模块、公告管理模块。管理员用户可通过后台登录页面登录成功后,对系统中的所有信息进行管理。 

图5 管理员信息管理

 

5 结束语

数据库管理系统主要是用来存储与管理数据,将其放到Internet上,结合Internet方便快捷,跨平台的特点,为Internet用户提供DBMS服务。考虑到网络传输时安全问题,开发了软件中间件,订购空间的用户可通过该插件操作数据库,在提前安全性的同时,也增加了系统对数据库访问方面的可控性。而做为软件营销方面的考虑,系统采用SaaS软件应用营销模式,用户可按需订购,降低本身成本。当然对于如何提高系统的可靠性与健壮性,实现多数据库类型、版本的兼容功能,大数据量查询优化、数据挖掘等服务功能,还需要作进一步的深入研究。

参考文献

[1] 李春青,李海生 Web数据库技术及其发展趋势[J]. 软件导刊 2012,2

[2] 杨建新 SAAS现状分析与前景展望[J]. 软件导刊 2012,1

[3] i美股行业新闻[J]. 2011,7

[4] 许锁坤,林青,管美静 基于Web服务的数据访问层设计与实现[J]. 宁波大红鹰职业技术学院学报 2006,3(1):17-18

[5] 高级数据库技术:第六章 Web数据库[M]. 北京:清华大学出版社

[6] Bennett K, et al.Service-based software: the future for flexible software[

DB/OL], in Seventh Asia-Pacific Software Engineering Conference(APSEC'00). 2000.

[7] Bennett K, et al. An Architectural Model for Service-Based Software

with Ultra Rapid Evolution, in Software Maintenance [R],2001. Proceedings. IEEE International Conference . 2001.

[8] 孟小华,陈传凯 传统软件向SaaS软件转型方案的研究[J]. 软件天地

[9] 杨阳,杨正校 新兴的SaaS软件包装模式[J]. 科普综述

[10] 冯天宇. Web数据库技术[M]. 北京:清华大学出版社 2005,4

 

 

 

Research and Application of Web-DBMS based on SaaS

Author: Lebin GUO

Department of Computer Science,HuizhouUniversity, 516007

Abstract: With the enterprise putting forward higher request to informatization, the database can do things from simple data processing to the information service, to business management, and even to knowledge decision. However, traditional database because of its access method, the hardware requirements and cross-platform and so on that it has certain difficulty in the popularization and promotion. Therefore, this system combine the traditional database and Web pattern to Web pattern's DBMS information service, embracing the client to the unified Web browser. Based on service unity、easy deployment and cross platform, the research and design of the system with SaaS structure and software marketing application pattern was done. Using ExtJS、C#.net、Linq to Sql and storage process technique to achieve application module of the system, the SqlClient, class packaging and data encryption technology to achieve the middleware software. It will eventually separate the corresponding software service and user needs, thus reducing the enterprise's information cost. At the same time, the database that the enterprise uses gets more professional services.

Key Word: DBMS  SaaS  Web-DBMS  Middleware

 

posted on 2012-07-08 20:21  guolebin7  阅读(817)  评论(0编辑  收藏  举报