许辉
摘要:该文以苏州营业收费系统开发为背景,介绍了收费系统的总体设计思想、功能结构、系统体系结构设计,设计并实现了基于WebLogicServer和Tuxedo中间件的营业收费系统。
关键词:收费系统;WEBLOGIC;Tuxedo;中间件
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)35-8423-03
收费系统作为电信运营商最核心的业务支撑系统之一,在电信企业经营活动中具有特殊地位,电信运营商都把建设一个计费准确、安全可靠、灵活高效的计费系统,作为提高服务质量、增强自身竞争实力、刺激业务量增长的重要手段。
随着营业系统结构性优化项目的深入展开,鉴于营业系统当前的现状,费用的计算通过人工加程序自动运算相结合的方式,营业员工作量大,需要记忆大量的资费,效率低,且容易出错;另外管理不规范,人工介入多,会带来资费管控能力弱。所以必须开发全新系统,用于算费、收费、以及相关费用的分析、管理,让专一的系统做更专业的工作,提高生产力,解放劳动力,让更多的人有精力去发挥创造力,提升企业效益。
新建的营帐系统要求建设成B/S三层架构,中间层采用WEBLOGIC、TUXEDO。基于WEBLOGIC架构WEB服务器,基于TUXEDO封装算费与收费应用。WEB服务与应用服务可根据需要分别部署在多个服务器上,负载分摊,同时提高了应用的健壮性,当一台WEB或者应用服务出现故障的情况下,所有业务能自动切换到另外的WEB或者应用服务。另外应用的升级可采用分批升级的方式,维护更简单,并能实现7*24的不间断的运营,符合客户要求。
营业收费系统的开发目的是把算费部分从营业系统中剥离,实现费用的统一管理。结合营业收费系统实际需求,本系统采用多层次结构设计完成了系统架构设计,完成了相关子系统、数据存储表和系统模块结构的设计。设计并实现了基于WebLogicServer和Tuxedo中间件的营业收费系统。在设计上,以UML为分析设计语言。在体系结构上,使用WebLogicServer和Tuxedo来构建完整的体系结构;在实现上,以UNIX为操作系统平台,以c++为开发宿主语言,以Oracle数据库oci为嵌入SQL开发工具。同时,系统充分考虑可移植性,能够方便的支持IBMAIX、HPhp-Unix、HPtrue64等主流UNIX平台。
1系统总体设计思想
目前电信帐务系统的部署一般以“本地网”作为基本单元,以一个完整的本地网作为集中计费帐务系统地域范围,实现“统一资费政策、统一营销政策、统一服务规范”,实现本地网范围内的联机集中处理、账务集中处理、营业实时联网收费等。营业收费系统作为计费帐务系统的一个功能分支与补充,为营业系统提供数据计算,并把最终的算费结果送计费帐务系统统一管理、收费,最终与计费帐务进行融合。
按照电总集中计费的最新要求,逐步取消本地计费系统,节约设备投资的要求,由地市往省进行集中,形成省级、全国级计费中心的两级集中计费模式。所以本次营业收费系统的设计最终以省集中模式进行,但同时考虑到营帐系统与本地帐务系统的对应,所以系统应用集中部署,但是数据存放按照本地网进行划分,每个本地网一张帐务表。另考虑到各个地区业务规则的差异,支持规则按照本地网进行分类。
总之,营业收费系统要实现:省中心集中统一处理、理顺管理体制、建立灵活的计费帐务体制和业务统一管理等目标。集中营业收费系统的功能设计不仅要面向服务质量的提升,而且要面向竞争能力的增强。具体应该注重的是灵活多样的算费处理、完善的审核校验功能、业务规则可定制、清晰帐务管理、灵活帐务周期、明晰客户帐单、分析报表等。
2营业收费系统的功能结构
营业收费系统主要包括:营业算费子系统、营业收费子系统、报表管理子系统、发票打印子系统和账务管理子系统。
2.1营业算费子系统
营业算费子系统由算费控制、数据预处理、算费规整、核心算费四个模块组成。
算费控制:算费控制模块是营业算费子系统的核心模块,是营业算费子系统的组织者角色及对外交互接口。算费控制模块接收到外围系统的请求时,分别调用数据预处理、算费规整、核心算费各个模块,同时将各模块的返回的结果根据业务请求回复到外部系统。
数据预处理:收到控制器发送过来的XML格式请求后,根据相应的配置对XML串的解析,并进行数据整理,供后续各模块进行处理;在后续模块处理完成后,由数据预处理功能按外部接口协议对数据进行XML打包工作,并将打包后的XML返回给算费控制模块。
算费规整:规整是处理的中间环节,数据预处理解析出来的原始事件组不符合后续定价要求,原始事件组包含信息较多,需要通过算费规整进行拆分、过滤、转换、格式标准化,形成一组算费事件,供后续批价模块进行算费处理。
核心算费:算费功能对规整事件按照定价计划的配置进行算费。模块的输入为预处理后清单事件、输出为算费后的清单和账单。
2.2营业收费子系统
营业收费子系统主要有收费页面、核心收费、费用调整、算费累积量查询以及余额查询模块组成。
收费页面是通过URL带参数方式供其他系统调用。收费界面展现该购物车ID算费产生的费用,经费用调整减免后,将调整后的费用、应收金额及其实收金额写入CRM的父窗口指定的JS对象中。
核心收费的流程是在收费页面中输入后选择账目明细、付款信息、基本资料信息到核心收费服务,后台服务接受到数据进行销账处理,把付款流水、销账流水给前台,并在数据库表记录销账日志。
费用调整主要用来维护账目表。提供账目表的查询、插入(如调账)、删除(如调账回退)、更新等功能。
算费累积量查询提供累积量查询的后台服务,供前台调用。
余额查询模块提供余额查询的后台服务,供前台调用。
2.3报表管理子系统
报表管理子系统提供轧账、营业报表、营收款管理三项功能。
轧账用于控制现金台收费,主要有:营业员轧账,营业点轧账,营业员反轧账,营业点反轧账。
营业报表提供营帐系统相关统计报表以及日常查询功能。
营收款管理提供营业缴款录入,告知财务会计本厅应收金额;提供财务会计的对账;提供支持缴款和解款的回退等功能。
2.4发票打印子系统
发票打印子系统提供预打发票、发票定制打印、营收发票打印三项功能。
预打发票提供批量开票(定额发票)、对预打的发票和实际业务的进行关联,如果费用不符合的,需要进行原有发票的注销,并进行新发票打印,并在系统保存下来,供后期查询使用功能。
发票定制打印提供打印发票、发票换开、发票抬头定制、打印号码定制、发票回收等功能。
营收发票打印提供用户可以灵活选择各费用项进行打印、一个业务受理单可以打印多张发票、多个费用项可以合并打印等功能。
2.5账务管理子系统
账务管理子系统提供发票使用管理、押金管理、退单管理三项功能。
发票使用管理提供发票领用与管理,实现现有营业厅发票的领用和使用管理的业务需求,支持发票号初始化以及系统打印发票功能。
押金管理提供押金收据进系统,系统会自动根据营帐系统的要求在对应计费帐务系统中生成特殊的押金类余额。
退单管理提供后端0退单营业退款,业务流程是:前台订单到后台无法实现。需要前台做补退费,但是只能退到用户的虚拟账本上,同时后台重新生成订单,按用户虚拟账本上的余额进行扣款。
3系统体系结构设计
系统部署模式上主要分为四个层次:展现层、EJB应用层、TUXEDO应用层、数据层。
数据展现层次主要分为两种方式,一种是页面展现方式,一种是Webservice服务接口方式。页面展现主要是由BSS营业界面通过httppost方式嵌套计费营帐系统提供的相关页面,如收费页面,费用调整、发票打印等功能。页面上的相关逻辑都完全由营帐系统负责功能的流程调用。而webservice方式,则是由营帐系统和BSS共同定义的一套接口,通过xml方式传递相关的参数,由服务端负责相关调用结果参数的返回。对于部分简单应用如报表统计查询等,直接通过页面JDBC访问数据库,进行相关业务逻辑处理。
EJB应用层,采用的是weblogic发布,进行封装更加便于展现层程序调用。且通过WTC直接访问tuxedo应用层,性能和兼容性能得到充分保障。
TUXEDO服务端,是系统的业务逻辑核心功能的实现模块。通过对EJB应用层传入的参数的分解,根据不同的业务功能,调用核心提供的不同函数,通过对数据库的访问,实现对应的业务功能。如图1所示。
4结论
该文在对原有营业收费系统的系统分析的基础上,重新整合原有数据,将营业收入算费及收费模块独立出来,设计并实现了基于WebLogicServer和Tuxedo中间件的营业收费系统。在体系结构上,使用WebLogicServer和Tuxedo来构建完整的体系结构;在实现上,以UNIX为操作系统平台,以c++为开发宿主语言,以Oracle数据库oci为嵌入SQL开发工具。同时,系统充分考虑可移植性,能够方便的支持IBMAIX、HPhp-Unix、HPtrue64等主流UNIX平台。
参考文献:
[1]张玉才.大型电信运营商集中计费系统设计及系统集成研究[D].成都:电子科技大学,2004.
[2]徐茂红.电信核心计费系统的设计与实现[D].济南:山东大学,2006.
[3]张冬冬.电信计费系统的研发与分析[D].长春:吉林大学,2004.
[4]吕闽.电信计费帐务系统之计费子系统的设计与实现[D].济南:山东大学,2006.
[5]杨汉华.电信客户端收费系统[D].南京:南京理工大学,2006.
[6]陆荣幸,郁洲,阮永良.J2EE平台上MVC设计模式的研究与实现[J].计算机应用研究,2003(3):144-146.