云计算平台下CRM系统设计与部署 |
发布时间: 2012/8/6 15:15:58 |
通过对现有的CRM系统的改造,结合流行的服务端组件框架技术Spring Hibernate和RIA技术Flex以及Spring BlazeDS集成框架技术全新设计了基于云计算平台的具有RIA特性的CRM系统,极大降低了中小型企业实施CRM的费用,促进CRM应用的普及。
随着我国进出口贸易的飞速发展。但竞争也不断加剧,如何提高客户满意度一直称为外贸企业不懈追求的目标,因此引入CRM已经成为这些企业的共识。但对于广大中小企业来说,巨大的硬件和软件投资,加之没有专门的IT专业维护人员,使他们普遍感觉力不从心。云计算的发展和普及,以及云计算的低成本实施费用为这些企业应用CRM带来了前所未有的契机,本文采用Spring Source的Cloud Foundary云平台并结合Spring框架技术和Flex RIA技术开发了可定制的面向中小外贸企业的CRM系统,极大降低了这些企业实施CRM的成本。推动了CRM的普及和推广容。 1 系统实现技术 1.1 基于Java平台的云计算平台Cloud Foundry CloudFoundary是SpringSource公司开发的基于Java平台,内置Spring支持的自助式云计算平台,用于部署、运行和管理JavaEE企业级应用。此于计算平台提供了一站式服务的云管理界面,使得在云计算环境下部署Java平台应用非常简便和快捷。 该云平台使用Spring的tcServer作为其应用的Application Server,它是与Tomcat6兼容的增强型运行环境。SpringSource不久将与SalesForce合作发布新版的VMForce云计算环境,全面支持Java和Spring框架,并融合SalesForce.com数据库和其领先的CRM平台技术,提供性能和功能全面优化的云计算平台。 1.2 Spring框架 Spring是一个开源框架,由Rod Johnson创建。它为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean(POJO)来完成以前只能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是使用IOC容器和注入方式完成Java对象及其依赖对象的创建和封装,现代企业级应用已全面采用Spring作为核心对象管理器。 1.3 BlazeDS框架 BlazeDS是Adobe公司开发的用于连接Flex客户端和JavaEE服务器端的通讯服务开源框架,它能够使得运行在浏览器的Adobe Flex应用程序与服务器端的Java应用程序相互通信。BlazeDS使用二进制数据通讯协议AMF在客户端和服务器端传输数据,要比传统的HTTP协议的文本传输协议要快至少10倍。因此Flex客户端的响应速度要比普通的HTTP协议快得多,也比异步传输的AJAX也高效得多,尤其传递CRM的大批数据尤其明显。 1.4 SpringBlazeDS集成框架 2009年底Adobe与Spring开发了新的框架技术Spring BlazeDS InteFation。可以利用Spring框架技术通过Adobe Flex、BlazeDS、Spring以及Java技术创建RIA应用。开发者可以通过BlazeDS公开Spring管理的服务而无需额外的配置文件,进而将Spring的易用性与Flex、BlazeDS以及Java整合起来快速创建企业级RIA应用。 由于使用普通的BlazeDS Remote Object技术是无法得到Spring管理的对象的,也无法利用Spring注入的依赖对象,因此需要使用Spring BlazeDS集成框架,使得Flex客户端直接与Spring管理的服务器端业务对象通讯,完成Flex与服务器对象的协作和调用。 2 系统设计与实现 2.1 总体结构设计 系统总体采用分层结构的MVC模式,服务器端使用JavaEE平台为基础,持久层采用Hibernate框架,对象管理层使用Spring,由Spring的IoC容器全面管理服务器端所有的Java类对象,实现对象间依赖关系的注入。客户层采用Flex4 RIA框架,实现了媲美桌面的Web应用操作模式。Flex使用BlazeDS框架实现客户端直接与服务器端业务对象的交互,避免使用类似Struts等控制层框架,简化了系统的设计,提高了系统的工作效率。 因为BlazeDS无法直接取得Spring管理的业务对象,系统使用Spring BlazeDS Integration框架,将Spring管理的Bean对象发布为Flex客户端可以直接访问的Remote Obiect。系统的整体结构参见图1所示。 图1 CRM系统分层结构图 从中可以看出不同框架技术在系统中的层次结构和职责。 2.2 持久层设计 持久层完成Java对象与数据库表的ORM映射,系统使用Hibernate框架技术,避免了繁杂的JDBC SQL编程,提高了项目的开发效率和迸度。更进一步使用Spring管理下的Hibernate整合技术,使用Spring配置方式管理Hibernate的SessionFactory对象,Spring配置Hibernate的示意代码如下: 与本地开发不同的是云计算平台下,由于服务器采用虚拟主机技术,无法像本地服务器那样配置数据库连接池,因此需要CRM系统自己管理数据库连接池。本系统使用Spring管理下的数据库连接池,运用Apache开源DBCP框架配置连接池代码如下: 配置的数据库连接池对象dataSource,直接被Spring注入到Hibernate框架,用于得到SessionFactory对象。目前Cloud Foundry云平台只支持MySQL数据库,未来为提供其他类型的数据库。 本文出自:亿恩科技【www.enkj.com】 |