引 言
随着商务活动的全球化,企业价值的提升将更多地源于服务,而不同背景、不同目的和不同时期的顾客的需求不同,因此,企业的经营活动需借助Internet提供全天候、零距离的优质的个性化服务。与面向个性化服务的潮流相呼应,工业界也正在将更多的企业流程扩展到Web上,以使这些流程能在企业内或企业间相互协作,从而将企业的各种经营服务渗透到Web服务上,这就是BPM(业务流程管理)技术的兴起。
BPM关注的是业务过程中的活动,发掘活动之间的相互作用并从全局考虑提高过程的性能,因此它又被称为新的复合计算,是下一代工作流系统、应用中间件的新平台。同时,它也是关于全局整体的管理(Ho-listic Management),其目标是通过业务过程的最优集成来提高系统的整体性能,追求过程卓越,使资源、时间得到最高效率的利用。通过提高效率和有效性、过程管理有助于集成企业中的不同功能单元,更好地了解过程,识别问题的根因,找到解决问题的最佳策略,确保过程维持高效益,以低成本产出高质量的产品和优秀的服务,使得客户满意度提高,市场占有率和利润长期稳定地增加,从而提高企业的生存能力。BPM是近几年来自企业内的资源整合技术如ERP、CRM、EAI和企业间的交易协作技术如EDI、e-Business、B2B、Web Service的碰撞、融合与创新。
然而,市场需求瞬息万变,企业计算必须以动态和灵活作为应对策略,相应的BPM软件必须支持流程实例,并根据运行环境的需求,通过流程模型和支撑系统的通用机制,动态地改变模型结构和行为,适应各种变化。因此,本文从系统角度对业务过程进行分析,对构成要素进行抽象,在对Web服务和BPM技术进行研究的基础上,深入研究了SC(Service Cooperation,服务协同)的体系结构,并将此体系结构应用到对于企业来说至关重要的个性化服务系统的设计中,最后设计了适于动态流程执行的满足不同用户需求的基于SC的个性化服务系统平台。
1 SC技术分析
企业在核心基础业务平台之上集成各种软件应用,对业务流程实现监控、管理与分析,在各个业务系统间和跨企业合作伙伴间,安全、有效地实施交互和协作,全方位满足各种业务功能的要求,需要各种中间件的支持。文献[2]指出,一般情况下,中间件系统主要归为如下4种类型:分布式元组(distributed tuples)、远程过程调用、分布式对象(distributed object)和MOM(面向消息的中间件)。其差别在于所提供的编程抽象性及跨越网络和硬件平台的异构件。根据计算粒度不同,将这4种中间件分别归于不同的层次,见图1。

对于较粗的力度划分,图1中采用粗虚线表示,处于最细粒度的一层就是分布式元组,它提供了非常细的粒度的数据元组以及元组空间的抽象,并成为较广泛分布的中间件形式之一。在分布式元组之上的是用于远程过程调用的扩展出的相对来说更粗粒度的过程接口,该接口主要用以提供能够跨网络调用某个过程的抽象性;在远程过程调用层之上的是分布式对象,它提供的粒度仍然很小,但抽象程度对于远程过程调用来讲毕竟是更高层的对象模型,尽管对象本身是远程分布的,但是对其方法的调用可以像是调用本地空间的对象一样;处在分布式对象之上的是粒度划分最粗的面向消息的中间件,该中间件以消息的形式提供了更宏观的抽象性,其中消息队列可以跨网络进行访问,非常灵活,这种灵活性使得它可以自由地组织和配备那些存放和提取消息的程序之间的拓扑关系。
从图1中可以看出,在对中间件进行划分时,其粒度越粗,抽象性越高,其灵活性越高,对于上层的使用就越透明,管理就越容易,而SC技术就是在此基础上提出的,它是一种高粒度、高抽象性、高灵活度的中间件技术。因此,为了满足企业对用户需求多变性的需求,本文将服务协同中间件的思想引入到了个性化服务系统的没计中,提出了一种基于SC的个性化服务系统,使我们能够在面对快速变化的市场需求时,动态和灵活地做出应对策略,为用户提供适合其个性化需求的服务,从而占领市场先机。
2 基于SC的个性化服务系统
2.1 系统的体系结构
从用户的角度来说,个性化服务是指对于不同的客户由于其背景不同、需求目的的不同或者对于同一客户其所处的时期不同需求都是不同的,因此需要借助于Web,根据用户的需求差异性来为其提供相应的服务,即个性化服务。另一方面,从技术的角度来说,无论哪种服务只要是基于Web的都可以认为是计算机实现业务流程的一部分,因此,那些针对业务功能而发布的Web服务需要根据用户的具体需求按照一定的流程组织在一起。并且,由于与传统中间件相比,SC是一种具有更高抽象程度和计算粒度的面向服务的系统中间件,同时,SC中间件自身不能单独构成一个应用系统,而它负责在应用系统中协调服务提供方与被服务方之间信息的快速交互,并且针对各种需求的不同,动态地改变相应功能块之间的逻辑关系,从而达到满足系统需求的功能。因此,为了适应客户的个性化服务需求,我们把一种基于SC的新的中间件形式引入到个性化服务系统的设计中,设计了一种基于SC中间件的个性化服务系统(如图2所示),旨在将分布的服务单元组织在一起,通过服务粒度上的交互和协同来满足不同客户的业务需求,从而达到为用户提供及时有效的个性化服务的目的。

