面向中小企业的软件超市平台的设计与实现

2015-05-30 10:48孟凤娇薛山
软件工程 2015年7期
关键词:集成系统设计

孟凤娇 薛山

摘 要:中小企业的信息化应用水平不高已经成为制约产品创新和提升业务管理水平的瓶颈环节,为降低企业信息化过程中软件购买和运维等成本,本文设计实现了中小企业的软件超市服务平台,其主要功能包括软件发布、软件购买、软件试用等,中小企业借助平台上的软件进行产品设计、工艺、制造、试验、管理、采购和营销等制造生命周期过程中的业务处理,从而缓解了中小企业信息化建设资金、人才缺乏的现状,利用信息化来增强市场应对能力,带动产业结构升级。

关键词:软件超市;集成;系统设计;SaaS架构

中图分类号:TP311.5 文献标识码:A

1 引言(Introduction)

中小企业的信息化应用水平不高已经成为制约产品创新和业务协作的瓶颈环节,迫切需要推进面向企业的信息化服务平台,使中小企业突破资金、技术、人才、资源制约,借助信息化技术可促进中小企业产业升级、产品设计能力、生产能力、管理能力、产品质量和市场竞争力,使企业更专注于核心业务。借助信息化技术可促进中小企业产业升级、产品设计能力、生产能力、管理能力、产品质量和市场竞争力,因此,本文设计并开发了辅助中小企业业务处理的信息化处理的软件超市服务平台,旨在实现方便快捷的软件资源共享,使中小企业借助平台上的软件进行产品设计、工艺、制造、试验、管理、采购和营销等制造生命周期过程中的业务处理,从而降低企业信息化软件购买和运维等成本,获得企业经营过程中的软件服务[1]。缓解中小企业信息化建设资金、人才缺乏的现状,利用信息化来增强市场应对能力,带动产业结构升级[2,3]。

本文结合软件供应商和企业用户两方的需求,对企业用户、软件供应商、软件专家、管理员进行了用例分析,设计了软件超市平台主要包括:软件发布、软件试用、软件购买、软件行情信息发布、软件专家咨询与沟通等功能模块。

此外,本文平台上集成了相关信息化技术等资讯、软件供应商产品和专家资源。

2 软件超市的体系结构(Architecture of software

supermarket)

软件超市提供的服务包括资讯服务、专家服务、团购服务、支付担保服务、软件试用服务、信誉服务、知识交流服务,这些服务背后需要有多租户数据系统,为此,软件超市采用典型的SaaS架构,如图1所示。

图1 总体逻辑架构图

Fig.1 The overall logic chart

应用层:它是中小企业用户、SaaS服务提供商访问平台的入口。由该层来负责对中小企业用户进行统一管理、提供SaaS软件产品的展示、支持用户对SaaS服务的租用及对服务租赁费用的支付[4]。还提供与企业信息化相关的政策、法律法规的咨询服务和IT基础知识的培训服务等[5-7]。用户使用SaaS服务的入口也由该层来提供。

为了提高数据存储的读写效率、方便数据的管理维护、减少数据依赖、降低各层的耦合性,从扩展性方面考虑,将SaaS应用层的数据和SaaS平台层的业务数据分开存储,相关联的数据则通过数据库的同步器来实现数据同步,从而使数据保持一致有效[8-11]。

平台层:负责对SaaS服务的业务运营进行统一管理。包括对多租户数据系统、高可用运行环境和交易支付系统进行管理。

资源层和硬件层:主要负责为SaaS服务提供部署运行所需要的硬件、网络等基础设施资源。提供灵活、可扩展的服务部署或接入机制。

基于云计算管理平台,用户可以在网络中的任意位置以浏览器的方式获取与软件产品相关的各种服务。软件供应商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向软件供应商定购所需的应用软件服务,按定购的服务多少和时间长短向软件供应商支付费用,并通过互联网获得软件供应商提供的服务[12]。用户既不需要购买软件,也不需要维护软件,只需向提供商租用基于Web的软件,来管理企业经营活动,而软件提供商会全权管理和维护软件。软件供应商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务[13]。

在这种模式下,客户无须再像传统模式那样将大量资金用于硬件、软件、人员上,而只需要支出一定的租赁服务费用,即可享受到软件使用权、软件升级和维护等相关服务,这是网络应用最具效益的营运模式。

