APP下载

基于开源框架的行业软件数据结构标准化方案研究*

2017-01-09代文锋齐春泽

关键词:数据结构开源框架

代文锋,齐春泽

(兰州财经大学 信息工程学院,兰州 730020)

基于开源框架的行业软件数据结构标准化方案研究*

代文锋,齐春泽

(兰州财经大学 信息工程学院,兰州 730020)

采用系统工程的思路与方法,对行业软件数据结构标准化中的相关要素及目标体系进行初步分析.运用结构模型法对软件标准化及利益相关者进行系统分析,提出基于开源数据框架的组织形式,并给出相应的技术方案.从政策制定者和软件开发商两个视角,对方案进行系统评价.结果表明,实施所提方案可以提高社会总体福利和消费者福利,但市场领导者、跟随者和新进入者等角色不同的软件开发商对方案采纳会持不同态度.

软件工程;行业软件;开源软件;标准采纳;数据结构标准化

随着软件工程科学的发展,软件已经从最初单纯的程序发展到软件系统.软件的规模及复杂度日益增强,系统设计强调设计的重用.CORBA、COM/DCOM、JavaBean/EJB等构件模型,虽然很好地解决了一般构件生产和组装的标准化问题,但在面对行业软件个性化业务需求时,无法实现细粒度构件的有效复用.

现有的软件标准化工作多注重软件开发、管理、验证以及外部接口的标准化.针对于行业软件内部的体系结构和数据结构标准化的研究较少.主要原因在于企业对行业软件的个性化需求差异较大,不易形成统一的业务数据结构.行业软件内部数据结构标准的缺失,造成不同开发商的软件产品参差不齐、整体产品水平无法保证、用户更换开发商时面临巨额转换成本的问题.针对上述问题,本文从技术、组织效率及市场竞争等角度研究基于开源的行业软件数据结构标准化方案,以期通过所提方案提高行业软件整体水平及消费者效用.

1 数据结构标准化的系统分析与设计

1.1 系统边界

行业软件(industrial software),是指具有相似系统功能、整合特定业务流程、具有明显行业特性的软件.例如,SAP ERP的人事管理系统和Oracle ERP的人事管理系统都是人事管理行业软件.微软的MS Office和开源的Open Office,作为办公软件,由于文件可以看作是“行业数据”,因此广义上,也可以看作是同功能的行业软件,但此类通用软件的数据(文件)相对容易被标准化,并且ISO等国际标准化组织已经进行了相关工作,不在本文讨论范围内.本文仅研究狭义上的行业软件的数据结构标准化问题,即涉及行业数据的信息系统.

基于标准化数据结构的行业软件需要满足以下条件:

(1)标准化不会引起软件价格(包括购买价格和维护费用)的提高;用户更换不同开发商的行业软件时,遗留数据可以平滑地迁移到新的软件系统中.例如,某服装企业将SAP的ERP软件更换为Oracle的ERP软件,不需要为遗留数据的迁移支付高额的转换成本.

(2)足够多的开发商采纳数据结构标准,使标准得以推广并占据足够多的市场份额,最终长期存在和进化.

(3)整体社会福利不因为数据结构标准的广泛采纳而降低.

1.2 系统分析

在行业软件数据结构标准化的系统中,用户(user)、行业软件(IS)和软件供应商(SP)是三个核心要素.分析三者间的关系,用户从IS1更换至IS2,需要重新建立与SP2及IS2的关系,如图1所示.在迁移之后,用户与SP1和IS1的关系,将被完全废弃.

图1 用户&行业软件&软件供应商间的关系

数据结构标准化,既可以通过标准规范的形式(如图2(a)),也可以通过共享的数据框架的形式(如图2(b))实现.

标准规范停留在抽象、较高的层次,并且开发商实现标准规范需要付出额外的研发成本.另外,国内存在失败的尝试.2003年国内出台的《ERP规范》[6],在数据标准、实现技术、系统功能、工作流程、业务流程以及各种相关的系统集成和企业实施等方面制定了标准,如今已鲜有厂商遵守.

图2 标准规范与数据框架

开源数据框架的设计方式,复杂度、可行性和成本三个指标均表现较好,有利于标准的推广.图3给出了开源数据框架的外部关系模型.在对三个指标进行分析前,做出假设:某类行业软件的市场上,存在n个功能类似的IS.

