基于业务构件的企业模型与动态建模研究
2009-06-08董添犀
董添犀
【摘要】 本文在传统企业建模和动态建模(DEM)理论的基础上,引入业务构件建模的软件架构和控制理论,重点关注模型概念层与实际应用层之间的映射关系,提出从横向和纵向两个维度、以动态和静态相结合的方式建立企业管理模型,为建立柔性企业信息管理系统提供指导思想和解决方案,最后用实例证明该方法的实用性。
【关键词】 业务构件;信息系统;动态建模
一、前言
动态建模思想和方法体系的理论框架由德国经济学家提出,核心思想是企业需要建立灵活的管理和组织形式,通过业务流程的不断调整和优化,来适应外部变化的环境。
本文将软件工程中的构件理论引入到企业动态建模的方法体系中来,研究的重点更加关注于企业模型向实际应用层面的概念映射,能够进一步提升模型的灵活性、稳定性和可扩展性,并建立了一套基于业务构件的企业动态建模方法体系。
二、企业动态建模(DEM)和业务构件
企业模型是一项支持企业集成与优化的共性技术,是对企业系统中与给定目标有关的特性加以抽象表达的工具方法。借助企业模型,我们可以充分认识、完整描述企业行为。传统的建模方式都是以多视图、全方位的体系结构来描述企业模型,通过各个角度之间的关联将它们整合到一起,从而获得该企业整体的概念模型。随着计算机和信息技术应用范围的不断扩大,企业的管理、经营模式也在不断变化。但依据这些建模方法和相应软件下建立起来的ERP过于复杂。在这种背景下,支持业务流程重组和信息系统灵活性的动态建模技术和方法体系逐步建立起来,它强调为企业建立通用的实施与管理框架,即参考企业模型,在强调通用时,也强调领域/行业特性建模。
构件建模理论最早来源于软件复用的思想,软件复用是为克服软件危机而提出的解决方案。构件是目前被认为软件复用最有效的途径之一,构件是可复用的、独立的、市场化的软件,这种软件能够通过某种途径(比如通过其他软件的辅助)为用户提供服务,并且在开发过程中能够灵活地配置,即可被灵活应用到各个相关系统、修改或替代。而可复用构件(Reusable Component)是指具有相对独立的功能和可复用价值的构件。构件理论的核心是建立领域内统一的分析、设计标准,从而有效地解决目前软件行业所面临的诸多问题。
三、基于业务构件的动态企业建模
1.企业模型框架设计
在企业模型宏观框架上,本文将企业模型分为横向和纵向两个方面,首先在纵向建立模型框架,主要由战略层、过程层、业务组织层、业务功能层、物理数据层组成。企业战略层的职能主要是确定企业战略、产品发展方向和业务领域,同时应用战略一致性模型建立与企业战略规划相一致的企业信息化战略框架。主要通过将战略层的企业战略分解到企业信息框架的过程、业务层和底层物理数据,各层面依据宏观战略和自身情况进一步明确目标规划,并实施目标任务的分解,直至各层面不可再分的基本单元为止,从而实现企业战略与信息框架的全面匹配。
在企业战略的基础上建立的信息系统框架模型,按照传统信息系统的子系统功能进行横向划分。此外,依据构件架构的特点,引入知识管理模块、日志管理模块和安全控制管理模块。知识管理模块对系统知识进行整理,同时通过对存储的文献、文档和管理日志进行数据挖掘,获得新的知识。整个信息系统架构图如图1所示:
过程层是在企业战略规划的指导下,对业务过程的建模描述。业务层主要分为业务组织层和业务功能层。业务组织是对企业各部门组织结构的建模描述,业务功能层则是对在企业战略规划下对业务流程进行分解得到的基本业务操作单元的建模描述。物理数据层是将业务模型映射到信息系统实际应用的连接纽带,侧重于数据库建模。企业业务构件的设计必须遵循以下的原则。
(1)业务构件识别是建立一系列分类的特征和标准,依据构件内部聚合度高,构件之间耦合度低的原则,对业务操作单元进行分类,并对被划分类进行独立设计和封装的过程。
(2)业务构件的语义智能性。能够为可快速重组信息系统的开发提供理论和技术上的支持,当业务变动时,系统维护人员,甚至是用户都可以通过简易的操作来完成相应信息系统的相应转变。
(3)强调标准和建模的规范化,复杂系统的建模及其实施是需要团队合作的,这就更加强调需要统一的、简洁的交流标准便于团队不同专业背景成员之间的相互交流。
2.基于构件理论的业务模型动态建模机制
对于已经被识别出来的业务构件模型,我们需要分别从数据视图、过程视图、组织视图、功能视图和管理控制视图建立业务构件内部和构件之间相互联系的模型体系。在新的建模指导思想下,我们对现有模型进行改进。
(1)数据视图反映业务过程中角色对数据、资源的访问和操作,反映重要数据如订单的流向,但缺乏动态建模的思想。本文引入软件工程中的反射机制和代理机制建立统一的业务数据模型(DataTransferObject),反射机制主要指类可以修改自身的属性和方法并生成实例。即首先建立一个代理类模型,该类模型主要由获取业务资源模型GetData(),资源设置模型Store(),反射机制模型EchoModel()和资源传输模型TransUtil()组成。用数学语言描述如下所示:
DTO(rs,Object)={GetData(),Store(),EchoModel(DTO,num),TransUtil(Object,SetName,Vzlue)}其中rs表示待传输的业务数据、资源集,Object表示传输目的地,为其他的业务对象。EchoModel(DTO)表示应用反射机制EchoMode,模型DTO可以依据需要传输业务数据集rs的属性数量num在自身内部生成相应的元数据集SetName及其相应值Value集合,最后通过TransUtil将值集合Value进行传输。
(2)过程视图对企业模型的业务流程进行描述,目前主要采用工作流建模技术,其主要特点是将业务过程从应用程序中提取出来,从而提升整体的柔性。在业务构件理论中,AntoniaAlbani曾指出实施基于构件的软件开发(Component-BasedSoftwareDevelopment),需要辨识实际业务流程中具有高度可重用性的单元,即业务流程构件(BusinessProcessComponent),业务流程构件是对业务构件具体概念的封装,在建模中,它包括构件名称(Name),编号(Id),步骤(Step),步骤状态(StepStatus),步骤中的活动(Activity),活动状态(ActivityStatus)。以业务过程构件发布询价汇总表GatherPriceInfo为例,其模型表示如下:
{Name=GatherPriceInfo,Id=GatherPriceInfo,
{StepId=1,Name=WaitForVia,Status=Waiting//步骤1为等待申请被通过,状态为等待中
{ActivityId=1,Name=SendApply,Status=Finished//步骤1包含活动SendApply,该活动已完成
Describe=”SendApplicationtothesecondadmin”//活动功能描述
MappingPath=””//活动在业务构件管理中心模型中的路径映射
Method=”SendForAdmin”}//活动对业务构件管理中心模型的命令 }}
(3)组织视图描述的是企业内部组织单元以及人员的组织关系。组织视图一般由人员、角色和操作组成,三者之间是一种动态关联的关系,在组织结构中,人员可以扮演多种角色,不同的角色可以被赋予不同权限的操作,扮演相关角色的人员则可以行使相应的操作。
(4)功能视图是对具体业务功能的建模,业务功能对应业务过程构件的Activity,是一个或若干操作单元的集成。在建模的时候,我们要设计构件接口和构件功能实体,接口用来接收命令,实体则依据命令执行相应的任务。考虑到业务构件单元的可复用性,我们引入继承的概念,首先将众多业务构件模型通用的属性或方法抽象出来,用一个抽象类模型进行封装。比如具有初级权限的供应商,它的模型描述如下所示:
PrimarySupplier={Name,Id,Company,Address,Contact,Operation={……}}
这是其它更高级供应商都具备的基本信息,属于通用部分,因此,可以将之抽象出来生成GeneralSupplier。初级供应商则可表示:
PrimarySupplier={inheritGeneralSupplier}//inherit表示继承GeneralSupplier
(5)管理控制视图是对以上4个视图的综合控制管理,所有识别出来的业务构件、业务过程构件都需要在管理控制视图中被配置,一个业务构件在管理控制视图中需要提供其名称、编号、功能、类型匹配参数、属性以及与其它业务构件的逻辑关系集。
四、实例
电子政府采购是我国电子商务“十一五规划”的重点试验项目之一,对于政府的大型工程项目,一般采用公开招标的方式,针对不同项目的特点,政府采购中心需要在遵守政府采购法的前提下设计出不同的招标流程。本文采用基于业务构件的动态建模的方法对该流程进行建模,依据前文的建模方法,应用Appfuse开发平台、OsWorkflow开源工作流和Mysql数据库实现系统原型。
首先通过领域分析,研究公开招标所涉及不同项目的行业特点,从长远的发展规划提出总体的战略目标,在此目标的指导下,将总目标分解为办公管理子系统、财务管理子系统、公开招标管理子系统、知识管理子系统、日志管理子系统和安全控制管理子系统的分目标,这里以公开招标管理子系统建模为例进行介绍,对该业务过程分别进行基于业务构件的信息系统建模。
在过程建模方面,政府采购公开招标总体流程应分为:申请招标、发布标书、制作报价汇总单、制作专家评分表、抽取专家、召开开标大会、专家议标、供应商填写问题澄清表、专家打分、生成综合分数汇总表、确定中标机构。依据分流程之间的耦合关联度,将其分别划分为业务过程构件,并进行模型设计。依据每个业务过程构件模型定义的活动和活动关联,进行业务功能构件设计,参照不同行业的特点,对变动较大的业务功能如制作专家评分表、专家打分表进行构件化设计。模型关系如图2所示:
五、结论
企业动态建模的理论很多,但是如何实现企业模型向计算机支撑平台映射、实现自动装配的研究相对较少。本文以此为切入点,在原有建模理论的基础上,引入构件理论建立一种更加面向实际应用系统的动态建模体系,使得企业模型更具有柔性。
后续的研究工作应包括通过实践进一步完善该建模体系,在此基础上进行建模工具的开发与设计。同时,依据不同行业的特点,建立大量的企业参考模型库和标准可复用构件库,从而能够更好地为企业变革服务。
参考文献:
[1]范玉顺,胡耀光.企业信息化规划的基本框架与方法.新技术新工艺,2004,(9):2-7
[2]杨芙清,构件技术引领软件开发新潮流[J].中国计算机用户,2005,6:13
[3]范玉顺,信息时代企业综合发展框架和信息化整体解决方案[J].航空制造技术,2002,(8):17-24