时间:2022-03-06 08:37:03
摘 要:针对产业链协同平台在运行服务过程中各协作企业群业务需求的动态变化,建立了面向软件即服务(SaaS)平台的表单配置模型,利用表单结构及表单元素与XML文档的模式映射,支持表单配置模型的存储及动态加载。提出了核心企业对表单内容的操作权限在线动态分配方法,并采用表单配置文件访问接口实现表单在线动态更新技术。通过将动态表单配置技术应用于产业链协同SaaS平台,提高了平台的灵活性,使企业对信息系统的管理拥有更大的主动性和控制权。
关键词:产业链;软件即服务;协同平台;动态表单;配置
0 引言
面向产业链协同软件即服务(Software as a Service, SaaS)平台[1]是典型的SaaS应用解决方案,通过SaaS模式为以制造厂为核心的上下游企业群提供零部件协同采购、产品协同销售、产品协同维修服务解决方案[2-3]。在产业链协同SaaS平台的实际应用中,不同企业群对业务功能需求不同,对业务表单界面具有不同的应用需求,即使是同一企业群,不同的协作类别对同一业务单据的显示内容也有不同需求,并且同一企业群在应用过程中随着业务不断发展,对表单格式的需求不断变更,这就要求SaaS平台能向不同的企业群提供界面定制,并且在应用过程中能根据需要动态更改界面。
关于表单动态配置技术国内外已有一些研究成果,如文献[4]提出了一种面向电子政务领域的基于业务对象库支持的模型驱动智能表单系统的设计方法,该方法采用Web服务、MBean、XML、Ajax等技术扩展接口,但是需要建立一系列特殊的模型来定义系统中的业务对象,从而形成一个业务对象的模型库;这种方法缺乏灵活性,不能适应SaaS平台在运行服务过程中各协作企业群不断变化的业务需求。文献[5]提出了一种基于自定义表单的工作流系统体系结构;但是表单元素简单,不能对表单元素进行显示的权限控制。文献[6]提出了一种采用表单模型和工作流模型定义相结合的方法,软件开发人员可以定义一组表单模型和流程模型,借助表单引擎和流程引擎实现含流程定的应用系统;但是只对用于业务流转的简单数据录入表单的自定义方法进行介绍。文献[7]提出了基于XML的表单设计器构件,通过表单设计器用户可以自行设计修改基于应用系统数据库的表单,能够实现用户对表单的动态设置管理;但是只提供信息录入表单的配置,不能满足产业链协同平台的需求。上述研究取得了一定的研究成果,但是这些成果主要是对于理论的研究或对通用表单构件的研究,缺乏对具体领域和具体行业的研究与实践,不能满足产业链协同SaaS平台的企业群应用需求。目前,市场上销售的表台软件,如eform电子表单系统,虽然提供了一个基于构件化技术的表单设计平台,但是这个平台是专门为软件开发商或会开发数据库程序的人而设计的,价格昂贵、实施复杂,运行、维护、升级都需要投入大量的人力物力,对于一个中小型企业来说很难承担。
面向产业链协同SaaS平台的表单配置需要为企业群的核心制造企业提供表单配置接口,需要与支撑企业间业务协同的协作关系、协作类别和产业链协同SaaS平台业务数据模型进行关联,在这方面的相关文献较少。本文在上述研究基础上,结合产业链协同SaaS平台对用户可配置技术进行研究,实现面向企业群应用的表单动态配置。
1 SaaS平台表单动态配置需求
面向产业链协同SaaS平台是一个支持产业链协作企业以动态联盟方式[8]进行企业之间业务协同的公共服务平台[9],平台部署在Internet环境中,使用同一套软硬件为多联盟企业群提供协同服务[10]。企业群在应用过程中以制造核心企业为主体与平台运营商定制平台的功能,建立企业间上下游业务协作关系并对协作企业进行授权,各协作企业通过核心企业提供的账户登录平台与核心企业进行业务协同。在业务协同过程中,用户表单动态配置需求主要体现在:
1)对于同一业务功能,不同企业群具有不同的表单界面和表单内容需求,产业链协同SaaS平台应为核心企业提供表单配置接口,支持以该企业为核心的业务表单的定制,形成满足该上下游企业个性化应用的表单。
2)对于同一业务功能,同一企业群的不同类型的协作对象,表单展现的内容也不同,核心企业可以根据业务特点对某类协作企业展示某些内容而对另一类角色屏蔽某些内容。
3)对于同一业务功能,同一企业群的同类型的协作对象,随着业务协作的不断深入,其对表单的要求也不是一成不变的,表单界面显示的内容需要在运行过程中根据核心企业需要进行动态配置。
表1以汽车产业链SaaS平台的采购计划单、产品订单、三包单为例,给出了各个联盟包括供应商、服务商、经销商等协作企业的应用界面配置需求。
2 SaaS平台表单动态配置信息模型
为了满足产业链各个联盟内不同企业对表单界面的不同需求,将适应这种多产业链协作的产业链协同SaaS平台表单动态配置信息模型形式化地描述如下:
由于各协作企业对业务数据安全性的需求,多个协作企业的个性化配置信息是相互隔离的,不同企业用户的配置信息有相对独立的存储空间,因此联盟内按照企业的协作类型分为不同的业务数据库,核心企业为各协作企业配置的表单分别与其业务数据相关联,为企业配置表单的同时,需要将表单与业务数据绑定。因此有以下定义:
定义4 定义D为产业链协作平台上表单的数据集。D={DTt,DI},其中DTt表示数据表的标识信息,DI表示数据表数据内容。
3 表单动态配置关键技术
3.1 表单配置模型存储
XML是一种具备良好的自描述性和平立性的可扩展标记语言,允许用户对自己的标记语言进行定义并且数据存储格式不受显示格式的制约[11],支持表单的个性化描述;因此平台采用XML为表单存储介质。
从表单配置信息转化到XML文档的过程中,首先需要将表单结构和XML文档的模式映射起来,由于XML文档被看作是包含着结构信息和数据信息的有序树,因此有以下的映射规则:
1)一张表单对应一个XML表单配置文件。
2)表单页面的一个控件元素对应XML结构文档的一个ConditionField元素,控件的显示样式、权限信息、显示相关信息作为ConditionField元素的子节点。
3)表单页面的数据展示列表的一列对应一个ViewColumn元素,数据列的宽度、是否可编辑、权限信息、字段名称以及字段类型等作为ViewColumn元素的子节点。
不同的企业群业务功能不同,核心企业登录SaaS平台后,根据Ui信息加载该企业群相应的表单配置模块。核心企业为类协作企业Cix配置某个表单的步骤如下:
3.2 表单配置模型加载
核心企业为协作企业表单的动态表单配置过程完成后,动态加载该配置文件,加载程序广度优先遍历XML配置文件中的结构树,将XML文件中的结构及数据与表单页面元素及内容进行映射,控制表单各控件及展示列表的生成。核心企业为协作企业配置的文件结构如图3所示。
3.3 表单在线动态更新技术
平台在动态配置表单期间和动态配置后必须处于正常运行状态[12-14],系统整体行为的逻辑正确性仍然是被满足的,这种约束被称为系统一致性[15],保证平台的一致性是表单动态配置研究的重要问题,平台采用表单配置版本表登记注册新旧版本的表单配置文件访问接口,动态更新的触发转换时机采用应用事务来触发持久数据转换事务,在表单配置完成后,由相应的动态链接库程序将调用转到相应的版本上。
在核心企业为某个协作企业配置表单的过程中,由于采用事务来触发持久数据的转换,表单配置过程的终止通过commit或者cancel的click事件向服务器提交确认或放弃以保证事务原子的执行。如果放弃表单配置,则持久数据仍然处在事务开始执行之前的状态,没有对持久数据作任何的改变。当核心企业为某类协作企业完成表单配置操作后,对于在版本更新前开始且尚未完成的事务,可能在版本更新后,由于表单配置的改变无法按照预期继续完成,从而破坏事务的完整性,因此为了给平台的配置提供一个稳定的环境,保证行为的一致性不被破坏,在事务处理过程中记录该用户的各表单当前使用的版本号,保证表单配置的一致性,当重新登录后,由动态连接程序将表单配置文件接口转到新生成的文件接口,重定向到新的表单配置版本。
4 应用验证
基于以上设计,将动态表单配置技术应用于产业链协同平台,使核心企业管理员可以按照需求为企业自身或协作企业灵活地配置表单。图4所示为核心企业管理员为联盟内的供应商配置库存管理的用户界面。
5 结语
本文针对产业链协同SaaS平台的业务需求动态变化的现状进行分析,在传统的表单配置技术基础上,进一步对面向产业链协同平台的表单应用进行研究,通过将表单结构及表单元素与XML文档进行模式映射,支持表单配置模型的存储及动态加载,并实现平台表单在线动态更新。表单动态配置技术在产业链协同SaaS平台的应用使平台能基于Internet为企业提供灵活地服务,支持核心企业对协作企业群表单的动态配置,满足企业不断变化的需求,减轻维护人员的工作量,减少开发和维护成本,增强系统的复用性和生命力。
参考文献:
[1] 史玉良,栾帅,李庆忠,等.基于TLA的SaaS业务流程定制及验证机制研究[J]. 计算机学报,2010,33(11):2054-2067.
[2] SHI Y L, LUAN S, WANG H Y. A flexible business process customization framework for SaaS[C]// Proceedings of the 2009 WASE International Conference on Information Engineering. Piscataway:IEEE, 2009:350-353.
[3] 李晓娜,李庆忠,孔兰菊,等. 基于共享模式的SaaS多租户数据划分机制研究[J].通信学报,2012,33(Z1):111-120.
[4] 唐文忠,莫伟栋.面向领域的模型驱动智能表单系统的框架设计[J].北京航空航天大学学报,2007,33(9):1086-1089,1026.
[5] XU Y. The research of Workflow dynamic forms based on XML[C]// Proceedings of the 2011 IEEE International Conference on Computer Science and Automation Engineering. Piscataway: IEEE, 2011:331-334.
[6] 唐文忠,莫伟栋. 基于共享模型的工作流表单系统设计[J].北京航空航天大学学报,2008,34(4):391-395.
[7] 王瑞霞,隋宏伟,刘弘.基于XML的表单设计器构件的设计与实现[J]. 计算机应用研究,2007,24(7):183-185.
[8] 李厚福,韩艳波,虎嵩林,等.一种面向服务、事件驱动的企业应用动态联盟构造方法[J].计算机学报,2005,28(4):739-749.
[9] 王淑营.面向产业链协同商务平台的动态数据交换技术研究 [J].计算机集成制造系统:CIMS,2010,16(6):1336-1345.
[10] 王淑营.面向制造业产业链协同商务平台集成框架[J].西南交通大学学报,2008,43(5):643-647.
[11] NAM C K, JANG G S, BAE J H. An XMLbased active document for intelligent Web applications[J]. Expert Systems with Applications,2003,25(2):165-176.
[12] ZHANG K, ZHANG X, SUN W,et al. A policydriven approach for softwareasservices customization[C]// Proceedings of the 4th IEEE International Conference on Enterprise Computing, ECommerce and EServices. Piscataway:IEEE, 2007:123-130.
[13] LEE J H, KANG S J, HUR S J. Webbased development framework for customizing Javabased business logic of SaaS application [C]// Proceedings of the 14th International Conference on Advanced Communication Technology. Piscataway:IEEE, 2012:1310-1313.
[14] CHEN X J. Extending RMI to support dynamic reconfiguration of distributed systems[C]// Proceeding of the 22nd International Conference Distributed Computing Systems. Piscataway:IEEE,2002:401-408.
[15] 王德俊,黄林鹏, 徐小辉.事务控制的面向服务系统的动态更新协调[J]. 软件学报,2011,22(11):2652-2667.