所有SC是指按协同模型组织在一起、通过相应的服务包装将协同模型各层次以接口形式统一对外呈现;可通过投影机制将视图分割给各参与者。所有服务提供方和请求方都是协同流程中的参与者,它们基于Web服务的注册、发现、绑定机制,遵从服务描述,以高度可互操作的通信协议进行通信。基于SC的流程必须运行在一个业务流程管理的支撑环境中,该环境不仅能够设计协同流程和活动,而且要为企业协同框架中的所有参与者自动创建相应的视图投影。因此,本文将系统的体系结构设计为5层:应用层、组件服务层、SC生成层、通用安全接口层、服务提供者层。这5层同时都受SC信息管理部门的协调与管理。
a) 应用层:一般根据具体应用的不同和客户需要的不同开发不同的接口,同时还具备一些通用的接口,包括客户端业务浏览、查询接口、客户特征信息采集接口和客户端控件等。
b) 组件服务层:以组件级接口方式出现,它建立在CORBA安全服务和J2EE安全服务之上。
c) SC生成层:主要功能是根据用户个性化特征的不同,通过基于服务提供者协作成员分组以及基于耦合度的SC模式分配,生成符合客户个性特征的SC任务。通过使用该层就可以较好地根据用户个性化特征的不同提供良好的个性化SC。
d) 通用安全接口层:主要是在服务提供者与SC内部的SC生成层之间建立一道安全屏障,也就是说,对于服务提供者来说内部服务的生成是透明的,服务提供者只需要提交相关的服务信息即可,而对于服务的生成是由系统核心部分自动完成的。这样保证系统运行的独立性与安全性。
e) 服务提供者:包括客户服务提供者、安全服务提供者和服务管理提供者3个主要部分。客户服务提供者是指由系统分析人员与服务提供商共同设计的一些符合特定客户需求的服务模块;安全服务提供者是指由模块开发者提供符合安全管理接口规范的、能提供一定安全服务能力的动态链接库及相关资料库,从而确保在分布式环境下模块之间的互操作、简化体系结构级安全的开发和维护,使之能达到提供服务的可靠性;服务管理提供者是指由服务管理部门制定出对SC的提供者进行相互管理与协调的机制,确保提供者之间能够快速、有效、有序地进行SC。
2.2 SC的生成
SC层内部结构如图3所示。SC生成单元主要由客户分组、确定服务资源、分解服务单元、分配服务模式以及生成服务事件序列等5个步骤。

其工作原理为:
a) 根据服务模型中客户特征与需求目标不同对客户进行分组,每个小组内的客户都具有相同或相近的特征和需求。
b) 通过分析服务需求目标与某个小组内客户特征的不同,确定该小组内应该提供服务活动的服务单元的集合。
c) 根据服务资源的组织形式,将各个服务单元分解到服务活动中去。
d) 根据客户模型中性格、动机和风格等个性属性以及与SC模式的耦合度确定服务活动的SC模式,并为客户分配相应的服务角色。
e) 根据每种SC模式的事件序列描述,为服务活动生成事件序列。
经上述步骤最终生成的服务任务分为服务单元集合(符合客户需求目标集合)、服务小组(参与SC的客户集合)、服务活动的集合3部分。协同活动指协同流程中对应于服务调用的最小单元,它可能只涉及一个参与者,也可能需要更多参与者相互协同完成。在协同活动中由参与者执行的动作可能包括:特定参与者之间的数据交换、在共享的存储空间中将数据分享给活动中所有的参与者、其他面向服务的活动等。
3 结束语
新兴的面向服务体系结构正在加速软件的发展和变化,无法适应动态环境的应用将逐渐失去作用,尤其是对那些面临需求频繁变更的BPM系统而言更是如此,因此,对基于Web服务和BPM技术进行研究对优化企业的业务过程、提高企业的管理水平有重大的意义,由此案例的业务流程能够更灵活、更广泛地使用于各种开放环境,从而为用户提供真正的个性化服务。
本文创新点是在SC中间件技术进行研究的基础上,提出了一种基于SC的个性化服务系统,实现了业务过程、数据、管理和控制的分离,从而根据不同用户特征和需求的不同,自动生成相应服务,即真正实现为用户提供个性化服务的功能。该系统具有较好的灵活性、可操作性、可伸缩性及动态应用的支持能力,因此具有广泛的应用领域。 |