摘要:J2EE作為一種應(yīng)用開發(fā)平臺,由于其具有平臺無關(guān)性、可移植性、多用戶性、安全性等優(yōu)點(diǎn),正被越來越多的企業(yè)和系統(tǒng)集成商所采用。文章應(yīng)用分層構(gòu)建思想對基于J2EE平臺的系統(tǒng)集成的架構(gòu)進(jìn)行了分析和闡述,并對Siebel這一CRM集成領(lǐng)域的先驅(qū)進(jìn)行了介紹和分析。
關(guān)鍵詞:系統(tǒng)集成;J2EE平臺;Siebe;CRM
一、前言
系統(tǒng)集成,是以用戶的應(yīng)用需要和投入資金的規(guī)模為出發(fā)點(diǎn),綜合應(yīng)用各種計算機(jī)相關(guān)技術(shù),適當(dāng)選擇各種軟硬件設(shè)備,經(jīng)過相關(guān)人員的集成設(shè)計、安裝調(diào)試、應(yīng)用開發(fā)等大量技術(shù)性工作和相應(yīng)的管理性及商務(wù)性工作,使集成后的系統(tǒng)能夠滿足用戶對實(shí)際工作要求,具有良好的性能和適當(dāng)?shù)膬r格的計算機(jī)網(wǎng)絡(luò)系統(tǒng)的全過程。
系統(tǒng)集成要求將各個分離的設(shè)備(如個人電腦)、功能和信息等集成到相互關(guān)聯(lián)的、統(tǒng)一和協(xié)調(diào)的系統(tǒng)之中,使資源達(dá)到充分共享,實(shí)現(xiàn)集中、便利、高效的管理。系統(tǒng)集成實(shí)現(xiàn)的關(guān)鍵在于解決系統(tǒng)之間的互連和互操作性問題,它是一個多廠商、多協(xié)議和面向各種應(yīng)用的體系結(jié)構(gòu)。這需要解決各類設(shè)備、子系統(tǒng)間的接口、協(xié)議、系統(tǒng)平臺、應(yīng)用軟件等與子系統(tǒng)等相關(guān)的一切面向集成的問題。
二、基于J2EE平臺的系統(tǒng)集成的架構(gòu)
J2EE旨在為支持Java語言服務(wù)器端部署而提供與平臺無關(guān)的、可移植的、多用戶的、安全和標(biāo)準(zhǔn)的企業(yè)級平臺。
Java具有平臺無關(guān)性,可以運(yùn)行在Windows、Linux、Unix等不同的操作系統(tǒng)上,Java的跨平臺是通過Java虛擬機(jī)(JVM)來實(shí)現(xiàn)的,Java源代碼被編譯成一種結(jié)構(gòu)中立的中間文件格式,只要有Java運(yùn)行系統(tǒng)的機(jī)器都能執(zhí)行這種中間代,Java源程序被編譯成一種與機(jī)器無關(guān)的字節(jié)碼格式,在Java虛擬機(jī)上運(yùn)行。
J2EE標(biāo)準(zhǔn)制定了一個開發(fā)者編寫企業(yè)應(yīng)用時必須遵守的標(biāo)準(zhǔn),也制定了各種應(yīng)用系統(tǒng)服務(wù)商必須提供的基于標(biāo)準(zhǔn)的服務(wù),這樣企業(yè)應(yīng)用程序就可以在不同平臺間統(tǒng)一地使用這些服務(wù)。就像J2EE是一個工業(yè)支持開放標(biāo)準(zhǔn)一樣,應(yīng)用開發(fā)者要確信由應(yīng)用服務(wù)器以統(tǒng)一方式在不同平臺和不同供應(yīng)商之間提供下層支持服務(wù),這就允許應(yīng)用開發(fā)商集中于業(yè)務(wù)邏輯的開發(fā)而不用在他們的應(yīng)用代碼里執(zhí)行這類系統(tǒng)級服務(wù)。
另外,一旦建立一個基于Java的組件,就可以在多個軟件系統(tǒng)上重復(fù)使用,也可以移植到不同系統(tǒng)上。重用已經(jīng)建立的組件,企業(yè)不需要擁有編寫整個應(yīng)用系統(tǒng)所需要的所有技術(shù)裝備,可以從不同的專門研究某一領(lǐng)域的供應(yīng)商處購買組件,把這些組件充分利用到自己的應(yīng)用系統(tǒng)中,這不僅使應(yīng)用系統(tǒng)開發(fā)速度快速增長,而且減少了處理各種技術(shù)集的花費(fèi)。
正是由于諸如以上的眾多優(yōu)點(diǎn),J2EE平臺堪稱集成信息系統(tǒng)的“強(qiáng)力粘合劑”,它依靠WEB層和業(yè)務(wù)層的組件處理事務(wù)及安全和擴(kuò)展性,降低了訪問不同系統(tǒng)的難度。J2EE平臺的架構(gòu)由客戶層、WEB層、業(yè)務(wù)層、集成層、數(shù)據(jù)庫層構(gòu)成(如圖1):
客戶層是系統(tǒng)的用戶界面,呈現(xiàn)出適當(dāng)?shù)囊晥D,以收集查詢,顯示最終結(jié)果,它可以是瘦客戶端,胖客戶端這些非瀏覽器的客戶端,也可以是基于瀏覽器的客戶端??蛻魧訉⑿畔⒑蛿?shù)據(jù)呈現(xiàn)給最終用戶,應(yīng)用程序用戶與客戶端應(yīng)用程序交互,客戶端應(yīng)用程序與企業(yè)應(yīng)用程序的其他組件相連。用戶接口/代理提供了客戶與信息進(jìn)行交互的工具和相關(guān)的支持服務(wù),它使客戶與系統(tǒng)的交互變得簡單、快捷。J2EE支持的Java客戶端包括Applet、Java應(yīng)用客戶端、J2ME移動客戶端或MIDlet,瀏覽器是一個瘦客戶端,在J2EE系統(tǒng)的客戶端中應(yīng)用最廣。客戶端類型多種多樣,容器必須提供組件支持,為客戶端組件提供運(yùn)行時環(huán)境,JVM提供了Java運(yùn)行時環(huán)境,個人桌面系統(tǒng)、工程工作站、Applet和應(yīng)用客戶端等組件都支持JVM,而MIDlet要求對JVM進(jìn)行稍加修改。
由于業(yè)務(wù)需求瞬息萬變,WEB層成了一個動態(tài)層,WEB層主要有兩種職責(zé):接收客戶層組件的要求,處理請求,然后將請求路由到業(yè)務(wù)層的適當(dāng)組件;接受業(yè)務(wù)層傳來的結(jié)果,計算一個適當(dāng)?shù)囊晥D,然后將視圖路由到對應(yīng)客戶端??蛻魧邮褂脼g覽器應(yīng)用程序與WEB層組件交互,J2EEWEB層的重要組件有Servlet,ServletFilter和JSP,這些組件部署在高端服務(wù)器上,Web服務(wù)層和容器提供了事務(wù)、命名、目錄和JDBC等服務(wù)。其中,MVC模式分開了表示邏輯,業(yè)務(wù)邏輯和數(shù)據(jù)。
業(yè)務(wù)層負(fù)責(zé)執(zhí)行必需的業(yè)務(wù)邏輯,它根據(jù)客戶請求計算業(yè)務(wù)邏輯,但最好將這些組件隱藏起來,不將業(yè)務(wù)邏輯直接呈現(xiàn)給客戶端。J2EE業(yè)務(wù)層包括業(yè)務(wù)邏輯,數(shù)據(jù)訪問邏輯和相關(guān)服務(wù)。EJB是運(yùn)行在業(yè)務(wù)層的業(yè)務(wù)組件,EJB具有分布特點(diǎn),面向事務(wù),其中會話Bean負(fù)責(zé)創(chuàng)建和維護(hù)客戶與服務(wù)器組件的對話,實(shí)體Bean以適當(dāng)方式實(shí)現(xiàn)數(shù)據(jù)的持久層,消息驅(qū)動的Bean可將J2EE應(yīng)用程序與基于JMS的中間件集成到一起。業(yè)務(wù)組件部署在業(yè)務(wù)服務(wù)器上,業(yè)務(wù)服務(wù)器為業(yè)務(wù)組件提供各種“校準(zhǔn)”服務(wù),如事務(wù)、命名和目錄等。
EIS層將前端業(yè)務(wù)邏輯層的組件與后端數(shù)據(jù)庫層連接起來,這一層的組件應(yīng)盡量確保數(shù)據(jù)庫不同資源與業(yè)務(wù)邏輯層組件的無縫集成。很多信息系統(tǒng)有規(guī)模大、技術(shù)難度大的特點(diǎn),若巧妙集成這些信息系統(tǒng),將能保護(hù)現(xiàn)有投資,并有效“重用”信息,流程和工作流。EIS層的集成不是單純的數(shù)據(jù)集成,還涉及信息集成,對JDBC、JMS、J2EE連接器架構(gòu)、JNI和JNDI等技術(shù)能起到幫助作用,其中J2EE連接器架構(gòu)對企業(yè)最重要,能給J2EE平臺帶來“可插入”行為,廠商的資源適配器允許將信息系統(tǒng)插入J2EE平臺,以實(shí)現(xiàn)近乎零障礙的集成。
三、Siebel-基于J2EE平臺的CRM集成解決方案
Siebel是CRM理念與技術(shù)應(yīng)用的最初實(shí)踐者,為后來不斷涌現(xiàn)的CRM軟件廠商提供了業(yè)界的標(biāo)準(zhǔn),可以毫不夸張的認(rèn)為其是CRM的先驅(qū)與開創(chuàng)者。到目前為止,Siebel的CRM系統(tǒng)在CRM3個關(guān)鍵領(lǐng)域,即銷售、營銷及服務(wù)3者之間的數(shù)據(jù)/流程整合度最高,各種應(yīng)用界面最為統(tǒng)一。Siebel產(chǎn)品功能齊全,企業(yè)更能根據(jù)自己的需要選擇相應(yīng)模塊,有利于系統(tǒng)的集成,并為今后系統(tǒng)的功能擴(kuò)展提供充足的前提條件。SiebelCRM應(yīng)用引擎的多層體系如圖2所示:
用戶界面提供個性化用戶界面,管理用戶交互行為,從目標(biāo)定義庫(SRF)讀取有關(guān)用戶界面定義子集并解釋執(zhí)行。目標(biāo)管理器(ObjectManager)為Siebel所有企業(yè)管理邏輯目標(biāo)(BusinessObjects)提供完整一致的目標(biāo)行為,從SRF讀取與企業(yè)管理邏輯有關(guān)的目標(biāo)定義子集并解釋執(zhí)行。數(shù)據(jù)管理器管理一個獨(dú)立于RDBMS邏輯數(shù)據(jù)映像(DataView),從而使目標(biāo)管理器功能獨(dú)立,企業(yè)管理邏輯定義無需因不同的RDBMS而有所改變,并激發(fā)實(shí)時SQL語句,讀取并解釋SRF中有關(guān)數(shù)據(jù)關(guān)系鏈(DatabaseSchema)的定義,與數(shù)據(jù)交換層(DataExchange)通訊以訪問存于RDBMS的物理數(shù)據(jù)。數(shù)據(jù)交換層直接處理與RDBMS相關(guān)的交互信息,作為數(shù)據(jù)管理器和RDBMS的中介橋梁。
客戶端接口提供了用戶界面的簡單整合,利用COM、CORBA、ACTIVEX、XML等技術(shù)可以在客戶端進(jìn)行客戶化整合。服務(wù)端的接口為企業(yè)邏輯定義目標(biāo)提供了實(shí)時連接,利用COM、CORBA、XML、MQSeries可在服務(wù)器端進(jìn)行整合。數(shù)據(jù)管理器的接口提供了數(shù)據(jù)庫與數(shù)據(jù)庫之間的數(shù)據(jù)遷移工具,利用數(shù)據(jù)庫工具在不同的RDBMS之間進(jìn)行大容量數(shù)據(jù)交換。
Siebel的企業(yè)數(shù)據(jù)整合管理(EIM)是專門為系統(tǒng)實(shí)施所提供的數(shù)據(jù)整合管理工具,它用來處理Siebel數(shù)據(jù)庫和企業(yè)其他數(shù)據(jù)庫之間的數(shù)據(jù)交換。EIM利用系統(tǒng)中介數(shù)據(jù)庫表(InterfaceTables)暫時存儲輸入輸出數(shù)據(jù),開發(fā)人員只需直接讀寫中介數(shù)據(jù)庫表的內(nèi)容,中介表與Siebel數(shù)據(jù)庫之間的數(shù)據(jù)交換與轉(zhuǎn)換由Siebel服務(wù)器的EIM批作業(yè)自動完成。使用EIM可以對數(shù)據(jù)進(jìn)行批量輸入、輸出、數(shù)據(jù)整合和刪除。在需要數(shù)據(jù)輸出到別的應(yīng)用系統(tǒng)場合,可以用EIM從Siebel數(shù)據(jù)庫輸出數(shù)據(jù)供其他系統(tǒng)使用。必要時可以根據(jù)對定義對數(shù)據(jù)庫的紀(jì)錄進(jìn)行整合處理,消除重復(fù)紀(jì)錄??梢愿鶕?jù)定義進(jìn)行數(shù)據(jù)刪除工作,EIM將根據(jù)要求將各相關(guān)的紀(jì)錄刪除。
Siebel服務(wù)器采取邏輯體系(如圖3):
Gateway服務(wù)器也稱名字服務(wù)器,作為各企業(yè)服務(wù)器的單一入口,動態(tài)分配注冊Siebel服務(wù)器和各應(yīng)用組件(ServerComponent)的可應(yīng)用狀態(tài),存儲服務(wù)組件定義以及分配連接信息;如安裝第三方負(fù)載平衡軟件,則可以根據(jù)服務(wù)器負(fù)載情況動態(tài)分配入口請求。Siebel服務(wù)器運(yùn)行一個或多個Siebel服務(wù)程序,從名字服務(wù)器讀取服務(wù)器的配置信息,利用數(shù)據(jù)接口訪問數(shù)據(jù)庫服務(wù)器。企業(yè)服務(wù)器(EnterpriseServer)邏輯管理一個或多個Siebel服務(wù)器,讀取單個RDBMS。數(shù)據(jù)庫服務(wù)器存儲Siebel數(shù)據(jù)關(guān)系鏈,支持各種流行的數(shù)據(jù)庫標(biāo)準(zhǔn)接口。Siebel文件系統(tǒng)存儲所有經(jīng)壓縮的文檔數(shù)據(jù)及其他非標(biāo)準(zhǔn)數(shù)據(jù),以供Siebel應(yīng)用軟件讀取和存儲。
四、總結(jié)
通過集成將企業(yè)多種應(yīng)用連接在一起形成企業(yè)集成系統(tǒng)是企業(yè)信息化建設(shè)的高級階段,構(gòu)建企業(yè)集成系統(tǒng)可以提高企業(yè)信息化應(yīng)用的水平,為提升企業(yè)的市場競爭力提供信息技術(shù)手段上的支持。采用集成平臺技術(shù)實(shí)施企業(yè)集成系統(tǒng)是目前相對先進(jìn)和有效的方法,J2EE由于其平臺無關(guān)性成為開發(fā)集成平臺的首選,Siebel是基于J2EE平臺的系統(tǒng)集成解決方案,可通過數(shù)據(jù)交換、企業(yè)數(shù)據(jù)整合管理(EIM)、流程整合等實(shí)現(xiàn)系統(tǒng)間的集成,現(xiàn)廣泛應(yīng)用于CRM領(lǐng)域。
參考文獻(xiàn):
1