网站大量收购独家精品文档,联系QQ:2885784924

自由CGI之路V面向对象的可配置的CGI编程.pptVIP

自由CGI之路V面向对象的可配置的CGI编程.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自由CGI之路V面向对象的可配置的CGI编程

自由CGI之路V3 -----面向对象的可配置的CGI编程 互联网运营部 tommyyan 2008-09-03 新的CGI系统介绍 在cgi的开发实践中,通过不断的系统重构,完成了一个基于配置的cgi系统。一般情况下,系统中添加一个传统意义上的cgi请求,只需要进行几个配置文件的少量修改即可完成,而不需要进行编码工作。通过驱动模块的扩充可以使系统不断增加新的功能。 良好的扩充性:可以基于点的控制也可以基于流程的控制, 中间件的技术:使接口在上层表现出了一致的特点 重复性的工作的处理:在这个系统中基本上看不到 系统的规模的控制:使变更的影响范围在合理的范围内进行; 全配置的系统:即使在配置上也很注重细节,做到了基于模板的配置和默认值选取,使一次新的配置也许只是个别字段的修改。 ??神奇的tcgi #include cgi.h #define CGI_CONF_PATH /usr/local/MKT_Act/conf/ int main(int argc,char*argv[]){ TCgi theCgi; theCgi.RunEx(CGI_CONF_PATH); } 发展历程 cgi层次结构 CGI处理流程 CGI处理流程 CGI基础层 CGI基础层 完成所有与外部应用系统无关的封装 完成一个CGI完整的逻辑封装 提供基于中间件的驱动接口 提供可以重载的流程接口 提供二次开发接口 提供配置项管理的接口 系统基础层 完成所有公司、系统级别的可重用性的封装 提供类似cgiex类似的web方式cgi访问 对基础库的功能封装 TLib、 TBase及其他公司、部门相关库 提供公用数据源接口的驱动封装 TTC、mysql、c4a、支付portal等 相关的业务统计、运维统计、告警操作 业务基础层 完成所有业务级别的可重用性的封装 业务级别的检查 例如:用户注册的检查、黑名单检查、 业务公用信息的获取 用户的性别、城市、时间戳、个人账户, 可配置的数据读取和操作 高级用户状态、好友资料 业务层 特殊业务逻辑的处理 统计点、监控点的添加 CGI基础层 完成所有与外部应用系统无关的封装 参数处理 模板管理 操作管理 驱动管理 项目、模块管理 配置系统 基础层-配置系统 项目管理、接口描述-cgi.ini 按照一定规模组织的外部接口(cgi)的集合,接口包含一下描述 输入特性 输出特性 操作列表 全局的检查点 公共功能 参数处理-输入 参数输入类型 整形/字符类型/特殊类型(文件等) 取值范围 默认值 错误返回对应的描述,返回码 是否允许为空 参数处理 - 输出 输出的格式多样(web支持的各类格式) xml、html、图片文件等等 返回类型多样 错误返回、正确返回,基于模版的返回 是否记录执行结果的多样性 日志、告警、统计等 参数中心类 - CgiArgCenter 字符编码(xml、html、js、url。。。) 参数检查(整形大小,字符型长度) 输入输出参数的缓冲区 根据指定的模板类型进行字符编码 模板管理 根据不同的错误代码、某一个字段的返回值取不同的模板 各种格式模板的支持和自动转译 基于操作名的模板替换 模板示例 %$RETURN_ERROR_begin$% %RETURN=default_begin% try{ var rc1=%RETURN_CODE% ; rc2=%RETURN_SUBCODE%; MPPresentlist=; callback(rc1, rc2, MPPresentlist); } catch(e) {status=callback is not exist!} %RETURN=default_end% %$RETURN_ERROR_end$% %$campusdui_begin$% try{ var rc1=0; rc2=%MPResultCode%; MPPresentlist=%MPPresentList%; callback(rc1, rc2, MPPresentlist); } catch(e) {status=callback is not exist!} %$campusdui_end$% 操作 原子级的对一个驱动接口访问的描述 底层驱动接口 操作类型:查询、修改、删除、新增、赠送、抽奖。。。 参数变换 输入参数和返回结果参数指定 服务器相关信息 抽奖操作 [bidlottery] driver=Portal type=mo

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档