首頁(yè)>>>技術(shù)>>>CRM  CRM產(chǎn)品

發(fā)表評(píng)論分享按鈕

云計(jì)算平臺(tái)下CRM系統(tǒng)設(shè)計(jì)與部署

呂海東 2012/03/15

  通過(guò)對(duì)現(xiàn)有的CRM系統(tǒng)的改造,結(jié)合流行的服務(wù)端組件框架技術(shù)Spring Hibernate和RIA技術(shù)Flex以及Spring BlazeDS集成框架技術(shù)全新設(shè)計(jì)了基于云計(jì)算平臺(tái)的具有RIA特性的CRM系統(tǒng),極大降低了中小型企業(yè)實(shí)施CRM的費(fèi)用,促進(jìn)CRM應(yīng)用的普及。 隨著我國(guó)進(jìn)出口貿(mào)易的飛速發(fā)展。但競(jìng)爭(zhēng)也不斷加劇,如何提高客戶滿意度一直稱為外貿(mào)企業(yè)不懈追求的目標(biāo),因此引入CRM已經(jīng)成為這些企業(yè)的共識(shí)。但對(duì)于廣大中小企業(yè)來(lái)說(shuō),巨大的硬件和軟件投資,加之沒(méi)有專門的IT專業(yè)維護(hù)人員,使他們普遍感覺(jué)力不從心。云計(jì)算的發(fā)展和普及,以及云計(jì)算的低成本實(shí)施費(fèi)用為這些企業(yè)應(yīng)用CRM帶來(lái)了前所未有的契機(jī),本文采用Spring Source的Cloud Foundary云平臺(tái)并結(jié)合Spring框架技術(shù)和Flex RIA技術(shù)開(kāi)發(fā)了可定制的面向中小外貿(mào)企業(yè)的CRM系統(tǒng),極大降低了這些企業(yè)實(shí)施CRM的成本。推動(dòng)了CRM的普及和推廣容。

  1 系統(tǒng)實(shí)現(xiàn)技術(shù)

  1.1 基于Java平臺(tái)的云計(jì)算平臺(tái)Cloud Foundry

  CloudFoundary是SpringSource公司開(kāi)發(fā)的基于Java平臺(tái),內(nèi)置Spring支持的自助式云計(jì)算平臺(tái),用于部署、運(yùn)行和管理JavaEE企業(yè)級(jí)應(yīng)用。此于計(jì)算平臺(tái)提供了一站式服務(wù)的云管理界面,使得在云計(jì)算環(huán)境下部署Java平臺(tái)應(yīng)用非常簡(jiǎn)便和快捷。

  該云平臺(tái)使用Spring的tcServer作為其應(yīng)用的Application Server,它是與Tomcat6兼容的增強(qiáng)型運(yùn)行環(huán)境。SpringSource不久將與SalesForce合作發(fā)布新版的VMForce云計(jì)算環(huán)境,全面支持Java和Spring框架,并融合SalesForce.com數(shù)據(jù)庫(kù)和其領(lǐng)先的CRM平臺(tái)技術(shù),提供性能和功能全面優(yōu)化的云計(jì)算平臺(tái)。

  1.2 Spring框架

  Spring是一個(gè)開(kāi)源框架,由Rod Johnson創(chuàng)建。它為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean(POJO)來(lái)完成以前只能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開(kāi)發(fā),從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。Spring的核心是使用IOC容器和注入方式完成Java對(duì)象及其依賴對(duì)象的創(chuàng)建和封裝,現(xiàn)代企業(yè)級(jí)應(yīng)用已全面采用Spring作為核心對(duì)象管理器。

  1.3 BlazeDS框架

  BlazeDS是Adobe公司開(kāi)發(fā)的用于連接Flex客戶端和JavaEE服務(wù)器端的通訊服務(wù)開(kāi)源框架,它能夠使得運(yùn)行在瀏覽器的Adobe Flex應(yīng)用程序與服務(wù)器端的Java應(yīng)用程序相互通信。BlazeDS使用二進(jìn)制數(shù)據(jù)通訊協(xié)議AMF在客戶端和服務(wù)器端傳輸數(shù)據(jù),要比傳統(tǒng)的HTTP協(xié)議的文本傳輸協(xié)議要快至少10倍。因此Flex客戶端的響應(yīng)速度要比普通的HTTP協(xié)議快得多,也比異步傳輸?shù)腁JAX也高效得多,尤其傳遞CRM的大批數(shù)據(jù)尤其明顯。

  1.4 SpringBlazeDS集成框架

  2009年底Adobe與Spring開(kāi)發(fā)了新的框架技術(shù)Spring BlazeDS InteFation。可以利用Spring框架技術(shù)通過(guò)Adobe Flex、BlazeDS、Spring以及Java技術(shù)創(chuàng)建RIA應(yīng)用。開(kāi)發(fā)者可以通過(guò)BlazeDS公開(kāi)Spring管理的服務(wù)而無(wú)需額外的配置文件,進(jìn)而將Spring的易用性與Flex、BlazeDS以及Java整合起來(lái)快速創(chuàng)建企業(yè)級(jí)RIA應(yīng)用。

  由于使用普通的BlazeDS Remote Object技術(shù)是無(wú)法得到Spring管理的對(duì)象的,也無(wú)法利用Spring注入的依賴對(duì)象,因此需要使用Spring BlazeDS集成框架,使得Flex客戶端直接與Spring管理的服務(wù)器端業(yè)務(wù)對(duì)象通訊,完成Flex與服務(wù)器對(duì)象的協(xié)作和調(diào)用。

  2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

  2.1 總體結(jié)構(gòu)設(shè)計(jì)

  系統(tǒng)總體采用分層結(jié)構(gòu)的MVC模式,服務(wù)器端使用JavaEE平臺(tái)為基礎(chǔ),持久層采用Hibernate框架,對(duì)象管理層使用Spring,由Spring的IoC容器全面管理服務(wù)器端所有的Java類對(duì)象,實(shí)現(xiàn)對(duì)象間依賴關(guān)系的注入。客戶層采用Flex4 RIA框架,實(shí)現(xiàn)了媲美桌面的Web應(yīng)用操作模式。Flex使用BlazeDS框架實(shí)現(xiàn)客戶端直接與服務(wù)器端業(yè)務(wù)對(duì)象的交互,避免使用類似Struts等控制層框架,簡(jiǎn)化了系統(tǒng)的設(shè)計(jì),提高了系統(tǒng)的工作效率。

  因?yàn)锽lazeDS無(wú)法直接取得Spring管理的業(yè)務(wù)對(duì)象,系統(tǒng)使用Spring BlazeDS Integration框架,將Spring管理的Bean對(duì)象發(fā)布為Flex客戶端可以直接訪問(wèn)的Remote Obiect。系統(tǒng)的整體結(jié)構(gòu)參見(jiàn)圖1所示。


