交通银行管理信息系统EOS开发规范_第1页
交通银行管理信息系统EOS开发规范_第2页
交通银行管理信息系统EOS开发规范_第3页
交通银行管理信息系统EOS开发规范_第4页
交通银行管理信息系统EOS开发规范_第5页
已阅读5页,还剩71页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BANKOFCOMMUNICATIONS

交通银行软件开发中心

交通银行管理信息系统

EOS开发规范

版本:1.0

日期:2006年4月

0交通穿行

BANKOFCOAMMJHICAVIOMS交通银行管理信息系统开发规范

目录

1.引言4

1.1.编写目的4

1.2.背景4

1.3.定义4

2.环境说明4

2.1.开发工具4

2.2.开发环境4

3.应用系统命名规范5

3.1.系统的描述5

32开发目录编排与命名5

3.2.1.文档目录5

3.2.2.文档规范6

3.2.3.需求/比能编号规范6

3.2.4.二级模块与构件包定义6

3.2.5.程序目录命名7

.EOSServer文件目录及说明7

3.252.JBOSSServer文件目录及说明8

3.3.数据库命名规范10

3.3.1.表命名规范

3.3.2.字段命名规范

3.4.EOS构件命名规范14

3.4.1.构件命名规范14

3.4.2.运算逻辑命名规范15

3.4.3.handle命名规范16

3.4.4.Tag命名规范16

3.4.5.业务逻辑命名规范16

3.4.6.展现逻辑命名规范16

3.4.7.查询实体的命名规范17

3.4.8.JSP/HTML命名规范17

4.应用系统开发规范18

4.1.应用架构介绍18

4.2.EOS构件开发规范19

4.2.1.运算逻辑开发规范19

4.2.2.业务逻辑开发规范20

4.2.3.展现逻辑开发规范24

4.2.4.页面逻辑(JSP)开发规范25

4.2.4.1.JSP/HTML代码编写规范26

4.2.42其他规范27

424.3.页面框架与布局29

424.4.基于性能方面的有关原则36

共76页第2页

0交通穿行

BANKOFCOAMMJHICAVIOMS交通银行管理信息系统开发规范

4.3.HTTPSession操作限制37

4.4.Java程序代码开发规范37

4.5.业务字典的命名规则41

4.6.数据库操作规范41

4.7.其他规范41

5.其他规范42

5.1.公共模块的使用方法42

5.1.1.分页模块的使用42

5.1.2.排耳模块42

5.1.3.日志模块42

5.1.4.权限校验模块43

5.1.5.公用页面43

5.2.系统错误码使用规范43

5.2.1.错误码编码规则43

5.2.2.错误码定义和使用43

5.2.3.错误码分配43

5.3.数据权限级别定义:43

5.4.配置管理规范44

5.4.1.CVS操作规范44

.基本概念44

.设置示例44

5.4.13.开发使用规范45

5.4.2.Bug管理规范58

5.4.2.1.登陆系统58

5.422.注销系统59

5.4.23.查看问题59

5.424.创建、维护版本60

5A2.5.创建bug61

5.4.26上传附件63

5.4.2.7.修改bug65

5.428.重开bug66

542.9.关用bug67

0.分配bug69

1.回复bug70

2.Bug生命周期72

5.5.SQL语言开发规范73

5.5.1.SQL命令的类型73

5.5.2.SQL命令的格式73

5.5.3.SQL命令的语法73

5.5.4.高效的SELECT语句75

共76页第3页

0交通邻行

BANK0*COAMMJHICAVIOMS交通银行管理信息系统开发规范

1.引言

1.1.编写目的

为了保证交通银行的管理信息系统的开发过程中各个小组和成员的程序结构和开发框

架的一致性以及增强代码的nJ维护性,在遵循EOS框架规则的基础.匕建立基础业务框框

机系统的开发规范,作为本项目相关的其他人员开展工作的基础和依据,并作为项目质量评

估的重要标准。

12背景

令软件系统名称:

<任务提出单位:交通银行开发中心

十任务开发单位:

