探索中国CIO人才现状 | 第四季调研报告
云计算环境下CRM系统设计和实现
2014-03-11  作者:万方数据 

  随着我国进出口贸易的飞速发展。但竞争也不断加剧,如何提高客户满意度一直称为外贸企业不懈追求的目标,因此引入CRM已经成为这些企业的共识。但对于广大中小企业来说,巨大的硬件和软件投资,加之没有专门的IT专业维护人员,使他们普遍感觉力不从心。云计算的发展和普及,以及云计算的低成本实施费用为这些企业应用CRM带来了前所未有的契机,本文采用SpringSource的CloudFoundary云平台并结合Spring框架技术和FlexRIA技术开发了可定制的面向中小外贸企业的CRM系统,极大降低了这些企业实施CRM的成本。推动了CRM的普及和推广容。


  1系统实现技术


  1.1基于Java平台的云计算平台CloudFoundry


  CloudFoundary是SpringSource公司开发的基于Java平台,内置Spring支持的自助式云计算平台,用于部署、运行和管理JavaEE企业级应用。此于计算平台提供了一站式服务的云管理界面,使得在云计算环境下部署Java平台应用非常简便和快捷。


  该云平台使用Spring的tcServer作为其应用的ApplicationServer,它是与Tomcat6兼容的增强型运行环境。SpringSource不久将与SalesForce合作发布新版的VMForce云计算环境,全面支持Java和Spring框架,并融合SalesForce.com数据库和其领先的CRM平台技术,提供性能和功能全面优化的云计算平台。


  1.2Spring框架


  Spring是一个开源框架,由RodJohnson创建。它为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean(POJO)来完成以前只能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是使用IOC容器和注入方式完成Java对象及其依赖对象的创建和封装,现代企业级应用已全面采用Spring作为核心对象管理器。


  1.3BlazeDS框架


  BlazeDS是Adobe公司开发的用于连接Flex客户端和JavaEE服务器端的通讯服务开源框架,它能够使得运行在浏览器的AdobeFlex应用程序与服务器端的Java应用程序相互通信。BlazeDS使用二进制数据通讯协议AMF在客户端和服务器端传输数据,要比传统的HTTP协议的文本传输协议要快至少10倍。因此Flex客户端的响应速度要比普通的HTTP协议快得多,也比异步传输的AJAX也高效得多,尤其传递CRM的大批数据尤其明显。


  1.4SpringBlazeDS集成框架


  2009年底Adobe与Spring开发了新的框架技术SpringBlazeDSInteFation。可以利用Spring框架技术通过AdobeFlex、BlazeDS、Spring以及Java技术创建RIA应用。开发者可以通过BlazeDS公开Spring管理的服务而无需额外的配置文件,进而将Spring的易用性与Flex、BlazeDS以及Java整合起来快速创建企业级RIA应用。


  由于使用普通的BlazeDSRemoteObject技术是无法得到Spring管理的对象的,也无法利用Spring注入的依赖对象,因此需要使用SpringBlazeDS集成框架,使得Flex客户端直接与Spring管理的服务器端业务对象通讯,完成Flex与服务器对象的协作和调用。


  2系统设计与实现


  2.1总体结构设计


  系统总体采用分层结构的MVC模式,服务器端使用JavaEE平台为基础,持久层采用Hibernate框架,对象管理层使用Spring,由Spring的IoC容器全面管理服务器端所有的Java类对象,实现对象间依赖关系的注入。客户层采用Flex4RIA框架,实现了媲美桌面的Web应用操作模式。Flex使用BlazeDS框架实现客户端直接与服务器端业务对象的交互,避免使用类似Struts等控制层框架,简化了系统的设计,提高了系统的工作效率。


  因为BlazeDS无法直接取得Spring管理的业务对象,系统使用SpringBlazeDSIntegration框架,将Spring管理的Bean对象发布为Flex客户端可以直接访问的RemoteObiect。