(1)复杂度

IS通过继承数据框架,实现IS的数据结构标准化.ISi (i=1,2,…,n)处理自身与框架的关系,而数据框架一般不处理与ISi的关系,被处理的关系总数为n个,单个系统处理的最高关系复杂度为O(1).

(2)可行性

数据框架的实现存在两个难点:一是,如何创建数据框架,即技术可行性;二是,如何建立和强化ISi与数据框架的关系,即SP对数据框架的采纳态度.本文第2节和第3节分别讨论这两个问题.

(3)开发成本

数据框架引起的成本变化主要发生在三个方面:①框架系统的构建.框架系统的构建成本与n无关,构建过程通过对多个代表性IS的分析与抽象,确定通用具有一般性的底层框架.②ISi基于框架系统的升级改造.单个SP只需关注自有IS的改造工作,处理自身与框架系统的关系,因而ISi面对的成本也是与n无关的.③行业新进入者设计开发成本的节省.新进入者可以基于框架系统开发自有IS,省去底层数据结构重复设计和开发的费用,所以成本会有一定程度的降低,此处成本降低幅度受到框架系统的组织和推广效果的影响很大.

图3 框架系统的外部关系模型

2 数据结构标准化的技术设计

2.1 技术方案

图4是从参考文献中摘引的软件分层式部件架构图[1],数据框架系统只与其中的持久化层和数据库层有关.所以,数据框架系统可以分解为图5所示结构.图中要素,除DAO必选外,其它要素都是可选的,要素的选择依赖于具体行业的软件需求.

(1)DAO(Data Access Objects,数据访问对象)

DAO是上层应用系统与数据框架交互通信的门户和枢纽,对所有数据源的访问都需经过DAO的适配.

图4 软件的分层式部件架构图

图5 数据框架系统内部结构模型

(2)数据库

数据库是现下最流行的数据管理方式,本文关心数据库设计的三个部分:数据库管理系统、外模式(关系模型)、内模式(物理设计),这些都是影响数据结构标准化的元素.

数据库管理系统应当尽量选择开源软件,这样做有利于数据框架的推广和采纳,因为收费的数据库管理系统意味着IS开发成本的提高,这是软件供应商不愿接受的.在设计阶段还需要考虑数据库类型的选择问题,一般的关系数据库Mysql、PostgreSQL等,还是轻型的SQLite数据库,抑或是HBase等非关系数据库.数据库的选型是由行业数据特点决定的,很有可能数据框架是多版本,不同数据库管理系统应对不同的数据规模、频率,从而满足大、中、小企业对信息系统的不同需求.也就是说,一个数据框架可能需要支持多套底层数据库管理系统.由于数据库管理系统的版本升级一般都会被数据库供应商完美支持,所以数据库的版本控制不会影响整个数据框架的实现.

外模式.数据库概念设计阶段会产生描述行业内相关实体关系的E-R图,需要将它转换成所选择数据库产品支持的数据模型(如关系模型),形成数据库逻辑模式;然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图,形成数据的外模式.换言之,数据框架需要为支持的每个数据库管理系统提供一套独立的外模式,并且这些外模式遵循相同的实体关系.

内模式.根据数据库管理系统和行业数据的特点,进行物理存储安排,建立索引,为用户提供一套默认的数据库内模式.内模式与外模式是一一对应的,对于每套外模式,都应该提供相应的内模式.

(3)文本文件

某些情境下,出于性能、成本和易用性等方面的考虑,业务数据需要以文本文件的形式直接存放在存储设备中,例如,OA系统的文件审批流程,被审批的文件一般直接存放在操作系统中.数据框架需要针对文本文件,提供一套系统的存储和操作机制.

(4)其它第三方数据管理系统

2017年8月30日,原国家新闻出版广电总局下发《关于开展“数字出版千人培养计划”试点培训工作的通知》(新广出办函〔2017〕212号)。培训目的就在于为书报刊三类新闻出版企业培养高端复合型战略人才和精通专业技能的骨干人才。培训工程的实施,既是提升目前新闻出版从业人员综合素质的有力举措,也是深化新闻出版业数字化转型升级工作的重要内容,更是确保新闻出版业在数字化时代继续保持平稳快速发展,巩固意识形态和宣传文化阵地的必然选择。11月5日,“数字出版千人培养计划”试点培训启动会在京举行。