◊系统用户:开发中心、管理信息系统开发商

13定义

I)EOS:上海普元公司提供的面向构件的中间件平台,作为本项目应用软件的技术平台

2)构件:本规范所提到的构件及构件包的概念,均指EOS中的构件与构件包

3)FBFRAME:基础业务框架

2.环境说明

2.1.开发工具

使用EOS5.IStudio作为J2EE应用的开发工具;

22开发环境

EOS5.1Studio;

DB:DB28.2client

配置管理:CVS客户端

配置要求:P42.0以上内存5I2以上建议IG

共76页第4页

0交通穿行

BANKOFCOAMMJHICATIOMS交通银行管理信息系统开发规范

3.应用系统命名规范

3.1.系统的描述

交通银行在未来阶段中将规划多个管理信息系统,为了区分出各个系统,统一给各个

项目命名,名称为两种,分别是缩写名称和全称名称。缩写名称3个小写字母表示,主要用

于在构件名称中标识Package和数据库表命名。

缩写名称全称名称

bss银行业务标准系统

wms财富管理系统

cms资金管理系统

pms定价管理系统

bas审计支持系统

chr人力资源系统

3.2,开发目录编排与命名

3.2.1.文档目录

文档目录:

CVSROOT.—CVS根目录

1—(系统缩写名称)——项目根目录

|—doc-文档根目录

I—1-项目管理

III—计划

II—周报

II1会议纪要

I-2-业务文档

I1—3-需求文档

I-4-设计文档

II1接口设计

II—数据库设计

II1界面设计

II1设计说明书

I-5-测试文档

II1集成测试

II1用户测试

共76页第5页

0交通穿行

BANKOFCOAMMJHICAVIOMS交通银行管理信息系统开发规范

Ij-部署文档

II|install——系统初始化按照所需脚本

I-7-其他文档

1src——源码根目录

1—(系统缩写名称)EOSproject

3.2.2.文档规范

1)文档命名规范:

系统缩写名称++中文文档名。

如:《WMS_概要设计说明书.doe》

修改者必须在文档中注明修改时间、版本、和大致内容

2)文档编写要求:

•文档工具及工具版本、文件格式要求:

■Word2000及以上版本

■文本编辑器(如UltraEdit)

■所绘图形要求提供原始文件

•在Word中的插图尽可能使用JPG格式,以降低WORD文档的大小

3.2.3.需求/功能编号规范

需求编号规范:“Req”++一级模块编号+"」+二级模块编号++功能点编

功能点(用例)代码编号规范:“Fea”++一级模块编号++二级模块编号+

“・”+功能点编号

注:

1.“Fea”表示功能(Feature),MReqn表示需求(Requirement)

2.一级模块对应一个业务主题(编号为01-99),二级模块对应业务主题下的构件包

(编号为01-99),功能点为构件包卜.的具体功能(编号为01-99)

3.2.4.二级模块与构件包定义

二级模块与EOS构件包命名•致:系统缩写名称若干英文单词组成的业务描

述。,如:财富管理系统调查(wms_survey)

系统一级模块二级模块包名

角色权限管理系

组织机构权限管理wms_role

统(role)

基础业务框架

组织机构管理系

wms_org

统(org)

共76页第6页

0交通穿行

BANKOFCOAMMJHICAVIOMS交通银行管理信息系统开发规范

注:

1.名称全部使用英文小写

2.更细的功能分解,参见项目文档

3.系统管理部分的权限管理和机构管理在EOS提供的构件包基础上修改,并作

为项目中的一部分

3.2.5.程序目录命名

.EOSServer文件目录及说明

臼己primeton5

eosserver业务逻辑发布目录

bizlogic

E仁)dbscripts

0logs日志文件目录

田Oprlogic

®◎source、展现逻辑发布目录

k%upload

说明:

I、对于业务逻辑、展现逻辑和数据实体文件,是由EOS提供发布时自动上传注世,不

需要手工COPY文件到相应目录

2、上图中除标注外的其余目录均为非必要目录

