可复用构件的表示和业务构件规则库的研究

2008-07-14 10:05夏耀稳吕赛鸫李志平夏幼明
电脑知识与技术 2008年18期

夏耀稳 吕赛鸫 李志平 夏幼明

摘要:构件库作为分类和管理构件资产的基础设施就变得越来越重要,实践中构件数量不断增长、构件也随技术和领域演化而更新,要在众多的构件中爬疏寻找合适的构件就必须建立起有效的构件表示机制和切实可行的构件库管理系统。业务构件是业务对象和构件的融合,是业务对象软件实现所形成的自治的业务概念和可复用的软件单元。业务构件的有序集合,就构成实际的业务活动。本文提出一种基于框架的构件表示方法,并提出基于利用业务构件重组的方式来适应其过程的变化,从而实现业务过程的重组方法。

关键词:业务构件;业务规则;过程重组

中图分类号:TP311.5 文献标识码:A 文章编号:1009-3044(2008)18-20ppp-0c

The Research on Reusable Expression and Rules of the Business Component

XIA Yao-Wen1, LV Sai-dong1,LI Zhi-ping1,XIA-You-Ming2

(1.Modern Education Technology Centre, Yunnan Normal University, Kunming 650092, China; 2.Computer Science and Information Technology, Yunnan Normal University, Kunming 650092, China)

Abstract: Component Library as the classification of assets and management components of the infrastructure becomes increasingly important. Practice of the growing number of components, component technology and also with the evolution of the field and update, to the many components of the climb infrequent to find appropriate components must establish effective mechanisms and practical component that the component library management system. Business is business component object and component integration software business object is formed by the operational autonomy and the concept of reusable software modules. Business component of the collection in an orderly manner, on a practical operational activities. This paper presents a framework based on the components that way, and make use of business component based on the reorganization of its way to adapt to the changes in the process, the process of restructuring its business methods.

Key words: Business Component; Business Rules; Process restructure

面向对象技术、COM/DCOM、CORBA、EJB和.NET构件工业标准的出现,都大大刺激了构件技术的发展。随着复用实践的深人,软件企业内部会积累大量自主开发的构件、购买的商品构件及其它组织开发的构件。这些可复用构件构成了庞大的企业资产[1][2]。而构件库作为分类和管理构件资产的基础设施就变得越来越重要。实践中构件数量不断增长、构件也随技术和领域演化而更新,要在众多的构件中爬疏寻找合适的构件就必须建立起有效的构件表示机制和切实可行的构件库管理系统[3]。,基于业务构件的自治和可复用思想,提出基于规则库,通过业务构件重组,以支持业务过程重组的方法,使其信息能迅捷地交互,过程可以及时地控制,从而能柔性地响应和支持业务过程的变化,快速地实现业务过程的重组。

1 可复用构件框架表示

构件库中构件通常具有构件名称、构件标识符、应用范围、领域范围、使用环境、构件类型、功能描述、抽象类型、版本号、接口特性以及构件之间的相互关系等属性特征[4]。本文将采用框架来描述构件的这些信息。

框架是一种描述所讨论对象属性的数据结构。一个框架由若干个被称为“槽”的结构组成,每一个槽又可以根据实际情况划分为若干个“侧面“。一个槽用于描述所讨论对象某一方面的属性,一个侧面用于描述相应属性的一个方面;槽和侧面所具有的属性值分别称为槽值和侧面值[3]。

本文用框架槽首先将构件的这些属性分为三类:①构件的基本属性—自然属性槽;②接口方法属性(私有和公共接口方法) —接口方法槽;③构件之间的继承、集聚属性—关联属性槽:基于UML表示的构件之问的关系主要有继承关系、聚合关系、关联关系和依赖关系;继承关系表示一般类和特殊类之间的属性、方法继承,是构件之间的纵向关系;而聚合关系、关联关系和依赖关系主要是通过构件之间的接口调用来实现,表现构件之间的横向关系,因此,把构件之间的相互关系主要分类继承和集聚两类;这样,构件的框架知识表示为:

构件:自然属性槽(槽名,自然属性侧面名,构件自然属性值)

关联属性槽(槽名,关联侧面名,关联属性值)

规则属性槽(槽名,规则侧面名,规则属性值)

接口属性槽(槽名,方法侧面名,方法属性值)

采用巴科斯范式BNF可将构件的框架表示如下:

构件=<自然属性><关联属性><规则属性><接口属性>

自然属性=<构件标识><应用范围><领域范围><使用环境><构件类型><功能描述><版本号><抽象类型><版本号>

构件标识=<构件名称><构件标识符>

应用范围=<系统通用|专用>

领域范围=<工商|银行|电信|业|制造业|办公自动化化|ERP…>

使用环境=<硬件环境><软件环境>

