TUXEDO服务设计和编码规范-融金教育

上传人:飞*** 文档编号:54740168 上传时间:2018-09-18 格式:PPT 页数:46 大小:429KB
返回 下载 相关 举报
TUXEDO服务设计和编码规范-融金教育_第1页
第1页 / 共46页
TUXEDO服务设计和编码规范-融金教育_第2页
第2页 / 共46页
TUXEDO服务设计和编码规范-融金教育_第3页
第3页 / 共46页
TUXEDO服务设计和编码规范-融金教育_第4页
第4页 / 共46页
TUXEDO服务设计和编码规范-融金教育_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《TUXEDO服务设计和编码规范-融金教育》由会员分享,可在线阅读,更多相关《TUXEDO服务设计和编码规范-融金教育(46页珍藏版)》请在金锄头文库上搜索。

1、TUXEDO服务设计和编码规范,提纲,旧版TUXEDO规范 新版TUXEDO规范,1,1.1 概述 1.2 文件体系结构 1.3 源文件结构 1.4 TUXEDO服务程序组成 1.5 文件命名规范 1.6 TUXEDO服务命名规范 1.7 编码规则,概 述,制定编码规范的最主要的目的是为了对产出代码的长期维护。通常负责维护代码的人大多都不是开发者本人,如果有一个统一的代码格式以及说明就可以减少混淆提高理解速度。因此,下列的编码规范是基于良好的编码习惯和可读性的原则来制定的。 TUXEDO服务是在UNIX C&C+或UNIX PRO*C&C+的开发环境设计和开发,对于文件排版、变量命名规范、语句

2、编写规范等不再给出,该部分内容请参考,提纲,旧版TUXEDO规范 新版TUXEDO规范,1,1.1 概述 1.2 文件体系结构 1.3 源文件结构 1.4 TUXEDO服务程序组成 1.5 文件命名规范 1.6 TUXEDO服务命名规范 1.7 编码规则,文件体系结构,Run /* 开发环境根目录 */ | - cfg /* 配置文件目录 存放TUXDEO环境参数文件 */* 数据库登录参数文件和其它参数文件 */ | - include /*头文件目录 */ | - shell /* shell脚本文件目录 */ | - bin /* 可执行文件目录 */ | - lib /* 静态库文件目

3、录 */ | - log /*日志文件目录*/ | - public /*公共功能文件目录 */ | - | - bin /*可运行程序 */ | - | - server /* TUXDEO服务端公共功能源代码*/ | - | - client /* TUXDEO客户端公共功能源代码 */ | - ()/* 应用程序目录 */ ,提纲,旧版TUXEDO规范 新版TUXEDO规范,1,1.1 概述 1.2 文件体系结构 1.3 源文件结构 1.4 TUXEDO服务程序组成 1.5 文件命名规范 1.6 TUXEDO服务命名规范 1.7 编码规则,源文件结构,C、pc、cpp文件都在文件头加入文

4、件注释。 H头文件结构如下: #ifndef _DATA_DEF_H_ #define _DATA_DEF_H_ #inlcude /*incluede区*/ #define MM 30 /* 宏定义区 */ /* 结构、类、变量等定义区 */ #endif,提纲,旧版TUXEDO规范 新版TUXEDO规范,1,1.1 概述 1.2 文件体系结构 1.3 源文件结构 1.4 TUXEDO服务程序组成 1.5 文件命名规范 1.6 TUXEDO服务命名规范 1.7 编码规则,TUXEDO服务程序组成,* 业务处理程序* TUXEDO服务程序* 公共程序文件,提纲,旧版TUXEDO规范 新版TUX

5、EDO规范,1,1.1 概述 1.2 文件体系结构 1.3 源文件结构 1.4 TUXEDO服务程序组成 1.5 文件命名规范 1.6 TUXEDO服务命名规范 1.7 编码规则,文件命名规范,业务处理文件TUXEDO服务文件头文件命名规范,业务处理文件命名规范,文件名称模板: cXY.Y.cpc - 文件名第一个字符,为固定字符c(Component)X - 文件归属的子系统编号Y.Y - 功能缩写,建议不超过20个字符 .cp - pro*c文件后缀 文件名称举例:cxCustInfo.cp,TUXEDO服务文件命名规范,文件名称模板:RXYY.cp 名称模板说明:R - 文件名第一个字符

6、,为固定字符R()每个文件定义一个或多个TUXEDO服务,组成一个服务组X - 文件归属的子系统编号Y.Y - 功能缩写,建议不超过20个字符.cp - pro*c文件后缀即使程序文件不包括对数据库操作,为了统一风格,建议设计为*.cp文件 文件名称举例:RxGetFMCode.cp,头文件命名规范命名规范,头文件名称模板:XYY.h 名称模板说明:X - 文件归属的子系统编号YY 业务描述,建议不超过20个字符.h - 后缀 头文件名称举例: Xcm.h,提纲,旧版TUXEDO规范 新版TUXEDO规范,1,1.1 概述 1.2 文件体系结构 1.3 源文件结构 1.4 TUXEDO服务程序

7、组成 1.5 文件命名规范 1.6 TUXEDO服务命名规范 1.7 编码规则,TUXEDO服务命名规范,服务名称模板:sX ABCD 名称模板说明:s - 服务名第一个字符,为固定字符s(server)X - 文件归属的子系统编号 说明:TUXEDO服务在服务组文件定义 服务名称举例:sxGetCustName,结构体的命名,结构体名称模板:sXAJABC s - 结构名称第一个字符,小写,struct X - 结构归属的子系统编号 AJ - 业务含义,建议不超过20个字符 ABC 有三种情况In 输入参数Out 输出参数,提纲,旧版TUXEDO规范 新版TUXEDO规范,1,1.1 概述