银行卡的申请业务,通常需要大量的申请单填写,基于CMS(内容管理系统)的无纸化文件处理流程,可以让办公更高效、安全、低成本.面对这样的情景,一个成熟的开源CMS,例如Alfresco,可以为管理信息系统的设计节省不少的成本(当然,银行出于可靠性和维护服务等方面考虑,一般不会选择开源的CMS).不同行业的信息系统可能拥有自己的第三方数据管理系统选择偏好,基于已有的第三方解决方案,满足行业需求,既可以提高行业软件质量又可以降低研发成本.与数据库管理系统的选择相似,如果需要第三方数据管理系统,优先考虑开源产品.

2.2 组织管理

(1)组织形式

组织形式选择的核心目标是,在保证数据框架质量的基础上,尽可能促进框架的推广和采纳.公司参与的开源软件,这一组织形式不但可以发挥开源社区共享、沟通以及社会性合作的精神,开发出低成本、高质量、广泛接受的数据框架,而且软件供应商参与数据框架的设计和开发工作,就会成为“技术创新者”,从而在很早的时候就会采纳数据框架,SP的支持无疑是推广工作最重要的目标之一.

(2)版本管理

在数据框架的演化过程中,随着行业的发展,某些新兴的业务和需求出现,SP发现DAO未提供相应的数据操作接口,需要向DAO增添新的操作以适应新的功能.变更的发起有两个来源:用户和SP.

② SP发起.SP希望通过扩展数据框架以支持自己将要发布的新功能.SP应向框架系统管理组织,即相应行业开源社区,提交数据框架扩展申请,如果申请通过,社区将对原框架版本进行升级,并发布新版本框架,只有这样的变更才可以被并入数据框架的主干版本.

总之,对框架主干版本进行更新,必须提交并通过修改申请,数据框架不承诺未来新版本兼容未经批准的更新.

2.3 数据框架与标准的区别

数据框架是尽可能吸引更多厂商参与设计和开发工作的开放平台,它的最终交付物是源代码和安装包,代表厂商的共同利益.相对于标准,框架更具体,大幅降低了因采纳而带来的实现成本.数据框架只关注行业软件的数据层,不对应用层和逻辑层作任何限制,这样既可以达到不同厂商采用相同数据结构的目的,也不妨碍厂商追求产品的差异化.

3 方案的系统评价

本节从政策制定者和软件开发商两个视角,对第2节提出的方案进行系统评价.结果表明:如果数据结构标准化的开源方案得到推广,社会总体福利和消费者福利会得到相应的提高;除市场领导者以外的市场跟随者和新进人者等大多数软件开发商,倾向于支持本方案.因此,从社会和生产者的角度而言,本文提出的方案是可以实施的.

3.1 社会效率的变化

若方案得到推广,从长期看,SP的整体产品研发成本会下降,从而导致产品价格的降低,进一步引起消费市场规模的扩大,而用户获得的价值因为新功能的出现会得到增加,所以,总体的社会效率、消费者和生产者的剩余都会增加.如图6所示,阴影部分表示社会效率的增加量.据此可以得到命题1:

命题1:开源数据框架的广泛采纳,会引起社会总体福利以及消费者福利的提高.

图6 社会效率变化

3.2 采纳分析

与Jan Bouckaert等人[8]讨论的价格竞争不同,行业软件的企业和政府用户对价格因素相对不敏感,他们更注重产品特性、服务和质量等.对于市场支配者,采纳方案相当于将原有IS的数据子系统转为开源,市场中产品的竞争转变为服务的竞争.更多的竞争者会涌入,因为支配者支付大量成本用于产品研发,而新进入者不需要承担此项固定成本,并且新进入公司规模相对较小、灵活性强、管理成本较低,致使支配者原有的产品优势消失,取而代之的是成本劣势.据此可以得到命题2:

命题2:在不存在政府等外界引导的纯粹市场竞争情形下,市场支配者不愿采纳方案.

对于市场跟随者,如果支配者采纳方案,无疑他们将跟随采纳,因为那样可以尽快、低成本地缩小与市场中处于支配地位的产品间的差距.如果支配者拒绝方案,跟随者仍然可以依靠开源的形式,通过集体研发,缩小开源产品与支配者产品的差距.开源模式可以降低企业的研发成本,并提升参与企业的产品和成本竞争力.而新进入者,明显落后于支配者和跟随者,所以,无论二者中的哪个群体采纳了开源方案,新进入者都会借鉴开源方案,降低自身进入行业的壁垒.据此得到命题3:

命题3:市场跟随者与新进入者倾向于采纳方案.

3.3 采纳分析的案例佐证

虽然开源数据框架与2003年的《ERP规范》[7]有一定的差异,但当时厂商对《规范》的态度,对命题2和命题3仍然具有一定的佐证意义.当时,SAP、金蝶、Oracle等市场支配者希望自身的产品成为“事实标准”,从而抵制标准的制定和推广;而神州数码、用友、南北等市场跟随者积极参与和采纳标准,希望充分利用标准以获得更高的市场份额[6-8].软件开发商的这些行为与命题2和命题3的结论是一致的.

4 结论

数据结构标准化是行业软件内部标准化的基础,单纯的技术解决方案不足以解决行业软件内部标准化问题.数据结构标准化必须采取与软件产业发展趋势相一致的组织模式,才能得到较圆满的解决方案.为此,本文基于开源数据框架提出了一种行业软件数据结构标准化的技术方案.该方案的推行,将有助于削弱转换壁垒,加剧行业竞争,加强技术及商业模式创新,进而有助于提高消费福利和社会总体福利.

[1] 许焕梅,张思荣,王 锋,等.基于分层的软件系统体系结构[J].计算机工程,2003,29(20):57-59.

[2] 郭迅华,张 楠,黄 彦.开源软件的采纳与应用:政府组织环境中的案例实证[J].管理科学学报,2010,13(11):65-76.

[3] 王 钦,高山行.基于知识披露的开源软件创新博弈模型研究[J].管理工程学报,2010,24(4):104-109.

[4] 谢 谦,苗宗利.开源软件标准化[J].值息技术与标准化,2008,7:49-53.

[5] 马 艳,郭白滢.开源经济学的形成与发展[J].经济学动态,2010,5:102-106.

[6] 何进伟.ERP标准遭遇信任危机[J].电子商务,2004,4:23-24.

[7] Michael A. Jones,David L.Mothersbaugh,Sharon E.Beatty.Switching Barriers and Repurchase Intentions in Services[J].Journal of Retailing,2000,76(2):259-274.

[8] Jan Bouckaert et al. Enhancing Market Power by Reducing Switching Costs[J].Economics Letters,2012,114:359-361.

[9] Anat Hovav et al. Determinants of Internet Standards Adoption: The Case of South Korea[J]. Research Policy,2011,40:253-262.

[10]David Megias Jimenez, Amadeu Albos Raya et al. Economic Aspects and Business Model of Free Software[M]. Barcelona:Eureca Media,SL. 2010.

[11]Linus Dahlander, David M. Gann. How Open is Innovation?[J]. Research Policy,2010,39:699-709.

[12]Stefano Comino, Fabio M.Manenti. Dual licensing in Open Source Software Markets[J]. Information Economics and Policy,2011,23:234-242.

Research on Standardization Scheme of Industrial Software Data Structure Based on Open-source Framework

DAI Wen-feng, QI Chun-ze

(School of Information Engineering, Lanzhou University of Finance and Economics, Lanzhou 730020, China)

Based on theory and methodology of systems engineering, this paper analyzes the element and objective in data structure standardization of industrial software firstly. Then, this paper executes system analysis on standardization and stakeholders, and raises a technical solution whose core is an open source framework. Finally, system evaluation is carried out from the perspectives of policy makers and software vendors. The evaluation results show that the implementation of solution proposed in this paper would increase social welfare and consumer welfare accordingly. However, market dominators, followers and new entrants would make different decisions on solution adoption.

software engineering; industrial software; open source software; standard adoption; data structure standardization

2016-06-23

国家自然科学基金重点资助项目(91024029).

代文峰(1978-),男,博士,副教授,研究方向:管理信息系统.

TP311.5

A

1671-119X(2016)04-0037-05

猜你喜欢

数据结构开源框架
框架
数据结构线上线下混合教学模式探讨
广义框架的不相交性
为什么会有“数据结构”?
五毛钱能买多少头牛
2019开源杰出贡献奖
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
高职高专数据结构教学改革探讨
关于原点对称的不规则Gabor框架的构造