共76页第7页

0交通穿行

BANKOFCOAMMJHICAVIOMS交通银行管理信息系统开发规范

3・2.5.2.JBOSSServer文件目录及说明

共76页第8页

交通银行管理信息系统开发规范

i3Oprimeton5

[±]__jeosserver

国它|ide

臼0jboss-3.2.5JTBOSS根目录

Lbin

一)client

S_jdocs

Enjdkl41

-Ilib

Bi口server

回©all

0_jdefault

i+㈡conf

田Qdata

[?」deploy

Beos4jboss

□odefault,warEOS应用的WEB根目录

田fbfile

+fbreport

fflfbsender

images

internet

_JBNCOMMON

口B1TDICT

S?BNOM

css

debug

eosapp

foundation

Bimages

role

scripts一尤文件目录

tagsample

thAfflA

口style。图片及样式文件目录

口stylel

力tfFCUEHT

用_jWFCOMMON

QWFDEFMGR

IQWFINSTMGR

:,1work

+;_jpkg_demo

困㊁WEB-IHFTLD/WEB.XM戊件目录

30yytest

[+eosmgr.warEOSManager应用目录

+」http-invoker,sar

[+Jjbossweb-tomcat50.sar

EO加

+jmx-console.war

+_jjmx_invoker-adaptor-server.sar

')management

BelibEUS相关JAR及bizlets的jar文件部署目录

,+口ext

Qlog

JBOSS日志文件目录

田Otmp

E口work

Smiaxin

m

共76页第9页

0交通穿行

BANKOFCOAMMJHICAVIOMS交通银行管理信息系统开发规范

3.3.数据库命名规范

3.3.1.表命名规范

•表名构成:系统缩写+_+对象名称(英文单词或英文缩写)+数据库对象后缀,例如业

务标准系统的某个表名:BSS_ACCOUNT_TD

•表名全部使用大写

•表名建议不要太长(15个字符以内),如果太长,请使用单词的缩写

•对象名称不能使用汉字

•对象名称不能使用中文拼音或中文拼音的首字母

•对象名称尽可能不使用阿拉伯数字

•必须保证你的对象名称没有和保留词、数据库系统或者常用访问方法冲突

•绝对不要在对象名称的字符之间留空格

•如果对象的名称仅有一个单词,则不使用缩写

对象名称对象类别命名规则(加前缀)

表业务数据表BSS_对象名_TD

代码表BSS_对象名_TC

关联表BSS一对象名一TJ

系统定义表BSSJ?寸象名_TS

键和索引主键BSS_对象名_PK

外键BSS_对象名_FK

索引BSSJ?寸象名」X

视图BSS_对象名_VIEW

包BSS_对象名_PACK

存储过程BSS_对象名_PROC

函数BSS_对象名_FUNC

触发器BSS_对象名一TRI

3.3.2.字段命名规范

•字段名全部大写

•不同单词之间使用

•字段名建议不要太长(15个字符以内),如果太长,请使用单词的缩写

共76页第10页

0交通穿行

BANKOFCOAMMJHICAVIOMS交通银行管理信息系统开发规范

333.属性默认类型定义(参考)

属性类别类型长度备注

人的姓名CHAR45

电话号码CHAR30

部门CHAR90

单位/机构名称CHAR150

地址CHAR150

判断字NUMBER10:否1:是

时间、日期DATE

意见、理由、描述、VARCHAR22000

简介、备注CLOB大于1000请采用CLOB类型

图片BLOB

金额NUMBER8,2

比例NUMBER3,2

3.3.4.设计规范

一般必须满足三个数据库设计范式

•范式一:表结构中不能含有任何重复的数据字段。

违反该范式的例子:

求职人员表:

求职人员编号求职人员姓名联系电话1联系电话2

C001张二6317997563179976

C002李四6451640864516469

问题:若增加一个“联系电话3”则要修改表结构,原来的应用程序也将重新修改。

正确处理:

求职人员表:

求职人员编号求职人员姓名

C001张三

C002李四

求职人员联系表:

求职人员编号序号联系电话

C0010163179975

C0010263179976

C0020164516408

C0020264516409

•范式二:要求每一列均函数性地依赖于主关键字。

违反该范式的例子:

物业分布表:

共76页第11页

交通银行管理信息系统开发规范

分布点编号所在地址所在城市

H001蒲汇塘路上海

H002漕宝路上海

H003汉中路匕海:

主要服务表:

服务编码服务收费

POI70.99

P0221.C0

P03502.54

服务记录表:

分布点编号服务编码所在地址任务描述日期

H002P02漕宝路树木修剪1997/11/15

H002P03漕宝路上油1997/12/01

H003P01汉中路熔炉1997/12/03

问题:服务记录表是以“分布点编号”和“服务编码”作为主关键字。“所在地址”和“任

务描述”两列不完全函数性地依赖于主关键字。显然服务期间地址通常是不变的,不管在什

么地方执行任务,特定任务的描述应该是一样的。

正确处理:

主要服务表:

服务编码服务收费任务描述

P0170.99熔炉

P0221.00树木修剪

P03502.54上油

服务记录表:

分布点编号服务编码日期

H002B021997/11/15

H002P031997/12/01

H003P011997/12/03

•范式三:表中记录符合第二范式且不存在传递依赖,当表中含有一定其他列的非主列时,

存在传递依赖。

违反该范式的例子:

学生考试成绩表

学号课程考试日期成绩累计平均

S001CIS0911997/10/1784S1

S002MGT1001997/10/177277

S003CIS0911997/10/17939()

问题:“学号”,“课程,,和“考试口期”为主关键字。“累计平均”列代表该学生所有课程成

绩的平均,这列传递依赖于“学号”歹I」,因此不符合第三范式。

正确处理:

学生个人信息表

学号姓名累计平均

S00I张二91

共76页第12页

0交通邻行

BANK0*COAMMJHICAVIOMS交通银行管理信息系统开发规范

S002李四80

S003王五78

学生考试成绩表

学号课程考试日期成绩

S001CIS0911997/10/1784

S002MGT1001997/10/1772

S003CIS0911997/10/1793

特姝情况可不用设计范式

*存储计算值到数据库中。

*将历史信息分割到其他表中。

存储计算值:通常,一个设计良好的关系数据库不存储任何计算数据如总和,平均值,最大

值和最小值。这些数据通常在运行时利用基本数据来计算。然而,有些场合把计算值储存起

来可能更简单,更快,更明智。

比如:

旅客表:

旅客编号姓名

Z001张三

・・・

L004李四

・・・

W008王五

飞行情况表:

旅客编号飞行次数飞行日期飞行里程

Z001111998/01/027832

•••

L00418001998/02/037743

・・♦

W008271998/04/03743

问题:“飞行情况表”会很快增加,渐渐达到几万行。旅客若打电话询问自己飞行有多少公

里,希望立刻得到回答,然而查询“飞行情况表”并把所有单个里程加起来可能要花费几秒

的时间。这时就需要把总和信息存储起来,以供快速查询。

正确处理:

旅客编号姓名旅客里程

Z001张三73873

・・・

L004李四92923

・・・

W008王五8727

为保持总公里数的相对实时性,可以每晚运行一个加总程序更新总和,这样做可至少带来两

个好处:

其一:总公里数可快速获取。

其二:更好地平衡负载。繁重的加总工作放在晚上处理.

共76页第13页

0交通穿行

BANKOFCOAMMJHICAVIOMS交通银行管理信息系统开发规范

为了更快更新,从而得到更准确的数据,需要使用类似触发器的方法来得到最新的数据。

查找历史:假设维护一个信用卡支付系统,顾客通常打电话来了解自己最近的收支情况。偶

尔他们想知道几个月前的」攵支情况。在这个应用中最主要的表如下:

业务交易表:

交易编码客户编码使用日期金额

T0001C20211997/11/1414.88

・・・・・・・・・

T1012C30001997/11/965.9()

问题:该表会很快增长到几百万行,查找一个客户的所有记录需要几秒钟。事实」.顾客和服

务人员对这反应时间都有抱怨。

改进方法一:由于客户一股只查询最近月份的交易信息,可以另加两个同样的缓冲表,每月

底,进行一次数据移动即可(把最近月份的数据删除)。

改进方法二:可利用其“分区”的概念,通过复制机制,将一个数据库复制到另外一个数据

库中。

3.3.5.其他

•保证数据完整性

■使用事务提交概念

■使用触发器等手段

■设置外键

•数据库维护(整理,备份,恢复)

•数据库访问操作必须考虑网络多用户使用冲突问题

•对较大系统,需要考虑数据安全性,数据分布,数据复制,数据仓库等等

•必须考虑数据库访问速度,对丁数据量较大的表,一定耍加索引

3.4.EOS构件命名规范

3.4.L构件包及构件命名规范

1、EOS中以构件包为复用的基本对象,构件包中按类别可以包含运算逻辑构件、业务逻辑

构件、展现逻辑构件、页面构件、数据逻辑构件、工作流构件,每类构件支持定义多个

构件,以下是各种类型构件的命名规范:

a)构件包:构件包名称=系统缩写+功能模块名称,例如ehjemp

b)运算构件:如果构件包只定义一个运算构件,则缺省命名为bizlel

c)业务构件:业务沟件根据业务类别来命名,使用biz做为开头。如bizorg、bizmenu