3 功能设计和实现(Functional design and

realization)

软件超市系统包括如图2和图3所示的系统主要功能模块,还有部分功能模块未列出,例如前台的信息浏览,后台的专家管理、咨询管理等模块。

图2 软件超市前台功能图

Fig.2 The software supermarket reception function chart

图3 软件超市后台功能图

Fig.3 The software supermarket background function chart

各个功能模块的作用描述如下:

(1)登录/注册模块:用户只有注册并登录该网站才能够使用该网站的各种服务,未登录之前只能浏览该网站。

①注册功能:非会员可以通过注册,成为该网站的会员,用于保存会员信息,如账号、邮箱、密码等基本资料。

注册模块主要功能有:

a.验证账号的唯一性。

b.确认密码是否一致。

c.校验字段合法性,必填字段不能为空,字段不能过长或过长,邮箱必须符合规则。

d.新增会员资料。

e.注册成功后自动登录,并跳转到注册前的页面。

②登录功能:该模块主要实现两个功能,如果用户已经有该网站账号,输入账号密码,就可以登录;如果不是会员,跳转到注册页面,注册成为该网站的会员即可。

登录模块主要功能有:

a.判断用户是否注册,未注册转入注册模块。

b.验证用户登录信息,密码是否正确,用户是否存在。

c.用户登录状态保存到Session中。

(2)软件搜索模块:该模块帮助网站使用者找到需要的模块。使用者将填写一个表单,说明搜索的条件,如:软件名字、价格范围、软件供应商的名字、软件关键字、软件所属类别等,系统根据这些条件查询数据库,并将结果返回给使用者。其中,搜索为模糊搜索。搜索的结果可以根据软件的名字、价格、销量等特征进行排序输出。

(3)浏览软件模块:浏览软件提供给用户浏览软件的相关信息,包括软件名字、介绍等文字和图片信息。

(4)软件发布模块:该模块是系统核心模块之一。软件供应商通过该模块向系统上传软件产品。供应商在发布一个软件时应填写一个表单,注明所发布软件的名字、软件的介绍信息、下载地址、软件演示视频的地址,以及试用地址等信息。

(5)软件购买模块:该模块在系统中占据重要地位。该模块的功能是实现软件的购买。它的功能有三个:①用户填写表单,说明想购买的软件名字、编号、份数、付款方式。②系统审核用户购买的软件是否存在,根据用户登录的账号,得到用户的名字、地址、联系方式等信息,将这些信息与用户在步骤一所填写的内容生成购买订单。③提供支付接口,让用户付款。

(6)软件试用模块:该模块负责给用户提供可在线试用的软件、离线试用软件的下载地址以及软件使用的演示视频。

(7)软件订单模块:该模块的功能为,系统通过该模块将一批用户提交的团购申请通知软件供应商。软件供应商开发出产品后通过该模块上传到系统中。系统待专家验收合格后,通过该模块通知供应商已将货款打入账户。

(8)软件评论模块:该模块的功能是供用户和专家对软件发表评论。已登录用户在软件的介绍页面点击评论菜单项,在输入文本框中填上对这款软件的评论,点击提交按钮,评论的内容进入系统,经系统管理员审核后,显示在软件介绍页面的下方。

(9)专家咨询模块:该模块的功能有三个:①用户和软件供应商在系统中专家的主页上提出咨询问题,专家在主页上对问题进行回复。②提供即时通信工具供用户和软件供应商与专家实时沟通。③专家在自己的主页上发表文章、观点。

(10)软件团购模块:系统的核心模块,其功能为:发起团购。系统管理员通过该模块发布团购信息。用户通过该模块来确定参加团购。当参加团购的人数达到团购门槛时,该模块通知管理员。管理员确定团购成立。

(11)软件管理模块:该模块负责对软件开发商上传的所有软件进行管理,包括试用软件、零售软件、团购软件。将开发企业提供的软件收入系统。将软件信息,试用软件上线。向用户提供软件的下载地址。

(12)会员管理模块:系统管理员对提出注册请求的用户进行身份审核。根据审核的结果赋予合格用户相应的权限,如用户、软件供应商、专家。根据需要删除管理员以外任意注册用户。

