为进一步落实中国电信战略转型目标,优化中国电信渠道体系和架构,强化电子渠道的销售服务功能,电信公司就2008年电子渠道销售服务能力提升提出了一系列的具体要求. 重庆电信网上客户服务中心是中国电信系统的重要组成部分, 应此重庆电信网上客户服务中心也面临一系列新的需求。
本文对网上客服中心系统的设计思想、系统架构等做了详细的介绍,主要完成了网上客户服务中心系统新增的发票寄送和充值记录查询两大模块的设计与实现,主要工作包括这两个模块的需求分析、系统功能设计、数据库设计及这两个模块的实现。发票寄送模块分为前台和后台两个子模块。用户通过前台进行发票寄送业务的申请及查询操作,而电信工作人员通过后台可进行发票寄送信息的查询、发票寄送总量的查询、发票收费设置等操作。充值记录查询模块则是一个综合查询模块,用户通过它可以查询11888、11819及银行卡/支付宝三个业务的充值记录。
本文设计开发的系统是基于B/S(浏览器/服务器)模式下,利用JSP作为编程技术,实现用户和系统的交互。在数据库方面则采用了Informix作为基础数据操作的后台。在本系统中,我们把JSP、Java、JavaScript等充分融合在各种功能模块的编程中,并采用了Spring框架的IOC(控制反转)、Spring对JDBC的支持、Spring的远程调用等关键技术实现了上述的功能。
关键词:B/S,远程调用,Spring
ABSTRACT
To further implement the strategic restructuring goals of China Telecom, optimize its system and structure, enhance the abilities of online sale service, China Telecom put forwards a series of requests. As one important part of the China Telecom System, the CQ Telecom Integer Customer Service System also faces a series of new requirements.
This paper first gives a detailed introduction about the design and structure of the CQ Telecom Integer Customer Service System, then moves to the design and implementation of two new modules of the system—check Sending module and charge querying module. The main work includes requirements analysis, system function design, database design and realization of the two modules. The check Sending module can divide into two parts: foreground and background. The customers can apply check sending service or query the check sending records in the foreground and in background; the employee of China Telecom can query the detail of the check sending information, the total amount of the checks which have already been sent to the customers and so on. Besides, they also can set the price of the check sending service. The charge querying module is an integrative module, through which the customers can query their charge records of 11888, 11819 and bank services in a specified date.
This system is based on the B/S (browser/server) mode, using JSP as a programming language, realizes the interaction of the users and the system. The system adopts Informix database to store data. Based on the IOC, supporting to JDBC and remote invoke technologies of SPRING, I implement the two modules successfully using asp, java and JavaScript.
Keywords: B/S,remote invoke,spring
目 录
摘要I
ABSTRACTII
1绪论1
1.1 课题研究背景及意义1
1.2 国内发展现状1
1.3 研究内容1
1.4 术语解释2
2相关技术分析3
2.1 JSP技术3
2.2 Spring4
2.3 服务器技术6
3网上客服中心系统简介7
3.1 设计思想7
3.2 系统架构8
3.3 系统体系结构9
3.4 开发平台11
3.5 总体技术要求11
3.5.1系统设计要求11
3.5.2应用部署要求12
3.5.3网站建设要求12
3.5.4系统扩展性要求12
3.5.5系统可用性要求13
3.6 网络拓扑结构13
3.6.1系统所在网络13
3.6.2连线原则14
3.6.3访问原则14
4支票寄送模块分析与设计15
4.1 模块划分15
4.2 功能需求15
4.2.1发票寄送前台功能要求15
4.2.2发票寄送后台功能要求18
4.3 用例图19
4.4 流程图20
5充值记录查询模块分析与设计25
5.1 模块划分25
5.2 功能需求25
5.3 用例图26
5.4 流程图27
6系统实现29
6.1 Spring对JDBC的支持29
6.2 接口与实现相分离30
6.3远程调用31
7系统界面32
7.1 支票寄送模块界面32
7.2 充值记录查询模块界面33
8工作总结与后续工作35
8.1 工作总结35
8.2 后续工作35
致谢36
参考文献37
1 绪论
1.1课题研究背景及意义
为进一步落实中国电信战略转型目标,接应并深化客户品牌经营策略,优化中国电信渠道体系和架构,强化电子渠道的销售服务功能,电信公司就2008年电子渠道销售服务能力提升提出了一系列的具体要求。
而重庆电信网上客户服务中心是中国电信四类渠道中电子化渠道的重要组成部分,作为CRM(综合营业系统)的子系统,通过互联网为客户提供业务查询、办理、咨询等全方位的服务,应此重庆电信网上客户服务中心也面临一系列新的需求。
重庆电信网上客户服务中心系统,英文名称为CQ Telecom Integer Customer Service System,简称CQ TICSS[1]。它是考虑到中国电信的现状和未来的发展趋势,位了提高电信的服务水平,帮助客户了解电信的新产品,为客户通信功能的需求提供最佳解决方案, 而参照国际、国内电信运营商的相关业务和技术规范,采用多层体系结构和数据仓库技术设计开发符合国际国内电信相关规范,技术先进、功能齐全、系统灵活、扩展性好的电信网上客户服务中心系统;
而本文所要讨论的两个模块正是网上客户服务中心新增的两个模块:支票寄送模块和充值记录查询模块。
1.2国内发展现状
截止到2006年底,CRM(综合营业)系统已在全国63%的本地网(156个本地网,其中北方9省作为9个本地网计算)上线,覆盖中国电信约72%的用户,其中上海、江苏、江西、广东、海南、重庆、贵州、云南、甘肃、安徽、青海、北京及北方9省已全部上线[2]。已上线系统在统一客户识别、综合业务受理、数据一致准确等方面基本达到CRM(综合营业)系统第一阶段实施要求,功能较原九七系统有了很大提高,性能也基本满足客户需求,但在客户化应用、客户信息收集及归并、产品(销售品)定制及目录集中管理、统一知识库等方面还与集团公司要求存在一定差距,其中客户销售服务流程仍以产品为中心组织生产,没有针对客户需求进行重新设计,各客户接触点的业务流程不完全统一,缺乏渠道间的有效沟通和配合。
1.3研究内容
本文以网络为平台,完成了网上客户服务中心系统的支票寄送模块和充值记录查询模块的设计与实现,主要工作包括系统需求分析和系统功能设计以及数据库设计。
支票寄送模块包含前台和后台两个模块,用户通过前台模块可以进行发票寄送业务的申请以及发票寄送业务的查询。而后台电信工作人员可以通过后台模块进行发票寄送信息的详细报表、发票收费的增加、修改、删除等操作以及发票寄送总量的查询等业务。而充值记录查询模块将综合11888、11819及银行卡/支付宝三个业务的充值记录查询工作,而不是以前那种分散的查询,简化用户的操作流程,并提供相应的报表。
1.4术语解释
COBAR: Common Object Request Broker Architecture 公共对象请求代理结构
EJB: Enterprise JavaBeans 企业级JAVA组件
HTML: Hyper Text Markup Language 超文本标记语言
HTTP: Hyper Text Transfer Protocol 超文本传输协议
JDBC: Java Database Connectivity Java数据库连接接口
SNMP: Simple Network Manage Protocol 简单网络管理协议
XML: Extensible Markup Language 可扩展标记语言
SERVLET: 小服务程序
SESSION: 交互会话
2 核心技术分析
2.1JSP技术
JSP是由Sun Micro System公司于1999年6月推出的新的网页开发技术,它是基于Java Servlet以及整个Java体系的Web开发技术,是Servlet2 .1 API的扩展。JSP(Java Server Page)是一种嵌入在日丁ML并由服务器解释的脚本语言。它可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。它支持许多流行的数据库,包括MySQL,PostgreSQL,Oracle, Sybase,Informix和Microsoft SQL Server即JSP动态网站开发技术与ASP相似,也是一种嵌入日丁ML文档的服务器端脚本语言。其语法大部分与C, Java, Perl等语言相似,并形成了自己的独有风格,利用该语言Web程序员可以快速地开发出动态网页。JSP在大多数Unix平台、GUNILinux和微软Windows平台上均可以运行。
随着WWW的普及,动态网页技术也急速发展。从原来的CGI(Common Gateway
Interface)到ASP C Active Server Page,都从某种程度上满足了网页开发人员对动态网页开发技术的需求。但是不管是CGI还是ASP都存在一定的局限性,如CGI对服务器资源的耗费,ASP只能同Microsoft IIS一起使用等,这些都限制了这些技术的使用范围,极大地阻碍了它们的推广。JSP技术经过不断的发展具有了以下特点:与操作平台无关,能够在任何Web或应用程序服务器上运行;将应用程序逻辑和页面显示分离;提供代码重用,简化开发基于Web的交互式应用程序的过程。
Java是未来的主流开发技术,具有很多优势。JSP则是Java在Internet /Intranet Web上的重要应用技术,得到了广泛的支持和承认,它可以和各种Java技术完好地结合在一起,从而实现非常复杂的应用。
作为一种基于文本的、以显示为中心的开发技术,JSP提供了Java Servlet的所有好处。为了做到逻辑功能和显示功能分开,JSP已经可以和JavaBeans,Enterprise JavaBeans (EJB)和Servlet一起工作。JSP的开发人员可以通过使用JavaBeans, EJB和Servlet来完成大部分与网站逻辑相关的工作,而仅仅把显示的工作交给JSP页面来完成。内容和显示逻辑分开的好处在于,更新页面外观的人员不必懂得Java代码,而更新Java类的人员也不必是设计网页的行家。这就可以用带Java类的JSP页面来定义Web模板,以建立一个具有相似外观的页面组成的网站。Java类完成数据提供,在模板中就没有Java代码,这意味着这些模板可以由一个HTML编写人员来维护。
JSP技术特点:将内容的生成和显示进行分离:使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终的页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和JavaBeans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。
强调可重用的组件:绝大多数JSP页面依赖于可重用的、跨平台的组件来完成应用程序所要求的更为复杂的处理。得益于Java的操作平台无关性,开发人员能够很方便共享和交流执行普通操作的组件,或者使得这些组件为更多的使用者所使用。基于组件的方法加速了总体的开发过程,极大地提高了项目整体开发的效率。
2.2 spring
2002年Wrox出版社出版了《Expert one on one J2EE design and development》一书。该书的作者是Rod Johnson[3]。在书中,Johnson对传统的J2EE架构提出深层次的思考和质疑,他提出J2EE实用主义思想。2003年,J2EE领域出现一个新的框架:Spring,该框架同样出自Johnson之手。事实上,Spring框架是《Expert one on one J2EE design and development》一书中思想的全面体现和完善,Spring对实用主义J2EE思想进一步改造和扩充,使其发展成更开放、清晰、全面、高效的开发框架。
传统J2EE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE应用的开发并没有真正实现Write Once,Run Anywhere的承诺。Spring作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能:如声明式事务。一经推出,就得到众多开发者的拥戴。
Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说:Spring是企业应用开发的“一站式”选择,Spring贯穿表现层、业务层、持久层。然而,Spring并不想取代那些已有的框架,而是以高度的开发性与它们无缝整合。
Spring 框架是一个分层架构,由7个定义良好模块组成。Spring模块构建在核心容器上,核心容器定义了创建、配置和管理 bean 的方式,如图 2.1所示。
图2.1Spring 框架模块图
组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:
l 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
l Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
l Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
l Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
l Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
l Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
l Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。
Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。
2.3 服务器技术
随着Web技术的发展和电子商务时代的到来,人们不再满足于建立各种静
态地发布信息的网站,更多的时候需要能与用户进行交互,并能提供后台数据库
的管理和控制等服务的动态网站。
从目前来看一般基于Web的系统都是很占服务器资源的。其主要原因是:系统在运行的过程中采用动态取数据的方法,这将使用户每进行一次测试都要向服务器多次查询数据。所谓的动态取数据是指:用户每次要上下翻页或结束测试时都要向数据库读取数据。这是因为浏览器是无状态的在其刷新页面后,原来的数据将丢失。多次的和服务器交互将增加服务器的负担,因此一个好的在线系统速度是其关键。而整个系统的好与坏不能就单方面而论,所以在研究招生报名系统的速度问题的过程中我们也对整个系统的安全性、可维护性进行了全面的研究。
此离线系统服务器端采用的是Apache Tomcat 5.0。
[关于网上客户服务中心系统的设计与实现]