d)展现构件:业务构件根据业务类别来命名,使用pr做为开头。如prorg、prm,nu

c)页面构件:建议一个构件包只定义一个页面构件,对应一个页面文件目录,名称统

一使用page,如果构件包中使用其他非jsp的页面资源加图片.js脚木,这些资源

共76页第14页

0交通穿行

BANKOFCOAMMJHICAVIOMS交通银行管理信息系统开发规范

文件不建议和jsp资源混在一起,图片资源保存在名称为“image”的页面构件中,

js脚本保存在“script”的页面构件中。

0数据构件:构件包只定义一个数据逻辑构件,则缺省命名为data

g)流程构件:构件包只定义一个流程构件,则缺省命名为wf

2、构件包及构件命名均为小写字母,名称长度最好控制在15个字符以内,如果太长,请

使用单词缩写。

3、为保证生成文档的可读性,在创建构件包的时候,要求填写构件包的描述,或者在创建

后,通过属性窗口设置,如下图:

4、为保证生成文档的可读性,在创建构件的时候,要求填写构件的描述,或者在创建后,

通过属性窗口设置,如下图:

342.运算逻辑命名规范

1、运算逻辑类路径规划:所有java都在com.bankcomni.系统缩写名称上izlets目录中,系统

相关的包都在这个目录下在使用包名建立,如机构管理包:com.bankcomm.系统缩写名