(13)订单管理模块:该模块是系统的核心模块,有两个功能:

①零售订单管理:收到用户购买订单后,确认用户购买的软件是否存在。在用户支付货款后向用户提供软件下载地址。

②团购订单管理:该功能负责完成团购过程。团购用户把前期款项打入系统后,该模块负责通知管理员。管理员通过此模块通知软件供应商开发软件。并通知专家对软件开发过程进行监理。专家和用户对产品验收后,将中期费用打入系统。管理员通过该模块将费用转入软件开发商。软件开发商收到款项后开始对产品进行维护和售后。团购用户最后将尾款打入系统。系统管理员将货款打入软件开发商账户,团购结束。

(14)评论管理模块:管理员通过该模块对用户和专家对软件的评论进行审核,对用户和软件开发商向专家提出的咨询问题进行审核,并对时间较长的评论和咨询进行删除操作。

(15)文章管理模块:管理员通过该模块对专家准备发表的文章进行审核。对时效已过的专家文章进行删除操作。

4 单点登录与统一身份认证的实现(Single sign-on

and unified identity authentication)

集成到软件超市的软件都有登录口令密码,如果让用户分别登录,会很不方便,为此,对平台上的软件产品实现单一登录机制,访问所有的子系统只需要统一的用户名和密码,使得任何人登录系统需要进行认证,且只能访问其权限内的系统。为此,本系统采用SAML单点登录方式实现了统一身份认证。单点登录(Single Sign On,SSO)是指用户只需要一次身份认证就可以访问其被授权访问的多个应用系统,不需要重复登录进行认证的解决方案。

实现统一身份认证可以实现单点登录,同时还可以解决以下几个问题:对于用户,记忆针对多个应用的多个凭证,访问多个系统需要多次登录;对于管理员,每个应用都对应一套用户管理,针对一个用户,无论增、删、改,都需要多次操作,每个应用都有不同的权限管理,复杂的操作带来安全隐患;对于应用系统,各应用信息资源不共享,形成信息孤岛,应用系统对认证、访问控制的安全措施不完善,满足不了安全需求,影响整个安全保障体系的建设。

SSO单点登录访问流程图如图4所示。

图4 SSO单点登录访问流程图

Fig.4 Single sign-on access flowchart

(1)访问服务:SSO客户端发送访问应用系统提供的服务资源的请求。

(2)定向认证:SSO客户端重定向用户请求到SSO服务器。

(3)用户认证:用户身份认证。

(4)发放票据:SSO服务器会产生一个随机的Service Ticket。

(5)验证票据:SSO服务器验证票据的合法性,若验证通过,则允许客户端访问服务。

(6)传输用户信息:SSO服务器验证票据通过后,将用户认证结果传输给客户端。

(7)单点退出:用户退出单点登录。

5 平台实现中的难点问题和解决方法(Difficult problems and solutions of the platform)

难点1:采用何种技术实现平台的SaaS服务集成?

本文采用基于OSGi的SaaS服务集成技术实现平台的SaaS服务集成,可以较好地解决SaaS服务集成方面存在的问题。通过OSGi标准,服务使用者可通过分布式的OSGi,将已注册或扩展到可远程访问的OSGi服务,构建成模块化、动态化的系统,从而满足表示层、业务层、数据层的集成需求[14-16]。首先,OSGi中Bundle的粒度可大可小,可以是应用程序,也可以是一个模块。其次,OSGi是基于Java的,所以它具有很好的跨平台性,可以解决服务集成过程中跨越不同软硬件的问题。最后,更重要的是OSGi不仅提供了许多标准服务,如日志服务等,还提供了安全管理机制,可以很好地满足对服务标准的高要求,和对集成服务使用安全性等方面的要求[17]。

基于OSGi的SaaS服务集成的基本思想是[18,19]:将需要集成的SaaS服务中的各个独立的功能模块,抽象成若干个Bundle,将子业务也都抽象成一个个的Bundfe,各个业务Bundie除了和基本服务Bundle具有依赖关系外,它们之间没有任何依赖的关系,配置也是独立的。对任何一个业务Bundle的操作,不会影响其他的Bundle。集成服务可以通过一组运行在OSGi框架中相互之I句具有协作关系的Bundle,根据需要动态化的组成。