圖1 CRM系統(tǒng)分層結(jié)構(gòu)圖

  從中可以看出不同框架技術(shù)在系統(tǒng)中的層次結(jié)構(gòu)和職責(zé)。

  2.2 持久層設(shè)計(jì)

  持久層完成Java對(duì)象與數(shù)據(jù)庫(kù)表的ORM映射,系統(tǒng)使用Hibernate框架技術(shù),避免了繁雜的JDBC SQL編程,提高了項(xiàng)目的開(kāi)發(fā)效率和迸度。更進(jìn)一步使用Spring管理下的Hibernate整合技術(shù),使用Spring配置方式管理Hibernate的SessionFactory對(duì)象,Spring配置Hibernate的示意代碼如下:


  與本地開(kāi)發(fā)不同的是云計(jì)算平臺(tái)下,由于服務(wù)器采用虛擬主機(jī)技術(shù),無(wú)法像本地服務(wù)器那樣配置數(shù)據(jù)庫(kù)連接池,因此需要CRM系統(tǒng)自己管理數(shù)據(jù)庫(kù)連接池。本系統(tǒng)使用Spring管理下的數(shù)據(jù)庫(kù)連接池,運(yùn)用Apache開(kāi)源DBCP框架配置連接池代碼如下:


  配置的數(shù)據(jù)庫(kù)連接池對(duì)象dataSource,直接被Spring注入到Hibernate框架,用于得到SessionFactory對(duì)象。目前Cloud Foundry云平臺(tái)只支持MySQL數(shù)據(jù)庫(kù),未來(lái)為提供其他類型的數(shù)據(jù)庫(kù)。

  通過(guò)對(duì)現(xiàn)有的CRM系統(tǒng)的改造,結(jié)合流行的服務(wù)端組件框架技術(shù)Spring Hibernate和RIA技術(shù)Flex以及Spring BlazeDS集成框架技術(shù)全新設(shè)計(jì)了基于云計(jì)算平臺(tái)的具有RIA特性的CRM系統(tǒng),極大降低了中小型企業(yè)實(shí)施CRM的費(fèi)用,促進(jìn)CRM應(yīng)用的普及。

  2.3 業(yè)務(wù)層設(shè)計(jì)

  業(yè)務(wù)層對(duì)象用于實(shí)現(xiàn)CRM系統(tǒng)業(yè)務(wù)方法,其采用面向接口設(shè)計(jì)原則,由Spring管理實(shí)現(xiàn)類對(duì)象,并注入持久層的HibernateSessionFactory對(duì)象,業(yè)務(wù)對(duì)象配置代碼如下:


  為簡(jiǎn)化業(yè)務(wù)層代碼,使用Spring整合Hibernate的HibernateTemplate封裝Session和HQL的執(zhí)行。業(yè)務(wù)層的簡(jiǎn)化示意代碼如下:


  由于可見(jiàn)使用此種方式將極大減少項(xiàng)目的代碼編程量,對(duì)加快項(xiàng)目進(jìn)度意義巨大。

  2.4 傳輸層設(shè)計(jì)

  傳輸層的作用是提供Flex客戶端與Spring管理的服務(wù)器端對(duì)象之間雙向數(shù)據(jù)傳輸和方法調(diào)用。此層采用Adobe的BlazeDS和Spring BlazeeDS Integration開(kāi)源框架,使得Flex客戶端可以直接訪問(wèn)Spring管理的業(yè)務(wù)層對(duì)象,并且也是在Spring的配置文件中進(jìn)行配置,不需要單獨(dú)的BlazeDS remote object配置文件,簡(jiǎn)化了遠(yuǎn)程服務(wù)對(duì)象的管理工作,Remote對(duì)象的配置代碼示意如下:《 flex:message-broker/ 》,只此單句即可。

  在標(biāo)題2.3的業(yè)務(wù)對(duì)象配置時(shí),增加一句《 flex:remoting-destination/ 》就將此業(yè)務(wù)對(duì)象發(fā)布為Flex可以訪問(wèn)的遠(yuǎn)程對(duì)象,要比原始的BlazeDS簡(jiǎn)單得多。

  2.5 RIA客戶端設(shè)計(jì)

  客戶層采用Flex4的Spark UI組件和ActionScript分別實(shí)現(xiàn)MVC模式的View和Control層,實(shí)現(xiàn)與系統(tǒng)用戶的交互,并通過(guò)Spring BalazeDs集成框架發(fā)布的Remote Object,實(shí)現(xiàn)與業(yè)務(wù)層對(duì)象的通訊,進(jìn)而完成CRM業(yè)務(wù)處理。如下代碼為Flex中聲明Remote Object:


  其中destination指定的名稱即為在Spring配置的Bean的id。

  2.6 系統(tǒng)云計(jì)算平臺(tái)部署

  Spring Source公司提供了部署Java應(yīng)用的自助式云計(jì)算平臺(tái),將開(kāi)發(fā)的Java應(yīng)用部署文件WAR和數(shù)據(jù)庫(kù)表的DDL腳本文件通過(guò)Cloud Foundry部署UI。參見(jiàn)圖2所示。