构件类型=

功能描述=<私有功能><公共功能>

私有功能=<计划调度|物料跟踪|数据采集|成本管理|…>

公共功能=<计划调度|物料跟踪|数据采集|成本管理|…>

抽象类型=<抽象构件|具体构件>

关联属性=<继承><集聚>

规则属性=

Ako规则=<与抽象构件相关的规则><与具体构件相关的规则>

接口属性=<私有接口属性><公共接口属性>

私有接口属性=<私有方法名称><参数列表><返回值><实现功能描述>

公共接口属性=<公共方法名称><参数列表><返回值><实现功能描述> 每个构件都由一个框架知识表示来描述,属性由槽来描述;槽可以有很多侧面,代表属性包含的内容;每个侧面还可以有很多值,描述构件不同的属性值。

2 业务构件规则库

业务构件是业务对象和构件的融合.是业务对象软件实现所形成的自治的业务概念和可复用的软件单元,它可由若干软构件合成[5]。面向业务构件( Business Component Oriented, BCO)的分析方法.可以把业务系统设计成由若干业务构件组成。即将业务系统构件化。当业务过程发生变化时,通过业务构件的重组来实现业务过程的重组。

由于业务构件是自治的、独立的封装体[6],构件间通过符合相应构件规范的接口交互,因此,这种不再形成耦合关联的业务构件作为重组单元构成的业务系统,适应变化的能力强,重组速度快,效率高。

业务系统的面向业务构件形式化可表示为:

BS={name, business component, rule}

式中:name------业务系统名,

Business component------业务构件,

其中,Business Component=(Name, Function, Code, Input, Output,);

Function----业务构件功能描述;

Code----业务构件目标代码实体;

Input---业务构件输入描述;

Output----业务构件输出描述。

rule----业务系统的规则,

其中,rule={name, keypoint, algorithm}

Keypoint----业务系统关键点;

Algorithm---算法。

业务系统就是利用业务系统的关键点来触发构件,通过算法组织构件,建立实际的业务系统,如图1所示。

图1基于规则库的业务构件生成

在基于业务系统关键点的组织构件的机制中,算法表现为构件间的关联集合Ω。

令Ω={→,∧,∨}

其中,“→” ,transfer表示构件Ci、构件Cj顺序移交;”∧” ,together表示构件Ci、构件Cj同时选择;“∨” , selection表示构件Ci、构件Cj选择一个。可用图表示构件间关联操作为And--Join, And---Split, Or ---Join, Or---Split等形式(如图2所示)。And--Join表示激活操作构件C3的前提条件是操作构件C1及构件C2己经完成,即(C1∧C2) →C3;Or-- Join表示激活操作构件C3的前提条件是操作构件C1或构件C2己经完成,即(C1∨C2) →C3;And- Split表示完成操作构件C1后,可以激活操作构件C2 和构件C3 .即C1 →(C2∧C3 );Or- Split表示完成操作构件C1后,可以激活操作构件C2 或构件C3,即C1 →(C2∨C3 )。

图2 构件操作之间约束表示法

3 小结

本章节提出了基于人工智能框架知识表示的构件描述方法,解决构件的描述的关键性问题;利用框架知识表示可表达分层次嵌套式结构的特性,建立描述构件分层属性(自然属性、关联属性、规则属性和接口属性)的构件描述模型,直观、有效地描述构件的参数,以及构件之间的继承关系,便于实现对构件的管理。

基于规则库,根据业务过程中的一系列逻辑相关的活动步骤,利用业务构件技术,并通过keypoint组织业务构件,以达到预定的业务结果。特别是在业务过程变化时,能够基于规则,通过业务构件的重新组合,快速实现业务系统的重组。

参考文献:

[1] William Wong.软件重用管理概观[J].计算机科学,2003(2):21-26.

[2] Emmanuel Henry.Benoit Fallen Large-scale Industrial Reuse to Reduce Cost and Cycle Time[A].IEEE Software[C],2000.47-53.

[3] 史忠植,蒋运承,张海俊,董明楷.基于描述逻辑的主体服务匹配[J].计算机学报,2004,5(27):625-635.

[4] 潘颖,赵俊峰,谢冰.构件技术的研究与发展[J].计算机科学,2003,30(S):90-93.

[5] CASANO S,ANTONEILLIS V De.Engineering library ofreusable conceptual component[J]. Information and Software Technology,1997(39):210-219.

[6] 王志坚等.软件构件技术及其应用[M].科学出版社,2005.

收稿日期:

基金项目:云南师范大学自然科学研究青年基金项目(2008Z019),云南省院省校科技合作(中科院计算所)(2004YX42)

作者简介:夏耀稳(1981-),男,助教,硕士,主要研究方向:UML,构件,Web服务,人工智能等。