8、1.2 文件体系结构 1.3 源文件结构 1.4 TUXEDO服务程序组成 1.5 文件命名规范 1.6 TUXEDO服务命名规范 1.7 编码规则,服务编码规则 -1,规则1 常连接必须定义放在tpsvrinit函数中,断开放在tpsvrdone函数中。 int tpsvrinit(int argc, char *argv) spublicDBLogin(NULL,NULL,“sGetWorkData“,LABELDBCHANGE);return(0); void tpsvrdone() spublicDBClose(LABELDBCHANGE); ,服务编码规则 -2,规则2 必须使用ge

9、t_input_parms32_2函数取TUXEDO的传入参数。 废弃get_input_parms32函数。 规则3 必须使用add_value32函数向TUXEDO中压入一个值。 规则4 必须使用Fget32函数从TUXEDO中读取多行中取一个值。 规则5 数据库登录必须用spublicDBLogin函数登录。 规则6 必须使用sChkDBLogin函数校验数据库连接。 此函数用于数据库常连接的数据库连接验证。,服务编码规则 -3,规则7 TUXEDO服务中不能出现SQL语句,所有的SQL语句必须出现在公用函数中。 规则8 控制注释的输出。注释采用统一的注释控制规则,对日志进行非类,分监控

10、类、调试类等,原则上服务中不能出现printf等语句。 使用DBUG_ENTER、DBUG_PRINT等函数。 规则9 调用服务统一入口函数CallTuxedo,跟踪服务的入口参数信息。 规则10 输入输出参数的长度不能超过1000个字节,否则会溢出。 规则11 TUXEDO的错误代码和错误信息必须放在SVC_ERR_NO32和SVC_ERR_MSG32中,不能占用GPARM32_X的位置。,服务编码规则 -4,规则12 TUXEDO的返回值的数量不能超过50个;如果超过50个参数,参数按行放在第一列GPARM32_0中。 规则13 输出参数缓冲的内存分配,必须调用函数MemoryAlloca

11、te32。 规则14 一个TUXEDO SERVER中的SERVICE不能超过10个。 规则15 每个SERVICE的函数说明,必须在SERVICE前说明清楚,包括描述、输入输出,返回值。,提纲,旧版TUXEDO规范 新版TUXEDO规范,2,2.1 技术架构 2.2 开发流程 2.3 案例开发,技术架构-概述,技术架构-uType介绍,接口标准化,所有系统函数的接口格式统一 扩展性强,在接口不变的情况的下,参数可以树状扩充 升级、维护简单,风险小 跨平台应用,可以在任意平台间轻便移植,技术架构-uType介绍,【重点关注蓝色字体部分的描述】 typedef struct tagutype u

12、type; typedef struct tagueint type; /包含的uType数据条数union char v_char;int v_int;long v_long;double v_double;char * p_char;utype * p_utype; value; ue;struct tagutypeint cnt;int capacity;ue *ppe; ;,技术架构-uType介绍,uType函数原型 要求系统内的函数全部采用一下接口进行描述,不同函数只是functionName不同。 函数原型如下: utype* functionName(utype *puInPa

13、ram, TCtrlInfo *ptCtrlInfo) 3.2 uType接口数据定义 utype是个树状的数据结构描述,在uType结构体内可以无限级扩展。,技术架构-组件分层,SERVER,SERVICE,BP(Business Process),BC(Business Component),所有业务集中在BC/BP, Server/Service不能有逻辑,提纲,旧版TUXEDO规范 新版TUXEDO规范,2,2.1 技术架构 2.2 开发流程 2.3 案例开发,开发流程-目录结构,开发目录结构: framework /* 开发环境根目录 */ bin /* 可执行文件目录 */ inc

14、lude /* 头文件目录 */ lib /* 静态库目录 */ src /* 源代码目录 */ baselib /* 基础库类库 */ BossLib /* BOSS基础库目录 */ 。 /* 其他基础库 */ custsvc /* 客户服务子系统 */ business /* 业务组件 */ custsvcBCP /* 原子服务 */ server /* 业务组件发布 */ prodmng /* 产品管理子系统 */ 。 /* 其他子系统 */ svctest /* 业务测试目录 */ tools /* 辅助工具 */ test /* 测试目录 */ synlib /* 动态库目录 */

15、tools /* 辅助工具 */,开发流程-开发步骤,开发流程-开发步骤,以“客户服务”为例: 原子服务开发 使用autoBC 工具生成原子服务 原子服务的命名规则:c + 操作的表名 + .cpp,例如cdCustMsg.cpp 内部函数命名规则:c + 数据操作符(Q、I、U、D)+ 操作的表名 + .cpp,例如:cQdCustMsg(查询用户资料),cIdCustMsg(插入用户资料), cUdCustMsg(更新用户资料), cDdCustMsg(删除用户资料) 修改makefile文件,将生成的原子服务编译成库libcustsvcBCP.a,供业务构件使用 将生成的原子服务函数在头文件中custsvcBCP.h声明 业务组件开发 业务组件发布,开发流程-开发步骤,以“客户服务”为例: 原子服务开发 业务组件开发 编写业务组件,执行一个完整的业务逻辑,需要调用libcustsvcBCP.a中的原子服务 业务组件的命名规则:pub + 业务名称 + .cpp,例如:pubCreateUser.cpp 修改makefile文件,将业务组件编译成客户服务组件库 libcustsvc.a 将生成的业务组件在头文件中 custsvc.h声明 业务组件发布,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号