《服务及页面开发流程》由会员分享,可在线阅读,更多相关《服务及页面开发流程(7页珍藏版)》请在金锄头文库上搜索。
1、项目技术文档 北京神州数码思特奇信息技术股份有限公司服务及页面开发流程编写人:李刚前言前言以下流程讲解以 BBS 帖子批量导入功能开发流程为蓝本,由于是首次参与开发,其 中关于执行顺序或描述方面有误之处请谅解.开发流程开发流程一、一、 申请申请 OPCODE申请需发送邮件给相关负责人,以下为邮件格式:收件人: crmwork, yuangy/crm/bj/si-techsi-tech 抄送: 相关组长主题: op_code 申请 内容:父节点: (其他变更)95993 子节点: 牡丹移动联名卡受理注:父节点可通过查找 sfunccode 表中类似模块父节点填写;子节点为当前开发的 模块描述二、
2、二、 测试环境搭建页面平台测试环境搭建页面平台1.进入 8008 模块 选择一个功能树节点(建议初次使用者选择 4751 新员工页面开发练习节点)2.选择添加新功能3.进行如下填写(参考)后提交,其中功能代码为申请下来的模块编号4.在 sfunccodeadd 表中录入相关信息,录入格式请参考表中已有数据 5.在现有 23 环境下按 8008 提交的相对目录格式建立文件夹及页面文件,建议 初学者将页面建立在/npage/用户名/下.6.此时可在山西移动客服测试环境(23)下,找到该模块指向的页面.三、三、 页面编译页面编译此时输入模块,打开的页面为空白页面,需要对所指向的 jsp 文件中加入相
3、关内容, 搭建页面框架.1.需要引入的包及页面需要引入的包及页面/页面编码/页面标题部分/页面顶部显示/页面底部显示2.不常用的引入类不常用的引入类/控制缓存/文件上传操作类包3.常用封装控件常用封装控件 rdShowConfirmDialog(“确认要提交操作吗?“);/有确认和取消按钮的控件4.页面基本格式页面基本格式 HTML 代码代码标题主要内容JAVA 代码代码Javascript 代码代码function sub_mApply() .5.wtc 标记标记 要在 jsp 页面中调用.cp 文件中的服务,需要使用我们公司已封装好的 jsp 标 签,最常用的格式为:“/ “/ “/ .,
4、如 result,可通过 resultnm的方式对返 回值进行使用6.页面跳转传值取值方法页面跳转传值取值方法 POST 方式: 当页面上有按钮提交执行 document.form1.submit();类似的操作后,前一页面 控件中存储的数据被传入跳转页,调用方式为 String opCode = request.getParameter(“前一页面控件 ID“);GET 方式 使用如下语句进行跳转,页面取值方式同上,以下两种方式区别参见附录: response.sendRedirect(“fd861.jsp?retInfo=“+retInfo);或 request.getRequestDis
5、patcher(“/npage/sd861/fd861.jsp?retInfo=“+retInfo).forw ard(request, response);四、四、 服务编译服务编译1.建立服务建立服务 初学者在 226 的/boss18/work 目录下建立自己要放置服务的目录,格式为 使用者拼音缩写/模块号.cp2.必须的头文件及初始化信息必须的头文件及初始化信息 #include “publicsrv.h“ #include “boss_srv.h“ /导入 SQL 执行用头文件 EXEC SQL INCLUDE SQLCA; EXEC SQL INCLUDE SQLDA; /初始化出
6、参入参变量 EXEC SQL BEGIN DECLARE SECTION; char input_parmsMAX_PARMS_NUM1000; char output_parmsMAX_PARMS_NUM1000; EXEC SQL END DECLARE SECTION; /长连接方式,类似于 java 中的构造函数 int tpsvrinit(int argc, char *argv) spublicDBLogin(NULL,NULL,“sd861Cfm“,LABELDBCHANGE); /连接数据 库 return(0); void tpsvrdone() spublicDBClose
7、(LABELDBCHANGE); /关闭数据库 3.一般服务一般服务(方法方法)编写格式编写格式 void sd861Cfm( TPSVCINFO *transb /页面传入值 ) FBFR32 *transOUT = NULL; /定义该服务局部变量EXEC SQL BEGIN DECLARE SECTION; char topicid10+1; /定义服务中 SQL 用变量 EXEC SQL END DECLARE SECTION;printf(“=begin sd861Cfm =n“); /服务打印语句memset(topicid, 0, sizeof(topicid); /初始化变量t
8、ransIN = (FBFR32 *)transb-data; /获取入参的数据部分get_input_parms32(transIN, /获取入参各项,保存入 input_parms 数组strcpy(topicid, input_parms0); /给变量赋值Trim(topicid); /去除变量前后空格EXEC SQL SELECT COUNT(*) INTO :vNum FROM EJF_AGREE_TOPIC WHERE TOPICID=:topicid; /调用 sql 语句goto end_sd861Cfm; /跳转到服务指定点end_sd861Cfm: /指定点/返回值处理及
9、关闭必须连接(格式统一为如下写法) transOUT = add_value32(transIN,transOUT,ONCE_ADD_LINES*output_par_num*50,service_name,GPARM32_0,vRetCode, LABELDBCHANGE,CONNECT0);transOUT = add_value32(transIN,transOUT,ONCE_ADD_LINES*output_par_num*50,service_name,GPARM32_1,vRetMsg, LABELDBCHANGE,CONNECT0);Fchg32(transOUT,SVC_ERR
10、_NO32,0,vRetCode,(FLDLEN32)0); Fchg32(transOUT,SVC_ERR_MSG32,0,vRetMsg,(FLDLEN32)0);tpreturn(TPSUCCESS,0,(char *)transOUT,0L,0); 4.weblogic 服务部署服务部署 进入 http:/10.208.100.23:7001/console/j_security_check 页面 用户名密码询问相关人员 选择Connectivity WebLogic Tuxedo Connector SXWTC1ContentsImported Configure a new Imp
11、orted Service.,打开页面后进行如下填写之后点击 Create,退回到 SXWTC1ContentsTarget And Deploy,选择 None 进 行 apply,再选择 sxserver1 进行 apply,部署完成5.makefile 编写编写 复制 run/file 目录下的 makefile 文件到自己服务目录,按照文件中格式加入 相关代码,格式如下 #BEGIN R2600 # #R2600= -s s2600Cfm -s s2650Init -s s2650Cfm -s s2651Init -s s2651Cfm -s s2652Cfm -s s2653Init
12、 -s s2653Cfm -s s2654Cfm -s s2660Init -s s2660Cfm -s s2661Init -s s2661Cfm -s s2602Cfm -s s1505Cfm #R2600OBJ=R2600.o #R2600:$(R2600OBJ) #rm -f $(BINDIR)/R2600 #$(SRVBEACOMP) $(R2600) -o $(BINDIR)/$ -f “$(R2600OBJ)“ #END R2600 #6.配置配置 UBBCONFIG 进入/run/cfg 目录下,打开 UBBCONFIG 文件,加入如下格式代码:RProdChg SRVGRP=
13、OPENGRP_SXBOSS SRVID=29999 MIN=1 MAX=1 CLOPT=“-A -r -t -o /boss18/run/log/RProdChg.log“ 配置后需要执行 loadcfg 命令7.CL32 命令调试命令调试 以上两个文件配置完成后,此时可用 CRT 进入 226 下进行 cl32 命令调试,服务 日志会在 226 下 run/log 目录下的模块号.log 中被打印出五、五、 上线申请上线申请服务及页面联调通过后,在上线前要发起上线申请,申请邮件发送给需求发起人, 抄送相关负责人.申请格式参见附录相关文档.邮件中还需要包含一些生产上新建 数据表或序列的 SQL 语句关于上线申请文档的填写方式请参见附录:上线申请文档格式六、六、 上线上线暂缺附录附录response.sendRedirect 与与 request.getRequestDispatcher 方式区别方式区别http:/ 线申请.doc