圖2 Spring Cloud Foundry云計(jì)算平臺(tái)部署界面

  在使用Cloud Foundry之前,需要使用VISA信用卡在Amazon彈性云EC2平臺(tái)上申請(qǐng)帳號(hào)并得到數(shù)字驗(yàn)證證書(shū),才能使用CloudFoundry云計(jì)算平臺(tái)。在云計(jì)算環(huán)境下部署CRM系統(tǒng)后,即可訪問(wèn)此Web應(yīng)用。

  3 結(jié)論

  采用此模式開(kāi)發(fā)的外貿(mào)企業(yè)CRM系統(tǒng)已經(jīng)在大連今冶機(jī)械有限公司成功部署運(yùn)行,為企業(yè)帶來(lái)了顯著的經(jīng)濟(jì)效益。該公司的大連總部和發(fā)布在全國(guó)各地的工廠通過(guò)該CRM系統(tǒng)實(shí)現(xiàn)了全程自動(dòng)化的客戶訂單和發(fā)運(yùn)管理等外貿(mào)業(yè)務(wù)處理。促進(jìn)了企業(yè)業(yè)務(wù)的高效化運(yùn)作,且沒(méi)有投資任何硬件和軟件。該系統(tǒng)完全運(yùn)行在云計(jì)算環(huán)境中,只是按流量支付云計(jì)算平臺(tái)使用費(fèi)。未來(lái)該模式CRM將會(huì)有非常廣泛的市場(chǎng)前景。

萬(wàn)方數(shù)據(jù)


建德市| 珲春市| 黎城县| 漯河市| 轮台县| 广德县| 旺苍县| 开江县| 天峨县| 孝昌县| 喀喇沁旗| 南宁市| 酒泉市| 马龙县| 洪雅县| 曲沃县| 安乡县| 鄂托克旗| 双牌县| 上高县| 元阳县| 龙泉市| 望都县| 册亨县| 黎川县| 谢通门县| 临安市| 新化县| 大邑县| 崇信县| 文水县| 焦作市| 吴江市| 额敏县| 竹北市| 香港| 天门市| 日喀则市| 南汇区| 黄平县| 墨竹工卡县|