1、e-Channels 渠道整合渠道整合CTP框架开发培训框架开发培训 2004 中国工商银行软件开发中心基于基于CTP的开发的开发e-Channels 渠道整合渠道整合CTPCTP的相关概念的相关概念Core Transaction Platform,B/S应用系统核心交易开发和运行平台实现了一个以一系列的松散结合的组件组成的结构模型。通过对业务系统进行抽象,提取相同或相似的处理模式构造出公用组件(服务或交易步骤),以便在开发新应用时重用。是参数化的系统,系统的各项配置定义通过XML语言进行描述。多渠道整合应用解决方案(B/S应用技术体系一体化)。e-Channels 渠道整合渠道整合CTPC
2、TP的相关概念的相关概念通过提供一些交易组件、交易模板有效规范应用系统开发进度、开发质量,保证系统性能和稳定性CTP是一个纯Java的Web应用框架,并非一个完整的业务应用e-Channels 渠道整合渠道整合CTPCTP框架层次结构框架层次结构最顶层是与客户交互的页面展示技术,主要表现手段是JSP页面,涉及的技术包括HTML,基本的Java语法和脚本语言JavaScript;中间层的业务逻辑处理,主要通过operation(交易)来完成,作为表现手段的.op文件,是标准的XML语言编写的配置文件,只需进行标准的组件和参数配置即可;底层的功能实现,如与数据库连接等,利用Java代码编写,但大部
3、分功能已经被开发成公用服务和组件,用户只需要配置个性化参数即可使用这些组件,对于应用需要的特殊功能,在CTP应用中还未能提供公用组件或是用户需要对现有组件进行特殊处理,则用户需要编写或修改Java代码来实现。e-Channels 渠道整合渠道整合CTP(CTE)交易交易OpContext树树CTPCTP交易处理流程演示交易处理流程演示JSP页面页面数据数据ROOTSessionSessionOpCtxXMLOpStep1OpStep2OpStep3OpStep4XMLXMLJSPOpCtxJSP发出交易请求发出交易请求将页面数据传递给将页面数据传递给CTPJSP从这个相关的从这个相关的OpCo
4、ntext中中取得交易结果,展现内容,交易取得交易结果,展现内容,交易处理结束处理结束DB 2004 中国工商银行软件开发中心基于基于CTP的开发的开发e-Channels 渠道整合渠道整合CTPCTP的组成的组成从宏观角度来看CTE4CTP:核心交易引擎(:核心交易引擎(Core Transaction Engine)GBC4CTP:通用交易组件(:通用交易组件(General Business Component)AUTH4CTP:授权管理(:授权管理(System Auth)基础应用功能e-Channels 渠道整合渠道整合CTPCTP的组成的组成从微观的角度CTE的五大要素(OPERA
5、TION、CONTEXT、FORMAT、SERVICE、OpStep)GBC的各种通用应用功能模块(核心交易步骤、核心服务组件、数据格式处理等)各个基础应用子系统(系统权限管理子系统,柜员,菜单管理)实现各种基础功能的JavaBean 2004 中国工商银行软件开发中心基于基于CTP的开发的开发e-Channels 渠道整合渠道整合CTPCTP核心交易引擎核心交易引擎交易引擎的核心要素OPERATION:提供对交易流程的控制和执行。CONTEXT:提供对数据的访问和管理FORMAT:提供对传送数据的格式定义,对上传或下传数据进行打包解包。SERVICE:实现交易与外设或系统的服务功能。OpSt
6、ep:实现操作流程中的原子操作。e-Channels 渠道整合渠道整合CTPCTP核心交易引擎核心交易引擎核心要素的层次关系ContextDataCollectionServiceDataOperationFormatParent ContextOP Stepse-Channels 渠道整合渠道整合CTPCTP核心交易引擎核心交易引擎OperationOperation一个交易一个交易operation在在CTP应用中,通过应用中,通过XML文件定义文件定义,表现为一个表现为一个.op文件。文件。CTP应用中.op文件均放在config目录下,其中系统初始化阶段的.op文件放在”operati
7、ons”文件夹下,而系统管理的.op文件放在”auth”目录下。Operation对应一个资源:Context 包含多个操作步骤:Operation Step指向多个格式化定义:Formate-Channels 渠道整合渠道整合CTPCTP核心交易引擎核心交易引擎OperationOperationOpStepOpStepOpStepOperationcontextdataservicereferreferformatreferOperation逻辑结构图逻辑结构图makeup of relatee-Channels 渠道整合渠道整合CTPCTP核心交易引擎核心交易引擎OperationOpe
8、ration e-Channels 渠道整合渠道整合CTPCTP核心交易引擎核心交易引擎OperationStepOperationStepopStep是原子单位的交易步骤,即不能再分开的单元,它能够被多个operation重复使用,是CTP中的最小交易单元。每个opStep必须提供输入参数和返回值,operation根据返回值进行跳转控制。CTP已经提供了很多公用的opStep来进行基本业务处理。应用也可以根据需要,开发自己的opStep。e-Channels 渠道整合渠道整合CTPCTP核心交易引擎核心交易引擎DataDataData Model 是中心,所有的操作都围绕 Data Mod
9、el 进行 Data model表现逻辑表现逻辑(JSP)业务处理逻辑业务处理逻辑(Operation 或或Opstep)数据格式处理数据格式处理(Format)服务服务(Service)注:所有的数据操作,都在数据模注:所有的数据操作,都在数据模型中完成型中完成e-Channels 渠道整合渠道整合CTPCTP核心交易引擎核心交易引擎DataDataCTP提供用于定义和组织数据的类(元素)CTP提供了field,KeyedCollection,IndexedCollection三种形式的组织结构。可以通过继承类来实现自己特殊的数据组织结构。例子:e-Channels 渠道整合渠道整合CTPC
10、TP核心交易引擎核心交易引擎ContextContext以树状结构来管理资源资源共享方式:Context自底向上,可以逐层上溯,下层的context可以引用其上层context定义的数据和服务,而同层间的context不能相互引用,也不能从上到下访问每一个交易operation对应一个context,并从中 获得资源(数据和服务)可以动态加载资源结点e-Channels 渠道整合渠道整合CTPCTP核心交易引擎核心交易引擎ContextContextserverCtxsessionCtx1operCtx1operCtx2operCtx3serverData servicessessionDat
11、a servicesoperData servicesoperData servicesoperData services.交易层资源引用会话层资源引用应用层资源引用Context 结构层次图结构层次图e-Channels 渠道整合渠道整合CTPCTP核心交易引擎核心交易引擎ContextContextCTP通过context的结构来实现应用中不同层次的资源共享。serverCtx定义了整个应用可以共享的资源,所有的sessionCtx和交易的context都可以实现对其资源的引用;sessionCtx实现了会话层的资源共享,它的资源可以被所有的交易所引用;一个用户登录后直到用户会话结束时一直
12、存在的数据保存在SessionData中。交易层的context只能定义本交易所需要的资源,不能被其他交易共享。e-Channels 渠道整合渠道整合CTPCTP核心交易引擎核心交易引擎ServiceServiceSERVICES是一系列完成某一特定功能的类或JAVA BEAN,可以理解为从交易中提取出的可以共用的代码。一般而言,如果若干个不同的opStep的实现里有一段相同的代码,而且这段代码有完整而独立的意义,能完成某一特定的功能,那么可以把这段代码提取出来,写成一个service用户需要在在XML文件完成定义和引用,才能使用CTP提供的通用服务。e-Channels 渠道整合渠道整合CT
13、PCTP核心交易引擎核心交易引擎FormatFormat提供的一系列用于格式化的类Format:将指定的数据按指定的格式格式化成一个数据串UnFormat:Format的反向动作。将数据串按指定的格式解开成单个数据项。对于同一个format定义的对象,format和unformat是一对可逆的过程Format定义分为两部分FormatElements 格式化数据元素FormatDecorator 格式化字符串的分隔符e-Channels 渠道整合渠道整合CTPCTP核心交易引擎核心交易引擎FormatElementsFormatElementsCTP提供了一系列format类来格式化不同类型的
14、数据,类层次结构如下,用户可以扩展其中任一个类来定义自己的格式 2004 中国工商银行软件开发中心基于基于CTP的开发的开发CTPCTP常用交易步骤常用交易步骤e-Channels 渠道整合渠道整合CTPCTP常用交易步骤的说明常用交易步骤的说明会话检查交易步骤SessionCheckOpStep,一般作为交易配置的第一个交易步骤,用于检查Session是否超时,timeout参数可以设置Session超时时间。数据库存储过程访问交易步骤procedureAccessOpStep,交易步骤用于调用由procedureDefine参数指定的存储过程,该参数指定的是一个由用户配置完成的JDBCPr
15、ocedureDefine服务。e-Channels 渠道整合渠道整合CTPCTP常用交易步骤的说明常用交易步骤的说明交易返回页面设置交易步骤setReplyPage交易步骤用于指定交易将要返回的页面,或是XML包名。通过配置pageName参数,指定页面相对Web Content的相对路径,或是XML包名。日志交易步骤Journal交易步骤用于记录交易日志,通常在交易处理错误时执行,可以通过配置succFormat和failFormat参数设置日志记录格式。e-Channels 渠道整合渠道整合CTPCTP常用交易步骤的说明常用交易步骤的说明数据格式化交易步骤FormatOpStep交易步骤
16、,用于在交易中对交易数据集按指定的格式格式化后存放到指定的数据域中。formatName参数指定了用于格式化的格式配置名称,packMsgSaveTo参数指定了用于存放格式化后数据的数据域名称。设置错误页面交易步骤setErrorPage交易步骤,用于当交易发生错误时设置错误返回页面,参数pageName指定错误页面名称e-Channels 渠道整合渠道整合CTPCTP常用交易步骤的说明常用交易步骤的说明交易步骤分发交易步骤TranSwitchOpStep交易步骤,用于交易中根据交易数据集中的某个数据域,实现交易步骤的配置跳转。参数switch指定开关参数名称。保存持久数据步骤SaveOpPe
17、rsistDataOpStep交易步骤,用于数据的保存,此步骤执行之后,数据以字符串拼装的形式保存在SessionData中,当Itme_Code切换时,保存的持久数据会被清空。e-Channels 渠道整合渠道整合CTPCTP常用交易步骤的说明常用交易步骤的说明载入持久数据步骤LoadOpPersistDataOpStep交易步骤,将保存在SessionData中的持久数据取出来,赋值给context中的单个数据域。取出的OP持久数据的优先顺序为 前台输入场FIELD缺省值SESSION历史值。2004 中国工商银行软件开发中心基于基于CTP的开发的开发CTPCTP框架开发概要框架开发概要e
18、-Channels 渠道整合渠道整合CTPCTP框架下开发的大原则框架下开发的大原则CTP中所有的交易步骤的类申明,不能有类成员变量。除去公用函数工具PACKAGE,交易(功能菜单的最底层节点)是组织数据库package的最大单位,任何package中不应存放超过1个交易的代码。e-Channels 渠道整合渠道整合CTPCTP下交易实现的模式下交易实现的模式CTP下实现交易的模式主要指Op的粒度划分,没有一个硬性的规定,可以分为:一个简单功能写一个Op 几个简单功能合写成一个Op 在同一个页面中点击不同的命令进入不同的功能,不同的功能写不同的Op e-Channels 渠道整合渠道整合避免避
19、免OPOP过于庞大而难以理解的解决方法过于庞大而难以理解的解决方法尽量减小OP的粒度,一方面提高了OP的可理解性,另一方面,使得模块间的隔离程度得以提高;避免XML表达复杂的分支跳转逻辑,将这种分支跳转,放在存储过程中,或者JSP中;强化XML中的注释要求,帮助自己或其他开发人员进行理解。e-Channels 渠道整合渠道整合CTPCTP开发规范下允许的数据库访问模式开发规范下允许的数据库访问模式存储过程访问模式,推荐的数据库访问模式SQL直接访问模式,CTP框架的代码部分使用了这种数据库访问模式,不推荐在实际项目中使用。直接通过JDBC进行数据库访问,在CTP框架下不允许使用。e-Channels 渠道整合渠道整合
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。