已阅读5页,还剩70页未读, 继续免费阅读
(计算机软件与理论专业论文)客户服务中心应用支撑层程序设计接口.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
捅要 客户服务中心是计算机电话集成技术的重要应用领域,是企业处理与客户关 系的重要方式。客户服务中心的发展趋势是大客户服务中心,即在一个客户服务 平台上支持多个行业的不同业务。这要求将客户服务中心的软件分为支撑层和应 用层。本论文以i c a l l 客服系统为研究对象,以应用支撑层和应用层的工作方式 和相互关系为基础,分析了应用支撑层对应用层已经提供的两种应用编程接口: 元数据和既+ 支撑类,提出了一种新的f c s 语言。论文比较了f c s 语言与c + + 支 撑类接口的特点,论述了f c s 语言的设计和实现,最后通过举例说明了f c s 语言 的解释机制。论文指出f c s 语言和c + + 支撑类接口是面向不同层次二次开发人员 的工具,两者具有不可替代性,而提供多样化的高效的二次应用开发工具是大客 户服务中心的重要目标。 、 , 关键词:客户服务中心应用支捌层应用层二次开发工具f o s o 。 ,一 、 l , 。,f a b s t r a c t c a l lc e n t e ri sa n i m p o r t a n ta p p l i c a t i o nf i e l do f t h ec o m p u t e rt e l e p h o n y i n t e g r a t i o nt e e h n o l 0 9 3 i ti sa ni m p o r t a n tv e a yo fa l l e n t e r p r i s et on l a n a g er e l a t i o n sw i t hi t sc u s t o m e r s t h ed e v e l o p m e n t t r e n do fc a l lc e n t e ri st h el a r g ec a l lc e n t e r ,t h a ti st os a y , s u p p o r td i f f e r e n tb u s i n e s so fd i f f e r e n t i n d u s t 九,o no n ec a l jc e n t e rp l a t f o r i l lt h i sr e q u i r e st h a tt h ec a l lc e n t e rs o f t w a r es h o u l db ed i 、i d e d i n t ot h e s u p p o r tl a ) 7 e r a n dt i l e a p p l i c a t i o ni a y e r t h i sp a p e ru s ei c a l ls y s t e i na st i l er e s e a r c h t a r g e t o nt i l eb a s i so ft h et h ew o r k i n gs 3s t e i n so ft i l e a p p l i c a t i o ns u p p o r tl a 3 ,e ra n dt i l ea p p l i c a t i o n l a 3e ra n dt h e i rr e l a t i o n s h i p ,t h ep a p e rf i r s ta n a l y z e st i l ea p p l i c a t i o np r o g r a m m i n gi n t e r f a c e so ft h e s u p p o r tl a ? e rw h i c hh a v eg i v e nt ot i l ea p p l i c a t i o nl a 3 e r :m e t ad a t aa n dc 什s u p p o r tc l a s s e s t h e na n e v rf c s l a n g u a g ei sp u tf o r w a r dac o m p a r i s o nb e t w e e nf c sa n dc + + s u p p o r tc l a s s e si n t e r f a c ei s m a d ea n dt i l ed e s i g na n di n l p l e m e l l t a t l o no ft h ef c s l a n g u a g ei sd i s c u s s e da tl a s tt w oi n s t a n c e sa r e c i t e dt oe l u c i d a t et h ei n t e r p r e t a t i o nm e c h a n i s mo ft i l ef c s l a n g u a g et h ep a p e rp o i n t so u tf l l a tf c s a n dc + + s u p p o r tc l a s s e sa p ia r et o o l sf o rd i f f e r e u tr e d e 、e l o p l n e n t p e o p l et h e ) ,s h o u l dn o tb e s u p e r s e d e db yt h eo t h e rf u r t h e r m o r e ,t i l ep a p e rp o i n t so u tt h a tp r o v i d i n gm u l t i f o r ma n de f f i c i e n t r e d e v e l o p m e n t t o o l so f t i l es u p p o r tl a y e rt ot h ea p p l i c a t i o nr e d e , e l o p m e n tp e o p l ei sa l li m p o r t a n ta i m o f t h el a r g ec a l lc e n t e r k e y w o r d s :c a l l c e n t e rt h e a p p l i c a t i o ns u p p o r tl a y e r t h ea p p l i c a t i o nl a y e l r e d e v e i o p m e n t t o o l sf l o wc h a r t s c r i p t ( f c s ) 第一章绪论 第一章绪论 1 1 客户服务中心和二次应用开发 客户服务中心( c u s t o m e rs e r v i c e c e n t e r ) 又称为呼叫中心( c a l lc e n t e r ) ,是计 算机电话集成( c o m p u t e r t e l e p h o n yi n t e g r a t i o n ,c t i ) 技术的重要应用方面。客户 服务中心为用户提供了一种以电话为媒介的业务活动手段,并通过相应的应用系 统进行自动配合。在这样的应用系统中,有支持业务应用的软件和数据库,以及 相应的系统监控f 4 。 客户服务中心技术是企业处理与客户关系的重要手段,在国外十分普及,在我 国,呼叫中心应用已成为企业领导和专家的共识,在各行各业获得广泛应用。客 户服务中心正在与各种新技术( 如i p ( i n t e r n e tp r o t o c 0 1 互联网协议) 、w a p ( w i r e l e s s a p p l i c a t i o np r o t o c 0 1 无线应用协议) 、a s r ( a u t o m a t i cs p e e c hr e c o g n i t i o n 一自动语 言识别) 、d w ( d a t aw a r e h o u s e 一数据仓库) 等) 融合,融合了上述各种新技术的 客户服务中心将成为电子商务系统的重要组成部分。 客户服务中一i i , 的另一个发展趋势是大客服中心,它将行业客服中一t l , 中的应用软 件明确地分离成应用支撑和应用两个层次,使得在一个应用支撑层上同时存在多 个面向不同行业的应用逻辑,形成多个虚拟的行业客服中心,其目标是用个特 服号来为多个行业客户服务中心提供支持。 大客眼中心的特点之一,是需要提供有效的二次应用开发支持。 二次应用开发是由应用系统的使用者( 而不是开发者) 、在应用系统投入运行 后( 而不是在开发阶段中) 对应用系统的功能进行修改和扩充,以满足其新的需 求的过程。 在客户服务中心系统中也有这种需求,用户要求一个客户服务中心产品不仅要 适应当前的应用要求,还要能够提供一系列的应用开发支持,使得用户不通过产 品设计者,即可对原有系统修改和扩充维护。 大客户服务中心对二次应用开发的要求较高,一方面要求系统具有一组客户服 务中心系统的基本功能( 如话路、语音服务等) ,另一方面要求提供二次应用开发 工具,来实现具体应用的业务逻辑,并调用所需的基本功能。 客户服务中心的二次应用开发工具主要支持的是( 体现特定业务逻辑的) 应 用流程的开发。目前的客户服务中心二次应用开发工具主要可分为g u i 工具和a p i 客户服务中心应用支撑层程序设计接口 工具两类。其中,g u i 工具基于可视化环境,提供了一系列的基本构件,将其以 图标的形式显示在界面中,用户选中这些图标,并采用拖动方式将这些图标连接 起来,以表示自己的应用流程,系统在运行时则依据这样的应用流程,动态地产 生体现j 7 对应业务逻辑的行为。这类工具适用于业务逻辑的操作状态有限且可以 预先规定的场合,例如语音自动流程的开发。经过简单培i ) i i 后,没有程序设计经 验的用户也能很好地使用这类工具;a p l 工具则是基于特定的程序设计语言的,将 可利用的系统功能以程序设计接口的形式提供给用户,具有比g u i 工具更强的表 示能力,适用于业务逻辑的操作状态复杂或不能预先规定的场合,因此要求用户 具有该语言的编程技能。对于一个客户服中心来说,这两类工具往往是并存的, 以适应不同用户的需求。因此,提供多样化的二次应用开发工具是大客户服务中 心的重要目标。 1 2 论文工作背景 1 2 1 项目背景 i c a l l 系统是西安电子科技大学软件工程研究所开发的一个客户服务中心系 统开发平台,体现了大客户服务中心和统一客户前端的思想。在参与西安邮政1 8 5 客户服务中心招标项目的过程中,论文作者参与了该系统的完善工作,主要在系 统的c s c 部分( 人工座席支撑与控制子系统) 完成了人工座席的扩展和分级管理, 将座席划分为系统管理员座席、组管理员座席、班管理员座席和业务受理员座席 四级,不同座席有不同的功能和权限,并对不同管理员的操作界面进行了划分, 实现了对系统支持座席数量的扩展,并对座席提供了分级管理功能。 在完成上述工作的过程中,作者发现,如果对于i c a l l 系统原有的、基于c + + 语言的a p l 工具作进一步的扩充,即在其之上提供一个基于特定脚本语言( s c r i p t l a n g u a g e ) 的接口,将有效地降低对二次应用开发人员的程序设计技能要求,从 而使得i c a l l 系统具有更强的二次应用开发支持能力。因此,作者对面向客户服 务中心的二次应用开发工具进行了本文所述的研究。 下面就与本文工作相关的i c a l l 系统的成份和技术特征作一简要描述。 第章绪论 1 2 1 1i c a l l 系统的组成 i c a l l 系统采用三层客户服务器结构,系统的组成如下图所示,其中虚线表 示话路通信,实线表示数据通信,带实线框的矩形表示系统本身部件,带虚线框 的矩形表示同系统相关的外部部件。 图1 1i c a l l 系统组成图 其中,a c d 是自动呼叫分派部件;c t i 是计算机电话集成部件;i v r 是交 互式语音应答部件;c s c 是客户服务中心部件;a g t 是本地座席子系统:r a g t 是远程座席客户部件;d g w 是数据网关;l d b 是本地数据库;w w w 是w w w 服 务部件;e m a i l 是e m a i l 服务部件;t o o l s 是一组应用开发工具部件;e i s 是在 客服中心之外独立存在的一个或多个信息系统:l i s 是与客服中心共用系统平台的 一个或多个信息系统。i c a l l 系统部件的划分是由客服系统的领域特征决定的, 有一些部件之间的交互遵循国际标准。 1 2 1 2i c a l l 的软件层次结构 i c a l l 系统软件采用层次化结构,明确划分了系统中各种成分的职能,统一了 系统中各种成分之间的接口,提高了系统的可扩充性、可维护性和可移植性。 系统的软件层次结构如下图所示。 田 口 客户服务中心应用支撑层程序设计接口 图1 2 系统软件层次结构图 其中,开放系统平台包括操作系统、d b m s 、t c p i p 协议等:软件体系结构层利用 开放系统平台的支持,实现了系统的进程组织结构和通信机制,包括构件交互协 议、进程与进程组的管理、进程监控等;应用支撑层利用软件体系结构层的支持, 实现了与客服中心这一特定领域相关的支撑机制,主要包括话路,语音,传真, 座席等的与应用无关的功能,该层和软件体系结构层构成了客服中心的特定域软 件体系结构( d s s a ) ;应用层则利用应用支撑层的支持,实现具体的客服中心应用。 本文工作主要涉及应用层。 在i c a l l 的层次结构中,上一层都利用下一层提供的功能来实现,下层只 为上一层提供使用其功能的接口,而屏蔽了其实现的细节。由于统一了上下层的 接口协议,任何一层都可在基于与相邻下层接口协议的基础上,直接扩充修改功 能。同时,下层也可在保持与相邻上层已有接口协议的前提下,扩充或修改功 能,并在上一层中直接体现出这种改变。因此,i c a l l 系统这种层次结构有利于系 统能力和结构的扩充,同时能适应不同的服务器硬件和交换设备。并提高了对二 次应用开发的支持能力。 1 2 1 3 人工服务的特点 人工受理服务是指客户通过电话与客服中心的业务代表进行电话交流信息的 方式,业务代表与客户服务中心系统则通过一般的计算机人机界面进行交互。人 工受理服务通常要承担比自动语音服务更灵活、更复杂的任务,而且在业务规则 第一章绪论 上差异很大。针对这一特点,对人工服务流程设计的可行的支持是:全面提供应 用支撑支持,让用户不必关心诸如话路、语音、传真等操作的细节,而集中精力 于应用逻辑的设计。 1 2 1 4 已有的程序设计接口 在原有系统中,对于人工服务这一客户服务中心系统的基本服务方式来说,业 务流程相对复杂,并与系统座席的界面操作相关,因此将一些与业务不直接相关 的操作( 如话路操作、语音操作、传真操作等) 放在应用支撑层,而由应用层驱 动这些操作,完成相应的应用功能。这种驱动方式以c + + 程序设计接口的方式提 供给应用程序的二次应用开发者。 在这个c + + 程序设计接口中,元数据和c + + 支撑类是支持应用程序开发的基本 方式,而利用c + + 支撑类进行编程则是应用二次应用开发人员的主要工作。但是, 基于c 十+ 支撑类的程序设计接口对用户的程序设计能力要求较高,因此提出了开 发更易于使用的二次应用开发工具的要求。 1 2 2 技术背景 应用系统的二次应用开发工具具有多种形式,如g u i 工具、报表自动生成工具 等,这些工具的处理的内容通用性较强,适合用户的配置和生成,但对于应用系 统的业务流程来说,各个业务流程的功能是千差万别的,反映了不同的业务逻辑, 因此应用系统针对这些流程的二次应用开发工具多是基于特定语言的a p i 的。 应用系统的a p i 二次应用开发工具是与特定的语言相关的。程序设计语言的抽 象程度越来越高,语言的编码量越来越少,程序越来越易于理解。二次应用开发 工具的a p i 形式与此发展趋势是相同的,只有提供更加易于理解且编码量小的语 言接口形式,才能为用户提供高效的二次应用开发。 对于系统的二次应用开发工具而言,其目标是为用户提供快速开发系统的工 具,趋势是应提供抽象层次高于常规程序设计语言、又具有过程化描述机制的一 种语言接口,这样二次应用开发者就可将尽力集中于业务流程过程的组织( 即业 务逻辑的组织) ,减少对程序设计语言的依赖性,提高工具的适应性,而采用s c r i p t 技术即是这种工具的良好选择。 s c r i p t 技术是目前十分流行的一种应用程序设计技术,它的出现是由于软件 的构件化开发技术的广泛采用,使得系统的开发可基于这些可重用的构件,并进 行构件的连接完成更强的功能。s c r i p t 技术在现有系统构件的基础上,用比常规 程序设计语言抽象程度更高的过程化机制,来表示这些构件之间的逻辑关系,这 客户服务中心应用支撑层程序设计接口 实际上是对这些构件依照特定应用逻辑进行重新连接的过程。 s c r i p t 技术的实现是通过一定的控制结构语句( 如分支结构和循环结构) 将对 构件的使用进行组合。现在的s c r i p t 语言都规定了自己的内部对象,这些对象都有 自己的属性和方法,通过一定的方式肘这些属性和方法进行引用,这些对象实际 就是s c r i p t 语言中实现的构件。此外,有的s c r i p t 语言还支持用户自己开发构件, 并将这些构件按定的方式以对象的形式在语言中声明,语言即可象使用自己的 内部对象一样使用用户的构件。 s c r i p t 技术目前在g u l 领域和i n t e r n e t 领域得到广泛应用,g u i 的特点决定了 其元素的抽象程度高,可以以构件的形式存在,现在的g u i 开发一般都基于这些 可重用的图形元素构件来开发应用的图形用户界面,图形用户界面元素的行为是 一般是由s c r i p t 代码实现的,其典型代表是v i s u a lb a s i c 和t c l t k 语言。 i n t e r n e t 领域中的s c r i p t 技术应用更加广泛,i n t e r n e t 上的s c r i p t 分为客户端 s c r i p t 和服务器端s c r i p t ,都是对已开发的功能构件的连接,i n t e r n e t 领域典型的语 言如v b s c r i p t ,j a v a s c r i p t ,p e r l 等 8 。 这些语言的共同特征是: 1 是一种解释性的语言而不是编译型的语言,语法简单。 2 采用事件驱动机制,主要用于对交互事件做出响应,程序的主体是事件处 理过程,由于s c r i p t 的程序是可重用组件的连接,发给这些组件的请求一 般是通过事件的形式实现的。 3 与特定的对象模型结构结合紧密( 如c o m 等) ,s c r i p t 实际是对特定对象 模型结构中的构件的请求。 4 一般是无类型的,组件和其中的值可以出现在任何位置,完成不同的任务。 5 大部分s c r i p t 语言都有对内部对象的支持,一些可对用户开发的控件声明 后以对象形式使用( 如基于a c t i v e xs c r i p t i n g 技术的s c r i p t 语言) 8 等 。 s c r i p t 技术和常规程序设计语言( 如c 、c + + 、p a s c a l 、f o r t r a n 等) 比较起 来,是比之更高级的语言,一条s c r i p t 语句往往对应多条c 或c + + 语句。从 分工的角度来看,s c r i p t 语言主要用于将已有构件按应用逻辑的要求进行连 接,而常规程序设计语言则主要用于构件本身的实现。因此,s c r i p t 语言侧重 于描述连接的逻辑,而常规程序设计语言则侧重于数据结构和复杂算法的实 现。 1 3 论文工作内容及各章节的安排 支撑层接1 5 1 的设计是以支撑层和应用层的工作方式和相互关系为基础的。作者 第一章绪论 在对i c a l l 平台的完善过程中,熟悉了支撑层的工作方式,并对支撑层和应用层 关系有了充分的理解。在熟悉了v b s c r i p t 文法和基于c + + 支撑类开发的应用程序 的基础上,定义了一种s c r i p t 语言f c s ( f l o w c h a r ts c r i p t ) ,利用s c ou n i x 下的 l e x 和y a c c 工具软件实现了f c s ,并对原有的应用层程序( 全部由c + + 类组成) , 用f c s 语言全部进行了重新实现,从而对f c s 语言的功能进行了全面的验证。结 果表明,f c s 语言达到了预期的设计目标。 本文各章节的基本内容是: 第二章是对设计要求的分析,分析了i c a l l 系统的应用流程和应用支撑流程 的组成和工作方式、两者的关系、i c a l l 系统支撑层提供的元数据接口和c + + 支 撑类应用程序设计接口,重点对c + + 支撑类接口的实现方法和基于此接口的应用 程序的框架进行了分析。 第三章论述了f c s 语言的必要性,对f c s 和c + + 支撑类接口进行了程序框架、 程序语句和实现应用流程机制的比较,指出了f c s 和c + + 支撑类接口在i c a l l 二 次应用开发中的地位和作用。 第四章论述了f c s 的设计和实现以及f c s 的使用方法。 第五章用两个例子说明了f c s 的解释机制。 结束语中对本论文进行了总结和评价。 1 0 客户服务中心应用支撑层程序设计接口 第二章设计要求的分析 2 1 i c a l l 中的应用层和应用支撑层的关系 2 1 1 应用流程和应用支撑流程的关系 应用流程和应用支撑流程是异步调用返回的关系,对于应用流程和应用支撑 流程而言,其流程的运行都是异步的方式,所以,应用流程和应用支撑流程也只 能是异步调用返回的关系。两者的关系如下图所示: 图2 1 应用流程和应用支撑流程关系图 由图中可知,当客户进程发出请求时,激活相应的应用流程,应用流程的起 始结点做了对应用支撑流程的请求准备后,向对应的应用支撑流程发出请求,该 支撑流程的起始结点完成后即向发出请求的应用流程结点回发响应,然后该应用 流程结点即处于挂起状态;当支撑流程( 异步) 执行完成后,由其终止结点向应 用流程结点回发响应,从而激活被挂起的应用流程结点,继续完成应用流程结点 的操作,并转向下一个应用流程结点,继续以上的请求回应过程,直至应用流程 第二章设计要求的分析 的结束,此时将应用流程的操作结果发回客户进程。 应用流程和应用支撑流程之间遵守着统一的接口协议,两者之间进行按照接口 协议规定的方式,以消息报文和文件的形式传送调用的数据和返回的结果。 2 1 2 应用流程和应用支撑流程的组成 i c a l l 中的应用支撑层和应用层都有如何按照特定目标逻辑来控制服务进程 行为的问题,若采用程序中的控制流来体现特定的目标逻辑,在系统扩充或修改 时,需通过修改程序代码的方法来实现。这样,既带来了新的程序开发要求,有 可能由于程序的修改和扩充带来新的错误而导致系统可靠性和稳定性的降低,还 不利于引入应用开发的工具支持,因此,对于采用大客服中心概念、需要对二次 开发提供有效支持的i c a l l 系统,用程序直接体现全部目标逻辑是不恰当的。 i c a l l 系统的应用层和应用支撑层都采用了基于流程图的逻辑控制方式分别 称为应用流程和应用支撑流程,它们将目标逻辑分成两个部分:一部分是经过抽 象后由不同单元构成的集合,内部的每个单元有十分密切的逻辑关系,而且将来 发生部分改动或扩充的可能性较小,这样的单元称为结点:另一部分是由结点之 间逻辑关系构成的集合,这一部分将来发生改动或扩充的可能性较大,这样的关 系称为边。 这样的结点是可被复用的,要求是可重入和无后效的。结点之间可根据不同的 业务逻辑进行相互之间的转移,这体现在边的改变上。在i c a l l 中是通过元数据 来表示结点和边的,这样的元数据就是流程图。采用基于流程图的逻辑控制方式, 既可扩充新的结点,又可按照不同的业务逻辑重新组装原有的结点,这些改变只 需通过修改元数据和增加新的结点基础构件就可实现,体现了系统易于扩充和修 改的特点。 应用流程和应用支撑流程虽都由结点和边组成,但各自的表示和运行方式是有 差别的。应用支撑流程的结点作为基础构件只反映了某种操作,而边的关系相 对固定,因此,边的关系体现在应用支撑流程的流程图元数据文件中,由支撑流 程图控制构件根据元数据文件来判断向不同结点的转向:而应用流程的结点和边 部放在应用结点基础构件中,其内部确定了边的集合,流程图控制构件只根据当 前的结点标识,转到下结点上,流程图元数据文件中未反映边的关系,这是因 为应用流程结点之间的关系相对于应用支撑结点之间的关系松散些,于是通过 在应用结点基础构件中的逻辑组织体现结点之间的关系,也就是边的集合。这样 可以体现良好的适应性和扩展性,因为应用结点基础构件的变化相对于应用支撑 结点基础构件的变化要频繁的多。 客户服务中心应用支撑层程序设计接口 下图为应用流程结点的组成。 一一- - 。- _ 一一- - 。一- - ,- 一一一一- - 一一- 一一一一一- 一一一一一- - 一一- 一一一- 一一一一- 一一一- 一j 图2 2 应用流程结点的一般结构 无论是应用流程还是应用支撑流程,其流程图与状态转移图是功能等价的, 其区别是前者用结点表示动作,而后者用边表示动作。 在有了流程图的基础上,用特定的基础构件( 称为流程图控制构件) 来加载流 程图,并在外部激发下找到对应的流程图,从其入口启动其起始结点运行,再根 据其运行结果对图中的边进行解释,确定要执行的结点标识,然后激活下一结点 第二章设计要求的分析 运行, ,直至到达该流程图规定的一个合法出口为止,这就是流程的工作原理。 应用支撑流程和应用流程的流程的工作原理如下图所示: 注:图中的箭头表示数据引用 图2 3 流程工作原理 流程控制器构件在外部激发下,先找到对应的流程图元数据文件,按照元数 据文件解释程序的解释,找到流程图对应流程的起始结点构件,向它发出请求, 将控制转给起始结点构件,由起始结点构件完成相应的操作请求,并将结果放入 工作空间构件保存,其中包括控制和状态信息和全局业务数据。流程控制器构件 根据结点构件的操作结果,按照自身的解释机制,若符合向下一结点转移的条件, 再到流程元数据文件或根据当前结点的标识值转到下一结点,向对应的结点构件 发出请求,继续下一结点的功能,直至流程的结束。在此过程中,不一定只执行 一个流程,因为流程是异步执行的,有时,一个结点的操作未完时,已将控制转 交给流程控制器。此时,流程控制器可对别的流程进行解释执行。 1 4 客户服务中心应用支撑层程序设计接口 2 2 i c a l l 中应用流程元数据 2 2 1 元数据的作用 i c a l l 的应用支撑流程图和应用流程图都使用元数据表示,元数据是指当数据 在程序中不是被加工的对象,而是被用来对程序的运行起控制作用,并且可以通 过值的改变而改变程序的行为时,这样的数据称为元数据。 元数据是描述数据和行为的数据,元数据的使用提高了软件设计的抽象层次, 同时也增加了系统的柔性,对系统的可扩充性起到了重要作用。i c a l l 系统是数 据驱动的,即i c a l l 系统是采用基于元数据进行系统的程序设计的。 i c a l l 中应用层和应用支撑层中的元数据有两种形式:流程元数据,它决定 了一个流程的组成和走向:报文元数据,它决定了系统报文的解释格式,使系统 各部分之问正确传送信息。 2 2 2 应用流程中元数据的组成 对于应用流程元数据来说,其组成的一般形式是 应用层中应用流程的最大数;应用流程的分隔符; f 第一个应用流程的元数据 第一个应用流程标识; 适用于第一个应用流程的操作码集合; 第一个应用流程所含结点的元数据 应用流程结点标识;对应的支撑流程标识;对应的结点对象标识 应用流程结点标识;对应的支撑流程标识;对应的结点对象标识 ) 第二个应用流程的元数据 第二个应用流程标识; 适用于第二个应用流程的操作码集合; f 第二个应用流程所含结点的元数据 应用流程结点标识:对应的支撑流程标识;对应的结点对象标识 应用流程结点标识:对应的支撑流程标识;对应的结点对象标识 第二章设计要求的分析 ) 以上表示中,应用流程标识表示该应用流程全局唯一的流程标识:操作码是 表征应用层操作种类和特征的码;应用流程结点标识表示该结点全局唯一的结点 标识,由应用流程标识和结点在应用流程中的序号共同组成;对应的支撑流程标 识表示该应用流程结点驱动的应用支撑流程的标识;对应的结点对象标识表示该 结点对应的结点对象的标识。 其中的支撑流程标识见附录a 。 应用流程的元数据是嵌套表示的,所有的应用流程元数据组成了应用层的流 程元数据,每个应用流程元数据包括应用流程的标识、适用的操作码集合和应用 流程的组成结点元数据集合,结点元数据包括结点的标识、该流程结点对应的支 撑流程标识和对应的结点对象标识( 说明:在以上的表示中,以开头的是表明 下列元数据的意义,并非是元数据) 。 与应用支撑流程不同,并不能以应用流程的元数据就可知道该流程结点之间 的逻辑关系,即在应用流程元数据中,表示的只是流程中结点的集合,而没有流 程中边的集合。 在应用流程中,边的集合是体现在流程结点基础构件中的,由流程结点构件 内部实现该结点按一定条件转到的下一个结点的确定,将该结点的标识值置为当 前结点的标识值。对于应用流程控制构件来说,先通过结点对象标识找到该结点 对应的结点对象,在流程结点对象完成功能后,根据当前结点的标识值转到该结 点的下一个结点。 把边的关系没有体现在元数据中的原因是,相对支撑层的流程结点而言,应 用层的流程结点的关系松散的多,变化很频繁,因为完全是根据业务流程的需要 产生应用流程结点和流程的,而业务流程的变化、修改和增加是经常发生的事情。 因此,各种应用流程结点之间的逻辑关系是经常变化的,将边的关系体现在流程 结点构件的实现中,可避免元数据的经常改变和扩充,保持元数据的相对稳定。 比如对于两个业务流程,对应的应用流程的组成结点是相同的,只是结点之间的 逻辑关系不同,就可对应相同的应用流程,而结点之间转移关系的变化体现在结 点对象构件中的不同逻辑关系中。这样就不必在流程元文件中增加新的流程元数 据,不致于使应用流程元数据的量正比于业务流程的数量,导致流程元数据很大, 降低了应用流程控制构件找寻相应应用流程元数据的效率。 应用支撑层提供给应用层的元数据接口,为应用层的扩充和维护带来方便。 当应用层需要扩充应用流程时,若需要新的流程和新的功能的应用结点,可独立 客户服务中心应用支撑层程序设计接口 的实现该结点构件,确定其对象标识和对应的支撑流程标识,确定该流程的标识 和操作码,根据该结点所属的应用流程标识确定该结点的结点标识( 是全局唯一 的) ,将这些元数据信息按照应用流程元数据的格式加入到其中;若流程中需要新 的已存在的应用结点,只需找到该结点的对象标识和对应的支撑流程标识,根据 该结点所属的应用流程标识确定该结点的结点标识( 是全局唯一的) ,将这些元数 据信息按照应用流程元数据的格式加入到其中;对于流程的结点之间逻辑关系的 变化,不必修改流程元数据,而在应用结点的实现中修改结点之间转移的逻辑关 系,即可体现出流程结点之间逻辑关系的变化。 这样,应用流程的设计者可以通过修改流程元数据的方式修改和增加新的应 用流程,流程的设计者可集中精力于结点功能的设计( 这其中包括结点完成操作 的设计和根据操作结果确定下一个结点的标识值) ,无需考虑修改原有的流程控制 程序( 所有流程的控制只有一个控制程序,此控制程序是应用支撑层提供的) 或 发计新的针对新流程的控制程序,这样对于应用层的维护和扩展起到很好的作用, 增加了应用层的柔性。 2 3i c a l l 中的c + + 支撑类接口 2 3 1c + + 支撑类的实现原理 i c a l l 系统采用面向对象的方法开发,采用了c + + 类的方式组织系统的程序。 i c a l l 系统的应用层也是由c + + 的类组成的。 面向对象语言有三个基本特性:封装性,继承性和多态性。封装性指以类作为 基本的编程单位,类是数据和作用于这些数据的操作的集合,代表现实世界中某 一类有共同特点的事物,因为现实世界中行为往往都是加于特定范围的数据的, 因此类符合现实世界事物的自然性。继承性指子类可得到父类的行为和数据,多 态性指同样的消息对于父类和子类可引起不同的结果。 在这三种特性中,继承性是支持软件重用的重要手段。继承是在类、子类以及 对象之间自动的共享数据和方法的一种机制,继承性允许程序设计人员在设计新 的类时,只需考虑与已有的父类所不同的部分,而继承父类的内容作为自己的内 容。子类可以继承父类的行为( 操作、方法等) ,也可以继承表示( 实例变量) 。 如果父类中的某些行为不适用于子类,则程序设计人员可以重置( o v e r r i d i n g ) 这 些方法。继承性机制体现了一条重要的面向对象程序设计原则:程序员在构造程 序时,不必从零开始,而只需对差别进行程序设计,这条原则是面向对象程序设 第二章设计要求的分析 计支持程序重用的本质所在。 在继承机制中。重置是一种子类继承父类的重要手段,重置的基本思想是:通 过一种动态联编机制的支持,使得子类在继承父类界面定义的前提下,用适合于 自己要求的实现去置换父类中的相应实现,这样,相同的消息发给同一父类的不 同子类会产生不同的行为。在c + + 语言中,通过虚拟函数( v i r t u a lf u n c t i o n s ) 的定 义进行重置的申述,通过虚拟函数跳转表( v i r t u a lf u n c t i o n s j u m pt a b l e s ) 结构来实 现重置方法体的动态联编。通过这种方法,为一个父类的所有子类提供了统一的 接口,其目的也是为了可重用性 2 】。 c 十+ 支撑类正是这种供应用层类继承的父类。提供标准的支撑数据结构和操作 接口,操作的实现允许重置:由用户通过面向对象语言中的继承性机制,来自行 定义各种类型的应用结点,同时保证操作接口的一致性,以利于应用支撑层的统 一控制。 i c a l l 系统的应用支撑层提供了三个支撑类。 1 结点支撑类,该类是应用层结点设计的基本支撑类,其定义如下: c l a s sa p p n o d e g a s e p r i v a t e : a p p b a s e c o p o n e l l t* t p b a s e : v o i d * t p c u t ie l | t w o rk s p a c e : p r o t e c t e d : v o i d 木t p a p p w o r k s i ) a c e : l o n g 1 c u r r e n t n o d e i d : v i r t u a li n t n o d e g e g i n ( 1 0 n g1 m s g t y p e ,v o i d * v p b a t a ) : v i r tu a l i n t n o d e e n d ( 1 0 n gl m s g t y p e ,v o i d * v p d a t a ) : v i r t tn a li n t i n i t i a l a p p w o r k s p a c e ( 1 0 n g1 m s g t y p e ,v o i d * v p d a t a ) : v i r t u a li n t s e t a p p w o r k s p a c e ( 1 0 n g1 m s g t y p e ,v o i d * v p d a t a ) : i 1 1 t l o w e r l e v e l r e q u e s t ( 1 0 n g1 m s g t y p e ,v o i d * v p d a t a ) : i 1 1 ts e l l d r e s p o l l s e t o c l l e n t ( 1 0 n gi m s g t y p e ,v o i d * v p d a t a ) : : 对于该支撑类的解释是: 数据成员t p b a s e 和t p c u r r e n t w o r k s p a c e 是应用支撑层操作所需的量, 应用层不必关心。 数据成员t p a p p w o r k s p a c e 是指向应用层工作空间的指针。由重置后的成 员函数i n i t i a l a p p w o r k s p a c e 和s e t h p p w o r k s p a c e 将数据传输报文中的 应用层数据分离后置入和取出结果,供成员函数n o d e b e g i n 和n o d e e n d 访问,同时也是异步执行的应用流程中结点之间的状态传递手段。在成 员函数n o d e b e g i n 和n o d e e n d 中,应对t p a p p w o r k s p a c e 进行相应的应用 层工作空间类型强制,再进行相应的应用层操作,可以对 1 8客户服务中心应用支撑层程序设计接口 t p a p p w o r k s p a c e ( 该指针指向的数据) 进行任意修改,但不得修改 t p a p p w o r k s p a c e 本身。 数据成员l c u r r e n t n o d e i d 是当前结点的标识。成员函数n o d e b e g i n 和 n o d e e n d 若适用于多个结点,可根据i c u r r e n t n o d e l d 来定义不同结点下 的不同操作。另外在成员函数n o d e e n d 中,应根据应用支撑层的响应结 果和应用逻辑确定下一结点,并将相应的结点标识( 不是结点对象标识) 赋予l c u r r e n t n o d e i d ( 应用支撑层的控制程序将根据该标识确定下结 点) 。若当前结点已经是应用流程的某个终止结点,则赋予 l c u r r e n t n o d e i d 的值必须为一1 。 成员函数n o d e b e g i n 是要求应用层定义的结点对象类进行重置的虚拟函 数。其基本职能是: a 。根据传入的参数( 若】m s g t y p e ) = o ,v p d a t a 为客户进程的请求; 若l m s g t y p e s m a l l f l o w c h a r t e n t r y ( 1 m s g t y p e ,v t ) d a t a ,t p c u r r e n t w o r k s p a c e ) : 和 t p b a s e 一 f l o w c h a r t r e s p o n s e t o c l i e l l t ( 1 m s g t y p e ,v p d a t a ,t p c u r r e l l t w o r k s l ) a c e ) : 其中t p b a s e 是c s c 进程构件的地址,t p c u r r e n t w o r k s p a c e 是a p p n o d e b a s e 的私有属性,其值是流程控制构件赋予的。 在此类的定义中,四个虚拟函数是应用层结点类的主体,其中n o d e b e g i n 和 n o d e e n d 分别是结点应用层操作前半部分和后半部分,二者之间的中间状态由数据 成员t p a p p w o r k s p a c e 通知应用支撑层保存,下一结点的标识则由数据成员 1 c u r r e n t n o d e i d 通知应用支撑层。 2 应用报文支撑类 应用结点设计中主要是对应用层消息的处理,这种消息也称为应用报文,对 于应用报文来说,有一些共有的信息,例如报文的源地址和目的地址及所有业务 都可能有的如信息文件名、流水号等,一种思路是每一种报文都有独立的类,这 样这些公用的信息的一次又一次作为类的成员,增加了编写的负担,因此应将这 些公用的信息抽取出来,作为一个应用的支撑类,利用继承的机制,应用报文类 就可在此基础上扩充。这个支撑类在应用结点设计中起辅助作用,该支撑类的定 2 0客户服务中心应用支撑层程序设计接口 义如下: c l a s sa p p b a s e s t r u c t p r i v a t e : 若干私有成员应用层不必关心 p u b l i c : l o n gl o p i d : c h a r c p a p p f i l e f i l e n a m e l e n + 1 : c h a r c p d i g i t s m a x n u m b e r + 1 : j u t i a p p r e s u l t : ij 1 t i a p p f i l e f l a g : : 其中,f i l e n a m e l e n = 4 0 :m a x n u m b e r = 3 2 ; 对于该类的解释如下: 数据成员l o p i d 是当前操作码,由应用层填写,应用支撑层使用。 数据成员i a p p r e s u l t 是应用支撑层返回的、对应用层请求的操作结果码, 应用层可据此判断当前操作的结果。 数据成员c p a p p f il e 是应用支撑层与应用层之间需传递的文件的名字。 数据成员c p dj g i t s 是应用层通过应用支撑层获得的客户拨号内容。 数据成员c p a p p f i1 e f l a g 当应用支撑层向应用层传递文件时填写为1 ,表示有文 件需要应用层接收;没有文件时,填写为0 。 3 应用结点对象标识项支撑类 在应用流程的元文件中,有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 42370-2023竞速类滑冰运动项目基础术语
- 炭黑生产工安全知识测试考核试卷含答案
- 2024年三年级道德与法治下册第四单元检测卷及答案
- 学习师德师风心得体会(政治教师版)
- 修锯工安全实操知识考核试卷含答案
- 《GBT 30559.3-2017 电梯、自动扶梯和自动人行道的能量性能 第 3 部分:自动扶梯和自动人行道的能量计算与分级》专题研究报告
- 《GBT 5170.10-2017 环境试验设备检验方法 第 10 部分:高低温低气压试验设备》专题研究报告
- 吸音材料制造工操作知识考核试卷含答案
- 《GBT 35515-2017 化学品 鱼类雌激素、雄激素和芳香酶抑制活性试验方法》专题研究报告
- 重过磷酸钙生产工岗位安全技术规程
- GB/T 21650.1-2008压汞法和气体吸附法测定固体材料孔径分布和孔隙度第1部分:压汞法
- GB/T 17622-2008带电作业用绝缘手套
- GA/T 416-2003道路交通防撞墩
- 湿性愈合和新型敷料选择课件
- NBC气保焊使用说明书
- 《垂体危象》课件
- DB15T 2295-2021 即食燕麦片标准
- 木制品招标文件
- 小学心理健康《不做小拖拉》
- 国际贸易第七版ppt课件(完整版)
- CEMS比对监测和质量控制
评论
0/150
提交评论