称.bizlets

2、运算逻辑类名参照标准JAVA编码规范,类根据业务来划分,类名建议使用业务对象名

称,由多个单词构成时,每个单词首字母大写,每个运算逻辑类包含一组具有某些共同

特性的运算逻辑,禁止将运算逻辑杂乱无章分布在不同的运算逻辑类中。正确的示例如

下:

com.bankcomm.系统缩写名称.bizlcts.OrgManager:包含机构管理相关的运算逻辑

共76页第15页

0交通穿行

BANKOFCOAMMJHICAVIOMS交通银行管理信息系统开发规范

3、运算逻辑名称="BL_”+动作+所操作的对象,其中动作单词首字母小写。为保持运

算逻辑名称的精简,允许动作和所操作对象名称使用可理解的缩写形式。以下常见的运

算逻辑:BL_getRandomNuniber>BL_padStringLeft、BL_insertEntity等

4、运算逻辑以“BL_”开头,以下格式均不符合规范:“BL”、“BL-”

5、某些运算逻辑支持参数可以按组增加,则建议运算逻辑名后加“Batch",如

BLsctNodcValucBatch

3.4.3.handle命名规范

1、Handle类路径规划:com.bankcomm.系统缩写名称.handle.Handle类名

如:com.bankcomm.wms.handlc.AccessHandlc

