隨著我國進出口貿(mào)易的飛速發(fā)展。但競爭也不斷加劇,如何提高客戶滿意度一直稱為外貿(mào)企業(yè)不懈追求的目標,因此引入CRM已經(jīng)成為這些企業(yè)的共識。但對于廣大中小企業(yè)來說,巨大的硬件和軟件投資,加之沒有專門的IT專業(yè)維護人員,使他們普遍感覺力不從心。云計算的發(fā)展和普及,以及云計算的低成本實施費用為這些企業(yè)應用CRM帶來了前所未有的契機,本文采用Spring Source的Cloud Foundary云平臺并結合Spring框架技術和Flex RIA技術開發(fā)了可定制的面向中小外貿(mào)企業(yè)的CRM系統(tǒng),極大降低了這些企業(yè)實施CRM的成本。推動了CRM的普及和推廣容。
1 系統(tǒng)實現(xiàn)技術
1.1 基于Java平臺的云計算平臺Cloud Foundry
CloudFoundary是SpringSource公司開發(fā)的基于Java平臺,內(nèi)置Spring支持的自助式云計算平臺,用于部署、運行和管理JavaEE企業(yè)級應用。此于計算平臺提供了一站式服務的云管理界面,使得在云計算環(huán)境下部署Java平臺應用非常簡便和快捷。
該云平臺使用Spring的tcServer作為其應用的Application Server,它是與Tomcat6兼容的增強型運行環(huán)境。SpringSource不久將與SalesForce合作發(fā)布新版的VMForce云計算環(huán)境,全面支持Java和Spring框架,并融合SalesForce.com數(shù)據(jù)庫和其領先的CRM平臺技術,提供性能和功能全面優(yōu)化的云計算平臺。
1.2 Spring框架
Spring是一個開源框架,由Rod Johnson創(chuàng)建。它為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。Spring使用基本的JavaBean(POJO)來完成以前只能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發(fā),從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。Spring的核心是使用IOC容器和注入方式完成Java對象及其依賴對象的創(chuàng)建和封裝,現(xiàn)代企業(yè)級應用已全面采用Spring作為核心對象管理器。
1.3 BlazeDS框架
BlazeDS是Adobe公司開發(fā)的用于連接Flex客戶端和JavaEE服務器端的通訊服務開源框架,它能夠使得運行在瀏覽器的Adobe Flex應用程序與服務器端的Java應用程序相互通信。BlazeDS使用二進制數(shù)據(jù)通訊協(xié)議AMF在客戶端和服務器端傳輸數(shù)據(jù),要比傳統(tǒng)的HTTP協(xié)議的文本傳輸協(xié)議要快至少10倍。因此Flex客戶端的響應速度要比普通的HTTP協(xié)議快得多,也比異步傳輸?shù)腁JAX也高效得多,尤其傳遞CRM的大批數(shù)據(jù)尤其明顯。
1.4 SpringBlazeDS集成框架
2009年底Adobe與Spring開發(fā)了新的框架技術Spring BlazeDS InteFation?梢岳肧pring框架技術通過Adobe Flex、BlazeDS、Spring以及Java技術創(chuàng)建RIA應用。開發(fā)者可以通過BlazeDS公開Spring管理的服務而無需額外的配置文件,進而將Spring的易用性與Flex、BlazeDS以及Java整合起來快速創(chuàng)建企業(yè)級RIA應用。
由于使用普通的BlazeDS Remote Object技術是無法得到Spring管理的對象的,也無法利用Spring注入的依賴對象,因此需要使用Spring BlazeDS集成框架,使得Flex客戶端直接與Spring管理的服務器端業(yè)務對象通訊,完成Flex與服務器對象的協(xié)作和調(diào)用。
2 系統(tǒng)設計與實現(xiàn)
2.1 總體結構設計
系統(tǒng)總體采用分層結構的MVC模式,服務器端使用JavaEE平臺為基礎,持久層采用Hibernate框架,對象管理層使用Spring,由Spring的IoC容器全面管理服務器端所有的Java類對象,實現(xiàn)對象間依賴關系的注入?蛻魧硬捎肍lex4 RIA框架,實現(xiàn)了媲美桌面的Web應用操作模式。Flex使用BlazeDS框架實現(xiàn)客戶端直接與服務器端業(yè)務對象的交互,避免使用類似Struts等控制層框架,簡化了系統(tǒng)的設計,提高了系統(tǒng)的工作效率。
因為BlazeDS無法直接取得Spring管理的業(yè)務對象,系統(tǒng)使用Spring BlazeDS Integration框架,將Spring管理的Bean對象發(fā)布為Flex客戶端可以直接訪問的Remote Obiect。系統(tǒng)的整體結構參見圖1所示。
圖1 CRM系統(tǒng)分層結構圖
從中可以看出不同框架技術在系統(tǒng)中的層次結構和職責。
2.2 持久層設計
持久層完成Java對象與數(shù)據(jù)庫表的ORM映射,系統(tǒng)使用Hibernate框架技術,避免了繁雜的JDBC SQL編程,提高了項目的開發(fā)效率和迸度。更進一步使用Spring管理下的Hibernate整合技術,使用Spring配置方式管理Hibernate的SessionFactory對象,Spring配置Hibernate的示意代碼如下:
與本地開發(fā)不同的是云計算平臺下,由于服務器采用虛擬主機技術,無法像本地服務器那樣配置數(shù)據(jù)庫連接池,因此需要CRM系統(tǒng)自己管理數(shù)據(jù)庫連接池。本系統(tǒng)使用Spring管理下的數(shù)據(jù)庫連接池,運用Apache開源DBCP框架配置連接池代碼如下:
配置的數(shù)據(jù)庫連接池對象dataSource,直接被Spring注入到Hibernate框架,用于得到SessionFactory對象。目前Cloud Foundry云平臺只支持MySQL數(shù)據(jù)庫,未來為提供其他類型的數(shù)據(jù)庫。
2.3 業(yè)務層設計
業(yè)務層對象用于實現(xiàn)CRM系統(tǒng)業(yè)務方法,其采用面向接口設計原則,由Spring管理實現(xiàn)類對象,并注入持久層的HibernateSessionFactory對象,業(yè)務對象配置代碼如下:
為簡化業(yè)務層代碼,使用Spring整合Hibernate的HibernateTemplate封裝Session和HQL的執(zhí)行。業(yè)務層的簡化示意代碼如下:
由于可見使用此種方式將極大減少項目的代碼編程量,對加快項目進度意義巨大。
2.4 傳輸層設計
傳輸層的作用是提供Flex客戶端與Spring管理的服務器端對象之間雙向數(shù)據(jù)傳輸和方法調(diào)用。此層采用Adobe的BlazeDS和Spring BlazeeDS Integration開源框架,使得Flex客戶端可以直接訪問Spring管理的業(yè)務層對象,并且也是在Spring的配置文件中進行配置,不需要單獨的BlazeDS remote object配置文件,簡化了遠程服務對象的管理工作,Remote對象的配置代碼示意如下:< flex:message-broker/ >,只此單句即可。
在標題2.3的業(yè)務對象配置時,增加一句< flex:remoting-destination/ >就將此業(yè)務對象發(fā)布為Flex可以訪問的遠程對象,要比原始的BlazeDS簡單得多。
2.5 RIA客戶端設計
客戶層采用Flex4的Spark UI組件和ActionScript分別實現(xiàn)MVC模式的View和Control層,實現(xiàn)與系統(tǒng)用戶的交互,并通過Spring BalazeDs集成框架發(fā)布的Remote Object,實現(xiàn)與業(yè)務層對象的通訊,進而完成CRM業(yè)務處理。如下代碼為Flex中聲明Remote Object:
其中destination指定的名稱即為在Spring配置的Bean的id。
2.6 系統(tǒng)云計算平臺部署
Spring Source公司提供了部署Java應用的自助式云計算平臺,將開發(fā)的Java應用部署文件WAR和數(shù)據(jù)庫表的DDL腳本文件通過Cloud Foundry部署UI。參見圖2所示。
圖2 Spring Cloud Foundry云計算平臺部署界面
在使用Cloud Foundry之前,需要使用VISA信用卡在Amazon彈性云EC2平臺上申請帳號并得到數(shù)字驗證證書,才能使用CloudFoundry云計算平臺。在云計算環(huán)境下部署CRM系統(tǒng)后,即可訪問此Web應用。
3 結論
采用此模式開發(fā)的外貿(mào)企業(yè)CRM系統(tǒng)已經(jīng)在大連今冶機械有限公司成功部署運行,為企業(yè)帶來了顯著的經(jīng)濟效益。該公司的大連總部和發(fā)布在全國各地的工廠通過該CRM系統(tǒng)實現(xiàn)了全程自動化的客戶訂單和發(fā)運管理等外貿(mào)業(yè)務處理。促進了企業(yè)業(yè)務的高效化運作,且沒有投資任何硬件和軟件。該系統(tǒng)完全運行在云計算環(huán)境中,只是按流量支付云計算平臺使用費。未來該模式CRM將會有非常廣泛的市場前景。
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標題:云計算環(huán)境下CRM系統(tǒng)設計和實現(xiàn)
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/1401934974.html