难点2:如何实现平台门户数据库与业务数据库的数据同步?

本文采用了MySQL提供的数据库复制功能,可以实现数据库主从模式的数据库同步功能。通过研究可知,MySQL的数据库同步原理比较简单。基本原理是[20,21]:master(主服务器)在二进制日志中跟踪所有对数据库的更改(增、删、改等)。每个slave(从服务器)从master服务器读取master服务器已经记录到二进制更新日志的更改信息,以便slave服务器可以对其数据进行拷贝并执行相同的更新。而且,MySQL还支持一主多从的数据库同步机制,支持不同操作系统之间数据库的表级同步。

6 结论(Conclusion)

平台上集成了相关信息化技术等资讯、软件供应商产品和专家资源,经实际投入使用,达到了支持中小企业运行平台上提供的软件产品处理其在研发设计、加工、生产制造、经营管理、市场营销等业务,提高了企业的信息化水平,使得中小企业借助信息化技术促进了其产品设计能力,提高了其经营管理等水平,促进了其传统发展转型、服务升级的需要。

参考文献(References)

[1] 李力.软件超市:下一个大泡泡[J].信息网络,2010,04:29-32.

[2] 吴苡婷.如何应对“软件超市”带来的变革[N].上海科技报, 2008-12-31(4).

[3] 盛丽玲,黄斌.关于借助信息化手段开展咨询、服务业务的探 讨[J].财经界(学术版),2010,04:46.

[4] 朱二莉.基于OSGi的企业信息管理系统框架研究[J].计算机 时代,2012,09:8-10.

[5] 张万颖.论信息系统设计过程中的数据库设计[J].办公自动 化,2008,22:26-27.

[6] 王志毅,陈宁.基于信息化建设的企业数据库设计[J].商业时 代,2010,05:67-68.

[7] 张建成,等.浅谈软件项目管理[J].信息技术与信息化,2008, 05:84-86.

[8] 李菁苗,等.电子商务环境下中小企业信用评价[J].系统工程 理论与实践,2012,03:555-560.

[9] 郭志光.电子商务环境下的信用机制研究[C].北京:北京交通 大学,2012:32-44.

[10] 刘炳胜,等.基于逻辑框架法的项目策划应用研究[J].科技管 理研究,2006,02:114-116.

[11] 刘谦.面向云计算的虚拟机系统安全研究[C].上海:上海交 通大学,2012:16-34.

[12] 王意洁,等.云计算环境下的分布存储关键技术[J].软件学 报,2012,04:962-986.

[13] 李立.统一身份认证系统的设计与实现[C].成都:电子科技 大学,2012:20-40.

[14] 贺超波,陈启买,欧阳辉.数字化校园门户平台统一身份认证 的实现[J].现代计算机(专业版),2008,12:25-28.

[15] 柯水洲,等.Sakai网络教学平台统一身份认证中心的实现[J]. 信息技术,2012,10:29-32;36.

[16] 王大海.以SaaS助推中国中小企业信息化应用模式探讨[J]. 统计与咨询,2008,06:40-41.

[17] 张智.SaaS模式下采购系统关键技术的研究[J].贵州工业大 学学报(自然科学版),2008,05:156-159.

[18] 郑永清.云计算环境面向SaaS多租户的可伸缩数据放置研究 [C].山东:山东大学,2013:32-46.

[19] 魏玲,李长云.基于SaaS的中小企业信息化建设探讨[J].科技 与管理,2009,03:74-76.

[20] 张伟丽,江春华,魏劲超.MySQL复制技术的研究及应用[J]. 计算机学,2012,S3:168-170.

[21] 周伟,刘丰.分布式数据库数据同步技术研究[J].计算机与信 息技术,2010,10:13-16;20.

作者简介:

孟凤娇(1989-),女,硕士生.研究领域:云计算.薛 山(1961-),男,硕士,高工.研究领域:云计算,移动 医疗.

猜你喜欢
集成系统设计
浅谈企业信息化系统集成
数字化监控系统的企业应用
一种基于SATA硬盘阵列的数据存储与控制系统设计研究
目标特性测量雷达平台建设构想
阳台集成式景观设计方法初探
集成一体化智能熔点仪的研究
信息管理服务平台项目应用系统设计探析