3.4.4.Tag命名规范

1、Tag类路径规划:com.bankcomm.系统缩写名称.tag.类名

如:coni.bankcomin.wms.tag.OrgSelect

本系统的所有的tag的定义文件统一定义到系统缩写名称.Ud

3.45业务逻辑命名规范

I、业务逻辑名称=操作对象名【+操作动作描述】,操作对象放在前面,借助于按字母排

序的规则,有助于业务逻辑的同类查找,如对Employee的增、删、改、查的完整名称

就是fborg.bzemp.EmployeeAdd、fborg.bzemp.EmpIoyeeQuery、

tborg.bzemp.EmployeeQueryAHPage

2、建议对象和方法词汇首字母大写。

3、如果名称太长,建议使用词汇的缩写,$nbizEmployeeDelo

3.4.6.展现逻辑命名规范

1、展现逻辑名称=操作对象名【+操作动作描述】,操作对象名称放在前面,借助于按字

母排序的规则,有助于展现逻辑的同类查找,如对Employee的增(增加输入、增加提

交)、删、改(修改输入、修改提交)、查的名称可■以是prEmployccAddInput>

prEmployeeAddSubmitprEmployeeDel、prEmployeeUpdlnputprEmployeeUpdSubmit、

prEmployecQucry。

2、展现逻辑以“pr”为前缀,作为一种约定,便于检索和管理,以下格式均不符合规范:

“PR”,“Pr",“pr_”,“pr・”。

3、建议对象和方法词汇首字母大写。

4、如果名称太长,建议使用词汇的缩写,如prEmployeeUpdlnput。

共76页第16页

0交通穿行

BANKOFCOAMMJHICAVIOMS交通银行管理信息系统开发规范

3.4.7.查询实体的命名规范

I、命名规则:项目简称_VD_名称,例如HER_VD_EMPLOYEE

2、查询实体的名称均要求大写

3.4.8.JSP/HTML命名规范

♦页面逻辑(JSP)名称二操作对象名称+操作方法名,多个单词之间用下划线分割,例

如employee_add.jsp,employee_list.jsp等,如果名称太长,建议使用词汇的缩写。

♦JSP文件名全部要求是小写。

♦含frame页面

<framesct>中<framc>的name属性命名的格式是①xxx._@cxx_③xxx

①XXX部分用来标识当前页面隶属于整个系统中的哪一功能模块。

如:属于cbwcbmail则被表示为cbwcbmail,其它情况依次类推。

②xxx部分标识当前页面所要完成的功能。

如:完成用户登录的功能则被标识为login,其它情况依次类推。

③xxx部分用来用来表示页面在浏览器窗口所处的位置。

处于浏览器窗口的顶部则标识为top,其它情况依次类推。

例如:ebwebmail_inbox_top.jsp

<framc>src属性相应的文件名根据情况建议在原命名规范上用下划线加上所处窗口的位置。

♦javascript脚本方法

脚本函数都以①xxx_②xxx的方式命名。

①XXX对应页面隶属的模块。

②XXX表示函数所要实现的功能(动宾结构),多个单词用下划线连接。

例如:ebwebmail_send_mail()

模块通用的脚本函数必须集合于一个js文件中,在页面上通过〈scriptlanguage=''javascripr'

src="uiT*></script>形式导入。js文件名命名使用模块名,例如:ebwebmail.jso

如果项目已经提供r公共js脚本,则优先使用公共js脚本中提供的函数。

所有定义方法的〈script〉元素定义在vheadx/head>中或v/body>后。

♦javascript脚本内部变量与参数

单词之间用下划线分隔且全部小写,例如:

varfile_sizeo

♦vform>表单name属性

统一以"form_"开头,其后加该表单所需收集的信息的作用或动作,例如:form_filc_upload

共76页第17页

0交通4次行

BANKOrCOAMMJHICAVIOM交通银行管理信息系统开发规范

或form_send_maiU

