论文部分内容阅读
摘要:分析了系统的架构和关键技术,接着列出了CRM客户关系管理系统的难点分析并给出了具体的解决方案。
关键词:客户关系管理 模型视图控制 Struts
中图分类号:TP311 文献标识码:A 文章编号:1002-2422(2008)03-0013-02
1 CRM的系统架构
1.1 CRM系统架构
总部CRM系统架构如图1所示。
1.2 CRM系统业务模型
CRM系统包括8个子系统:采购管理、客户管理、营销管理、销售管理、仓库管理、财务管理、报表中心、决策分析。
客户管理系统分为10个功能模块:联系人管理、全部客户管理、区域分组管理、省份分组、行业分组管理、来源分组管理、部门分组管理、类型分组管理、联系人分析、客户分析。由上面的模块信息可以看出“客户管理系统”不光是按不同条件查询客户信息的数据记录系统,还具有客户分析功能,最大限度地满足企业决策的需要。
2 系统实现的关键技术
2.1 Struts技术
Struts是典型的基于MVC模式应用架构的框架,MVC是模型(Model)、视图(Viewer)、控制(Controller)的缩写,Struts分别对这三个类提供了实现组件。
按照Servlet标准,所有的Servlet必须在Web配置文件Web.xml中声明,AetionServlet也必须在Web.xml中描述。当用户向服务器端提交请求时,信息首先发送到控制器ActionServlet。由控制器ActionServlet处理客户请求,然后利用Struts-eonfig.xml中配置的ActionMapping对象把请求映射到Action处理器对象进行处理;Struts的Module部分由Action和Actionform组成。Action处理器对象访问Action-Form中的数据,处理和响应客户请求,还调用后台的Bean组件,这些组件中封装了具体的业务逻辑。Action处理器对象根据处理结果通知控制器,控制器进行下一步处理;Struts应用中的View部分是通过JSP技术实现的。Struts提供了自定义的标记库可以使用,通过这些自定义标记可以非常好地和系统的Model部分交互,通过使用这些自定义标记创建的JSP表单,可以实现和Model部分中的Action-Form的映射,完成对用户数据的封装。
Struts中引入了多模块配置的概念,允许将单个Struts应用划分成几个模块,每个模块有自己的Struts配置文件、JSP页面、Action等。通过为每个应用模块创建独立的Struts配置文件,并在Web部署描述符Web.xml文件中统一管理,可以在团队中有效地进行并行开发。
2.2 Hibernate技术
Hibernate是一个数据持久层框架,是一种实现对象和关系之间映射的工具,对JDBC进行了轻量级的对象封装,使程序员可以使用对象编程思想来操作数据库。不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来操作数据库,使用Hibernate能大大地提高实现的效率。Hibernate框架用配置文件的形式来定义Java对象和数据表之间的映射关系,同时在更深的层面将数据表之间的关系解释为Java对象之间的继承及包含等关系。通过使用HQL语句将复杂的关系算法用对象的方式描述,在很大程度上简化了对数据的查询,加快了开发的效率。在Hibernate中有一个简单而直观的API,用于对数据库所表示的对象执行查询。要创建或修改这些对象,只需在程序中与其交互,然后告诉Hibernate保存即可。
2.3 Spring技术
Spring是一个轻型容器,其核心是Bean工厂,用以构造所需要的M(Model)。在此基础之上,Spring提供了AOP的实现,用它来提供非管理环境下申明方式的事务、安全等服务:对Bean工厂的扩展ApplicationContext更方便实现J2EE的应用;DAO/ORM的实现方便进行数据库的开发:Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。
3 难点分析及解决方案
3.1客户信息数据处理
包括以下功能模块:联系人管理、全部客户管理、区域分组管理、省份分组、行业分组管理、来源分组管理、部门分组管理、类型分组管理、联系人分析、客户分析。
3.1.1数据录入接口
企业已经保存了很多客户信息,要这些企业重头录入客户信息,工作量是难以想象的,必须提供给客户接口程序,以便从企业原有系统中导入客户信息,提高企业工作效率。接口程序必须兼容大部分现有的数据记录方式。如Excel、Windows通讯薄,以及企业现在正在使用的客户管理系统。
3.1.2联系人分析
(1)联系人分析(图表)的算法
根据和客户的联系及带来的利润列出客户的优先级,通过客户的联系次数分析出是否需要进行进一步的联系等。这些都需要有灵活可靠的算法。
(2)图表的生成
由于采用的是B/S结构,不可能像C/S结构那样在客户端时实生成图表,B/S结构必须由客户端向服务器端提出请求,由服务器端生成图表,再传递给客户端,这样就牵扯到页面刷新的问题,会使使用者有延迟的感觉,这里必须采用AJAX技术,减少这种延迟。
(3)数据仓库的使用
将客户基本信息,与企业各部门的历次交往、交易信息保存在统一的客户库中,以便在下次交互发生时迅速定位客户,并为分析提供依据。对于大型商业企业,维护完整的客户历史数据,往往意味着海量存储技术的应用。这就意味着整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。突出的特点是对海量数据的支持和快速的检索技术。这是系统设计是否成功的关键。
3.2客户呼叫中心
客户呼叫中心包括电子邮件、WEB IM(WEB即时通讯)、传真/电话、短信4个模块,着重完成前两个模块的开发,后两个模块设计到和电信运营商之间的接口,研究条件不具备,所以就不做研究了。
3.2.1电子邮件模块
电子邮件本身已经是很成熟的技术,难点主要是和系统的整合,要对和客户之间的电子邮件做记录,数据要存放在数据仓库中,做分析。
3.2.2 WEB IM
(1)基于Web的IM不可避免地采用Http作为主要的通信协议,而Http的非连接、无状态特性使得状态管理比较困难。当然,使用Http的好处是能轻易的穿过防火墙。
(2)单向性。只有客户端(Web浏览器)主动去联系服务器,而服务端无法主动联系特定的客户。
4 结束语
介绍了基于Struts框架的电信CRM客户关系管理系统的设计与实现过程,对系统中的难点进行了分析,并给出了具体的解决方案,具有一定的实践性。
关键词:客户关系管理 模型视图控制 Struts
中图分类号:TP311 文献标识码:A 文章编号:1002-2422(2008)03-0013-02
1 CRM的系统架构
1.1 CRM系统架构
总部CRM系统架构如图1所示。
1.2 CRM系统业务模型
CRM系统包括8个子系统:采购管理、客户管理、营销管理、销售管理、仓库管理、财务管理、报表中心、决策分析。
客户管理系统分为10个功能模块:联系人管理、全部客户管理、区域分组管理、省份分组、行业分组管理、来源分组管理、部门分组管理、类型分组管理、联系人分析、客户分析。由上面的模块信息可以看出“客户管理系统”不光是按不同条件查询客户信息的数据记录系统,还具有客户分析功能,最大限度地满足企业决策的需要。
2 系统实现的关键技术
2.1 Struts技术
Struts是典型的基于MVC模式应用架构的框架,MVC是模型(Model)、视图(Viewer)、控制(Controller)的缩写,Struts分别对这三个类提供了实现组件。
按照Servlet标准,所有的Servlet必须在Web配置文件Web.xml中声明,AetionServlet也必须在Web.xml中描述。当用户向服务器端提交请求时,信息首先发送到控制器ActionServlet。由控制器ActionServlet处理客户请求,然后利用Struts-eonfig.xml中配置的ActionMapping对象把请求映射到Action处理器对象进行处理;Struts的Module部分由Action和Actionform组成。Action处理器对象访问Action-Form中的数据,处理和响应客户请求,还调用后台的Bean组件,这些组件中封装了具体的业务逻辑。Action处理器对象根据处理结果通知控制器,控制器进行下一步处理;Struts应用中的View部分是通过JSP技术实现的。Struts提供了自定义的标记库可以使用,通过这些自定义标记可以非常好地和系统的Model部分交互,通过使用这些自定义标记创建的JSP表单,可以实现和Model部分中的Action-Form的映射,完成对用户数据的封装。
Struts中引入了多模块配置的概念,允许将单个Struts应用划分成几个模块,每个模块有自己的Struts配置文件、JSP页面、Action等。通过为每个应用模块创建独立的Struts配置文件,并在Web部署描述符Web.xml文件中统一管理,可以在团队中有效地进行并行开发。
2.2 Hibernate技术
Hibernate是一个数据持久层框架,是一种实现对象和关系之间映射的工具,对JDBC进行了轻量级的对象封装,使程序员可以使用对象编程思想来操作数据库。不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来操作数据库,使用Hibernate能大大地提高实现的效率。Hibernate框架用配置文件的形式来定义Java对象和数据表之间的映射关系,同时在更深的层面将数据表之间的关系解释为Java对象之间的继承及包含等关系。通过使用HQL语句将复杂的关系算法用对象的方式描述,在很大程度上简化了对数据的查询,加快了开发的效率。在Hibernate中有一个简单而直观的API,用于对数据库所表示的对象执行查询。要创建或修改这些对象,只需在程序中与其交互,然后告诉Hibernate保存即可。
2.3 Spring技术
Spring是一个轻型容器,其核心是Bean工厂,用以构造所需要的M(Model)。在此基础之上,Spring提供了AOP的实现,用它来提供非管理环境下申明方式的事务、安全等服务:对Bean工厂的扩展ApplicationContext更方便实现J2EE的应用;DAO/ORM的实现方便进行数据库的开发:Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。
3 难点分析及解决方案
3.1客户信息数据处理
包括以下功能模块:联系人管理、全部客户管理、区域分组管理、省份分组、行业分组管理、来源分组管理、部门分组管理、类型分组管理、联系人分析、客户分析。
3.1.1数据录入接口
企业已经保存了很多客户信息,要这些企业重头录入客户信息,工作量是难以想象的,必须提供给客户接口程序,以便从企业原有系统中导入客户信息,提高企业工作效率。接口程序必须兼容大部分现有的数据记录方式。如Excel、Windows通讯薄,以及企业现在正在使用的客户管理系统。
3.1.2联系人分析
(1)联系人分析(图表)的算法
根据和客户的联系及带来的利润列出客户的优先级,通过客户的联系次数分析出是否需要进行进一步的联系等。这些都需要有灵活可靠的算法。
(2)图表的生成
由于采用的是B/S结构,不可能像C/S结构那样在客户端时实生成图表,B/S结构必须由客户端向服务器端提出请求,由服务器端生成图表,再传递给客户端,这样就牵扯到页面刷新的问题,会使使用者有延迟的感觉,这里必须采用AJAX技术,减少这种延迟。
(3)数据仓库的使用
将客户基本信息,与企业各部门的历次交往、交易信息保存在统一的客户库中,以便在下次交互发生时迅速定位客户,并为分析提供依据。对于大型商业企业,维护完整的客户历史数据,往往意味着海量存储技术的应用。这就意味着整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。突出的特点是对海量数据的支持和快速的检索技术。这是系统设计是否成功的关键。
3.2客户呼叫中心
客户呼叫中心包括电子邮件、WEB IM(WEB即时通讯)、传真/电话、短信4个模块,着重完成前两个模块的开发,后两个模块设计到和电信运营商之间的接口,研究条件不具备,所以就不做研究了。
3.2.1电子邮件模块
电子邮件本身已经是很成熟的技术,难点主要是和系统的整合,要对和客户之间的电子邮件做记录,数据要存放在数据仓库中,做分析。
3.2.2 WEB IM
(1)基于Web的IM不可避免地采用Http作为主要的通信协议,而Http的非连接、无状态特性使得状态管理比较困难。当然,使用Http的好处是能轻易的穿过防火墙。
(2)单向性。只有客户端(Web浏览器)主动去联系服务器,而服务端无法主动联系特定的客户。
4 结束语
介绍了基于Struts框架的电信CRM客户关系管理系统的设计与实现过程,对系统中的难点进行了分析,并给出了具体的解决方案,具有一定的实践性。