软件定制在SaaS模式下的应用研究
2014-05-24陈继祥
陈继祥
(亳州职业技术学院, 安徽 亳州 236800)
软件定制在SaaS模式下的应用研究
陈继祥
(亳州职业技术学院, 安徽 亳州 236800)
随着云计算技术和企业信息化建设的快速发展, SaaS模式下的软件定制逐渐以其独特的优点受到中小企业的欢迎.基于此背景下, 介绍了当前企业进行软件定制的两个重要方面——数据定制和逻辑定制, 构建了一个基于适合SaaS 应用的业务逻辑定制框架, 为中小企业方便、快速的定制软件提供了一个理论参考依据.
SaaS; 数据定制; 业务逻辑定制
1 引言
随着信息技术的快速发展, 中小企业为了能够实现信息快速流通, 以便资源共享, 提高工作效率, 实现高效管理, 降低成本, 增强自身的竞争力, 开展信息化建设是必选的途径.但是, 针对不同的企业, 开展信息化建设的模式和方法各不相同, 特别是针对一些中小企业而言, 很难有足够的财力和人力去开展信息化建设.作为一种新型的软件架构模式, SaaS模式逐渐成为了中国中小企业进行软件定制的首选.据计世资讯发布的最新调查数据报告显示, 2012年中国SaaS市场规模达到了584.3亿元, 增长率为30.2%.由此可见, SaaS模式下进行软件定制必将成为未来软件行业发展的新方向.
2 SaaS模式
SaaS的意思是软件即服务, 它是通过网络向客户提供软件服务的商业模式.作为一种新型的软件布局模型[1].软件租户不需要向软件供应商购买相应的硬件, 只要根据自己的需要向SaaS平台运营商或者软件供应商订购自己需要的软件功能模块, 即可获得基于 Web的软件服务, 可以满足不同软件租户的个性化软件定制需求.软件租户不需要自己进行硬件和软件维护, 相对于传统软件模式, SaaS模式针对企业信息化建设具有更大的优势,更能满足企业用户的个性化需求[1], SaaS模式传统软件模式区别如表1所示:
表1 SaaS模式与传统软件模式区别表
目前, 企业在 SaaS 模式下定制软件时, 主要包括数据定制和业务逻辑定制.基于 SaaS 模式下的数据定制是指软件租户可以通过一定的技术来实现自身的数据存储和扩展.业务逻辑定制是指不同的软件租户可以根据自己的往来业务情况进行业务逻辑定制.
3 基于SaaS 模式下的数据定制技术
SaaS 软件服务商或供应商面对的是来自不同行业、不同领域的用户, 他们各自需要的数据差异很大.即便同一个租户可能也会随着自己业务对象的变化, 所需要的数据结构也会跟着变化.因此, SaaS软件供应商不仅要满足软件租户这种个性化数据定制需求, 又要保证客户自身的数据安全.在 SaaS模式下, 设计安全稳定的数据架构是十分必要的.在 SaaS模式下, 如果多个租户共享一个实例时, 如何做好租户之间的数据隔离和共享是值得思考的.租户之间共享的公共数据无论采取那种存储方式, 租户都不能随意更改.租户数据存储架构一般按照隔离和共享的情况分为三类:
3.1 独立数据库
这种存储结构一般是指一个租户对应一个数据库, 软件租户可以按照自己的需求进行设计数据结构, 是一种能够实现最安全数据隔离的数据架构.在这样数据模式下, 软件租户可以根据自己的业务情况进行数据的扩展.软件租户的数据备份同样使用的是专用的数据库, 不易被其他软件租户意外访问, 方便软件租户恢复数据,安全系数比较高.
3.2 共享数据库、独立数据架构
这种数据存储架构可以共享数据库, 但是每个软件租户拥有一套单独的数据表架构, 存储在单独的模式中.如图 1所示, 这种架构下, 软件租户可以自由对数据架构下的表格进行修改.与独立数据库一样, 这种数据架构也能快速进行数据隔离, 支持的软件租户数量得到了增加, 成本相对减少.但是, 这种类型数据维护比较复杂,一旦数据库出现错误, 恢复软件租户的数据时, 将要花费很长的时间.
图1 共享数据库、独立数据架构
3.3 共享数据库、共享数据架构
共享数据库、共享数据架构是指软件租户的数据存放在同一个数据库的同一个表中[2].如图2所示.一张表中存放着不同软件租户的数据记录, 软件租户之间的信息通过租户号来进行区分.在这样数据架构下, 所有软件租户的数据共享级别比较高, 但是数据的隔离性比较差, 给数据的安全带来一定的风险.比较适合对安全要求不太高, 存储数据信息比较少的软件租户.
图2 共享数据库、共享数据架构
一般情况下,SaaS软件服务商或供应商采取单实例多租赁的形式为多个软件租户服务.针对客户业务数据情况, 我们可以发现人们提出了以上三种数据基本存储方式主要区别如表2所示:
表2 SaaS模式三种数据基本存储方式比较
从表2 中可以看出 独立数据库数据隔离、成本消耗、维护级别都比较高, 数据扩展、便利程度比较简单, 但是共享级别比较低.共享数据库、独立数据架构处在两者之间, 而共享数据库、共享数据架构, 数据隔离、成本消耗、维护级别都比较低, 数据扩展、便利程度比较复杂, 但是共享级别比较高.因此, SaaS 软件服务商要根据具体情况有选择的使用以上数据架构.在共享数据库, 共享数据架构中, 多个软件租户共用一个数据表, 一般不允许软件租户擅自修改数据结构.在传统软件应用中, 一般而言, 软件租户对应的是各自不同的实例, 软件租户一般通过名称值、预分配字段、数据透视表、XML字段拓展等方式进行更改自己的数据结构和数据扩展.
预分配字段[3]是指在软件租户需要扩展数据的表中预设一定数量的字段.当软件租户进行数据扩展时, 可以使用其中的字段对扩展的数据进行保存.但是, 表中预设的字段的大小和多少要适中, 因为来自不同行业的软件租户所开展的业务也各不相同.如果预存的字段过大, 对于一些业务量比较小的软件租户, 就会产生空间的浪费; 相反, 如果预存空间过小, 对于一些日常业务量比较大的软件租户, 则不能满足其进行数据扩展的需要.
名称值对[4]解决了预分配字段的难题, 它使用另外一种表把扩展的数据保存下来, 实现了原数据和扩展数据的分离.同时, 将数据表中的两种数据关联起来.理论上保障了数据的无限扩展.在实际应用中, 也暴露了很多缺点, 在进行数据插入、新增的过程中, 要做数据分析, 必须通过关联的表格才能获得完整的业务信息, 这样会增加数据访问负担.
数据透视表[5]是一种通用的数据结构.数据透视表中可以有各种数据列, 而且每列的数据类型也是各种各样的.这种方法也能避免预分配字段的浪费现象.但是通过索引把所有数据转换成真实的数据类型是影响访问性能的.
XML字段拓展[6]是一种基于XML 共享数据库、共享架构的数据模型.它是通过引入XML来进行数据处理.这种方法能够实现数据的扩以及灵活的数据查询, 但是,在进行XML 的解析时也会降低数据库的访问性能.
一般情况下, 在不考虑预分配字段这一数据模型固有缺陷的前提下, 如果是基于索引字段值的查询, 则采取预分配字段或者名称值都是比较合适.相反, 如果在应用中的操作是基于非索引字段值的查询, 则采取数据透视表比较好.如果在应用过程中, 主要是对数据进行更新操作, 采取预分配字段或者数据透视表都是不错的选择.
4 基于SaaS 模式下的业务逻辑定制技术
软件租户在定制软件时, 要结合自身业务范围和实际情况, 因为不同行业的企业, 业务规则不同, 因此, 构建一个适合所有行业的企业进行逻辑定制的业务规则模板是不切合实际的.为了能够使中小企业快速定制软件,本文结合领域工程方法, 针对已经定义的业务规则模板, 构建了一个相对比较适合SaaS应用的企业业务逻辑定制框架, 以方便软件租户进行网络在线业务逻辑定制.框架的具体架构如图3所示:
图3 面向 SaaS 应用的业务逻辑定制框架
构建的面向SaaS 应用的业务逻辑定制框架主要包含以下几个部分[7].
1)规则定义器:软件租户可以通过它进行网络在线业务规则编辑, 是一个面向软件租户的可视化业务规则编辑页面.
2) 规则翻译器:它可以根据规则的验证引擎情况, 把用自然语言描述的不易辨别的业务规则转化成可以识别的业务规则, 是一个转换工具.
3) 租户业务对象表:用来存放与软件租户相关的业务规则及对象等.
4) 规则引擎:它是根据业务规则来执行业务决策的工具, 可以用来进行接受数据输入, 解释业务规则等.
5) 规则文件库:它包含了若干个已经被校验好的规则包, 以便规则引擎使用.
6) 数据库:数据信息的集合, 它是用来存放数据的, 包括应用数据和规则数据.
租户在定制软件时, 都会根据自己独特的业务需求进行定制, 这样会导致大量的业务对象.实际上, 对于一些业务量比较小的软件租户来说, 没有必要预先定义大量的规则引擎, 因为它们需要的业务对象可能很少, 定义大量的规则引擎会降低系统执行速度.因此, 基于 SaaS模式的业务逻辑定制框架, 给每个软件租户都配备了一个存放业务队列的业务对象表, 软件租户在定义规则时, 首先核实业务对象表中是否有相关业务, 如有则调用规则引擎, 没有则放弃, 这样, 大大提高了系统的性能.
5 总结
随着信息技术的快速发展以及各类企业信息化建设的广泛应用, SaaS以其低成本、按需使用、不需维护和按需付费等优势, 越来越受到中小企业的欢迎.软件租户的个性化需求为 SaaS发展带来了不小的挑战.本文只是对 SaaS模式下软件的定制进行了初步的探索, 在今后的工作中, 仍需大家不停的努力和学习, 以使现有的定制技术日趋完善.
[1]苏飞.基于中小企业特性的SaaS应用模式研究[D].北京: 北京工业大学, 2012.
[2]侯一兵.基于SaaS服务模式的中小企业信息化基础平台系统的研究与实现[J].软件导刊, 2010(12): 68-69.
[3]罗小利, 吴清烈, 任鸿美.SaaS软件服务基于大规模定制的数据层架构研究[J].电信科学, 2012(4): 50-52.
[4]叶伟, 赵进, 叶军, 等.互联网时代的软件革命—SaaS 架构设计[M].北京: 电子工业出版社, 2009.
[5]陈伟.面向SaaS 应用的软件定制技术研究[D].上海: 上海交通大学, 2011.
[6]余文斌.一种基于XML共享数据库、共享架构的SaaS解决方案[J].计算机与现代化, 2008(4): 8-10.
[8]陈伟, 沈备军, 戚正伟.面向SaaS 应用的业务逻辑定制框架的研究与实现[J].计算机应用研究, 2011(1): 156-158.
The research and application of software customization under SaaS model
CHEN Ji-xiang
(Bozhou Vocational and Technical College, Bozhou 236800, P.R.C.)
With the rapid development of cloud computing technology and enterprise information technology, the software customization of SaaS model is becoming more and more popular with the medium and small enterprises for its unique advantages.Based on this situation, this paper introduces the two important aspects of data customization and logic customization which are often used in the software customization by enterprises.In this paper, based on SaaS, the frame of logic customization used for business is constructed, which is a theoretical reference for the medium and small enterprises to make a convenient and fast software customization.
SaaS; data customization; business logic customization
TP393.09
A
1003-4271(2014)02-0288-04
10.3969/j.issn.1003-4271.2014.02.23
2013-12-24
陈继祥(1979-), 男, 安徽亳州人, 讲师, 硕士; 研究方向: 计算机应用; Emial: bzzhuangzhuang001@163.com.
安徽省2012年高等学校省级优秀青年人才项目编号(2012SQRL249).