♦window.open中name参数的命名

javascript的window.open方法中有一个name的参数,浏览器约定同样的名字的窗口只能打

开一个,如果程序间名字重复将相互冲突。如果不限制打开窗口数,可以指定''或“"(不

是null),否则需要加上模块名,例如ebwebmail_viewmail,,

4.应用系统开发规范

4.1.应用架构介绍

本应用采用J2EE架构,应用系统的功能开发,将通过PrimeionEOS5.1以面向构件的

方式进行构建,应用的总体架构参见下图:

交通银行系统开发平台

EE

OO

SS

sM

t

ua

dn

-a

。g

Componente

r

EOSServer

PnnwtonEOS5.1

WebSphere

j____

DB2

图形说明:

I、PrimetonEOS:普元公司提供的面向构件中间件,在本应用中需要用到EOS的以下

部分:EOSServer、EOSStudio、EOSComponentAEOSManager等。

i.EOSServer:EOS服务器,提供EOS构件的运行引擎和其他系统服务

功能

ii.EOSStudio:EOS集成开发环境,实现应用的开发调试

iii.EOSComponent:EOS构件库,为应用开发提供基本的构件

iv.EOSManager:EOS应用运行维护平台,实现EOS应用的快速部署和

管理监控

EOS为应用系统提供了典型的MVC软件层次模型,其软件层次结构图如卜.:

共76页第18页

0交通穿行

BANKOFCOAMMJHICAVIOMS交通银行管理信息系统开发规范

DATABUS

页面构件

(jsp)

展现构件

(prLogic)

业务构件

(bizLogic)

运算构件

(Biztet)

数据构件

(DataService)

Database

4.2.EOS构件开发规范

4.2.L运算逻辑开发规范

1、运算逻辑取参数原则上按参数序号获取,即使用BizContext类的gctParaObjcctAt(O)函

数,不建议按参数名称取参数,即BizContext类的geiParaByName(参数项名称)。

2、运算逻辑原则上建议不抛出异常,而是通过捕捉异常后设置返回值返回,异常信息可以

通过日志接口记录到日志文件中。如果抛出异常,要求能在构件对应的文档中明示抛出

哪些异常,建议不要抛出基类异常。

3、在运算逻辑中如果存在多处错误返回,应根据不同错误返回不同返回值(如-1、-2、

-3……),这样有助于进行错误定位。

4、运算逻辑中有关调试、出错提示等,一律使用EOS平台发布的口志记录接口TPLogger.

log(Objec(callenintlevel,SiringsirMsgKey,StringstrMsg,LogContextcontext),详细用法参

见构件参考手册API接口部分。

5、运算逻辑中需要进行XML的相关处理时,使用EOS平台发布的XML处理接口类

BNXMLUtil,详细接口参见构件参考手册API接口部分。

6、运算逻辑获取参数时,强制转换的类型为String或Element(Node),对「其他int>float

double类型可以通过String类型转换获得。

7、一般情况下,运算逻辑正常返回值为1;返回负值表示捕捉到异常或因数据不合要求导

致处理中断,需要进行分支处理;返回0或其他正数表示处理完成,但可能存在某些警

告信息,例如用BL_expandEntity查询指定条件的某条记录时,可能符合查询条件的记

录有多行,则返回第一行记录,而返回值为记录行数。

8、运算逻辑参数项设置原则:

a)原则一:一般将第一个参数设置为输出,即运算逻辑执行中对数据进行处理后通过

第一个参数项返回,例如,查询多行记录的运算逻辑BL_qucryEntityAH,第一个参

共76页第19页

…8交通银行管理信息系统开发规范

数为查询结果输出的节点,第二个为查询条件输入的节点。其他如BL_gelLengih、

BLJoinStrings等。

b)原则二:对■于重要性较低的参数项建议作为最后一个参数项,同时允许不设置时取

最常用的值作为块省值,例如BL_getLength的第三个参数为计算字符串长度的方

式,等于1时表示计算字节长度,其他值则计算字符串长度,则可以不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论