監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

淺談:企業(yè)應(yīng)該如何用好中間件

申請免費(fèi)試用、咨詢電話:400-8352-114

來源:泛普軟件

一、原則

在選好系統(tǒng)框架和統(tǒng)一開發(fā)方針后, 系統(tǒng)中間件的開發(fā)就應(yīng)充分利用已有框架所提供的服務(wù)和工具。通常中間件的開發(fā)應(yīng)遵循以下幾條原則:

1. 系統(tǒng)結(jié)構(gòu)分層,業(yè)務(wù)與實(shí)現(xiàn)分離,邏輯與數(shù)據(jù)分離

首先,應(yīng)用系統(tǒng)按照客戶端、Web服務(wù)器、應(yīng)用服務(wù)器、數(shù)據(jù)服務(wù)器分層;其次,以上幾層分別提煉出客戶端瀏覽器上和Web服務(wù)器上的中間件,即用戶可視化界面中間件與應(yīng)用服務(wù)器上的應(yīng)用邏輯中間件。在該層次上特別注意將應(yīng)用邏輯從數(shù)據(jù)中分離。理由有:

應(yīng)用邏輯變動頻繁,特別在當(dāng)前競爭激烈的市場上,要不斷適應(yīng)用戶越來越苛刻的需求。 將應(yīng)用邏輯獨(dú)立分離,可即插即用替換中間件,讓系統(tǒng)易于升級。

應(yīng)用邏輯是應(yīng)用系統(tǒng)的核心,分離出來有利于高質(zhì)量、高效處理。

在多層結(jié)構(gòu)應(yīng)用系統(tǒng)中, 如果應(yīng)用服務(wù)器上所用中間件有變化, 獨(dú)立分離出來的應(yīng)用邏輯則不會受到影響。

應(yīng)用邏輯如何獨(dú)立分離呢? 應(yīng)該按應(yīng)用域內(nèi)功能特性去劃分。一般來說,功能代表一組企業(yè)活動,對企業(yè)活動的執(zhí)行處理、操作控制、策略規(guī)則、限制條件等都屬應(yīng)用邏輯。而對數(shù)據(jù)處理的中間件必須放到數(shù)據(jù)服務(wù)器上。

如用UML語言和Rose工具時,具體做法是:

用user case圖對應(yīng)用系統(tǒng)域進(jìn)行描述。

對每種user case建立事件流說明, 關(guān)注主題事件流功能。它常常是應(yīng)用邏輯中間件的雛形內(nèi)容。

用類圖、包圖找底層和高層邏輯中間件。通常,事件控制功能或事務(wù)性功能都屬于應(yīng)用邏輯中間件的候選中間件。

在利用已有中間件或購買的中間件進(jìn)行組裝時,需要編制一些粘合代碼,對這些完成粘合定制中間件的代碼最好也要中間件化,盡可能按容器方式構(gòu)造,以便構(gòu)成高層上的中間件。

2. 以接口為核心,使用開放標(biāo)準(zhǔn)

中間件設(shè)計(jì)的目標(biāo)就是即插即用,寫一次,處處可用。達(dá)到此目標(biāo)的關(guān)鍵是中間件提供了契約式的接口。它的輸入接口代表了環(huán)境為它提供的服務(wù),輸出接口代表了它為環(huán)境提供的服務(wù)。中間件的輸入、輸出接口決定了中間件之間的連接。為了獨(dú)立于中間件供應(yīng)商,要用統(tǒng)一標(biāo)準(zhǔn),應(yīng)使用開放標(biāo)準(zhǔn),如CORBA、DCOM、JavaBean、EJB 等。

用中間件組合定制開發(fā),接口很重要,它是中間件之間的契約。一個接口提供一種服務(wù),完成某種邏輯行為。中間件接口由兩部分組成:一是署名部分,即中間件本身提供服務(wù)的描述;二是行為部分,即中間件行為的描述。一個中間件可以有一個或多個接口,在應(yīng)用系統(tǒng)中,各中間件接口必須用統(tǒng)一標(biāo)準(zhǔn)。開發(fā)者自已開發(fā)的中間件,也必須用相同標(biāo)準(zhǔn)來提供API接口。

3.中間件語義的描述要形式化

中間件接口的標(biāo)準(zhǔn)化實(shí)質(zhì)上是中間件語義形式化描述措施的一個重要方面。除此以外,還有前置和后續(xù)條件定義操作、命名服務(wù)中命名和命名上下文標(biāo)準(zhǔn)、目錄和目錄上下文標(biāo)準(zhǔn)、事務(wù)服務(wù)描述符、部署描述符等,同時有命名規(guī)則、目錄和命名綁定規(guī)則、事務(wù)語義定義、資源分布部署說明等。在不同標(biāo)準(zhǔn)中,它們都有自己的形式化語義規(guī)定。如 JNDI提供瘦型目錄訪問協(xié)議(LDAP),按可區(qū)分名字和樹形上下文描述,實(shí)現(xiàn)用戶和對象的查詢;在EJB中有會話Bean和實(shí)體Bean事務(wù)描述符、 EJB部署描述符;而在EJB部署描述符頂級元素中,定義了應(yīng)用程序元數(shù)據(jù)的容器、EJB 數(shù)據(jù)結(jié)構(gòu)、裝配信息和各種文件名。

4.提煉封裝中間件過程要嚴(yán)格記錄

由于中間件允許第三方使用,所以要保證第三方用戶能正確理解中間件設(shè)計(jì)思想,就必須記錄每次提煉的變化。通常,要用版本來管理。在開發(fā)中間件過程中選用工具時,應(yīng)注意選有版本管理功能的工具。在整個應(yīng)用軟件中,必須保證版本的一致性。當(dāng)中間件升級后,容器相應(yīng)地也要升級。

5.設(shè)計(jì)模式也可以重用

CBSD的主要優(yōu)點(diǎn)之一是重用,它的目標(biāo)是代碼、設(shè)計(jì)、解決方案都能重用。而設(shè)計(jì)模式是設(shè)計(jì)經(jīng)驗(yàn)的記錄,利用它可以達(dá)到事半功倍的效果。目前己有幾十種設(shè)計(jì)模式可供參考應(yīng)用,而用戶界面設(shè)計(jì)的MVC模式就是最常用的一種。

6.利用開發(fā)工具

由于中間件具有自檢、持久、依賴于上下文、標(biāo)準(zhǔn)接口等特性,因此通常要利用開發(fā)工具來創(chuàng)建中間件和應(yīng)用軟件,這些工具如BeanBox、 Jbuilder、 VisualAge for Java、 EJBMaker、WebGain Studio、WebGain等提供標(biāo)準(zhǔn)接口的署名和行為描述,并可檢驗(yàn)和定制中間件屬性。

二、過程

CBSD 主要是利用已有中間件組合集成。它的開發(fā)過程與傳統(tǒng)方法不同。

1. 需求分析和中間件的評選

需求分析階段除分析外,還要進(jìn)行中間件的評選。一般分兩步:查找所要中間件和評價中間件。

首先按需求分析結(jié)果,從中間件庫或中間件市場查找所需要標(biāo)準(zhǔn)的中間件,了解中間件的功能、可靠性、可預(yù)測性等特性,包括市場份額、以前業(yè)績;然后選出一些候選中間件,再進(jìn)行評價和決策。由于評價方法不精確,需求有時也不十分明確,因此評價和決策比較難。這一步主要確定中間件適應(yīng)性,主要考慮修改定制中間件的投資和風(fēng)險。

2.中間件的剪裁和擴(kuò)展

經(jīng)過評選的中間件不可能馬上都能用,有時要對已有中間件進(jìn)行屬性擴(kuò)展或修改,稱之為中間件的剪裁和擴(kuò)展。這常常需要對中間件開發(fā)者提出擴(kuò)展或修改的意見,由中間件開發(fā)者去完成。注意只改內(nèi)部屬性,不能改接口。

3.中間件的測試

經(jīng)過剪裁和擴(kuò)展后,也可能要重新開發(fā)一些新中間件,這些擴(kuò)展或新開發(fā)的中間件,必須在構(gòu)造應(yīng)用工具上進(jìn)行測試,保證中間件功能及接口規(guī)范的實(shí)現(xiàn)。這一步比傳統(tǒng)的單元測試要快和容易。

4.中間件的裝配和集成

中間件的裝配和集成是把中間件裝配成模塊或打成包,在模塊或包中都可以有自已的定制描述符。如用EJB模型時,要把中間件與EJB部署描述符裝配成EJB JAR模塊;再把EJB模塊和J2EE部署描述符打包成J2EE平臺上的應(yīng)用程序;最終將它部署到應(yīng)用服務(wù)器環(huán)境下。客戶端建立EJB客戶庫,產(chǎn)生EJB 客戶接口以及相應(yīng)的EJB存根。客戶中間件與客戶EJB部署描述符被打包成J2EE平臺上的客戶應(yīng)用程序。對大型系統(tǒng)而言,與傳統(tǒng)系統(tǒng)集成也成為一個問題,可利用Java技術(shù)本地接口JNI解決。但這只適用于非分布式、簡單的老系統(tǒng)集成,當(dāng)有訪問多個老系統(tǒng)的情況出現(xiàn)時,則不能用JNI,必須采用其他技術(shù), 如CORBA、HTTP、RMI、TCP/IP、JMS、XML等實(shí)現(xiàn)集成。

5.應(yīng)用系統(tǒng)的部署

早在EJB框架出現(xiàn)以前, 應(yīng)用系統(tǒng)是獨(dú)立的Java應(yīng)用程序。如要完成多客戶、異構(gòu)、分布式、安全并可擴(kuò)展的功能,開發(fā)者就要從事大量的編程工作,不可能在幾個月內(nèi)完成。EJB框架出現(xiàn)后, 應(yīng)用系統(tǒng)可基于應(yīng)用服務(wù)器開發(fā),應(yīng)用系統(tǒng)訪問資源及網(wǎng)上通信都由應(yīng)用服務(wù)器提供服務(wù)。應(yīng)用系統(tǒng)開發(fā)只關(guān)注應(yīng)用邏輯和數(shù)據(jù)定義,從而使整個應(yīng)用系統(tǒng)的完成變得簡單。完成應(yīng)用邏輯和數(shù)據(jù)定義編程工作后,對應(yīng)用服務(wù)器及客戶按標(biāo)準(zhǔn)的XML文件配置和部署, 完成了整個應(yīng)用系統(tǒng)的部署。

6.系統(tǒng)的演化

應(yīng)用系統(tǒng)的維護(hù)就是系統(tǒng)的演化過程, 系統(tǒng)功能的不斷改善和擴(kuò)展,是通過對系統(tǒng)中中間件的升級替換來實(shí)現(xiàn)的。隨著中間件版本的變換, 應(yīng)用系統(tǒng)也形成了不同的版本。這就是系統(tǒng)的演化。

三、 Java應(yīng)用中間件平臺

Sun公司經(jīng)過多年努力,在Java應(yīng)用方面做出了許多貢獻(xiàn)。至今, 應(yīng)用平臺共有四種:Java Card、J2ME、J2SE、J2EE,

Java Card是最小的應(yīng)用平臺,是為Java Smart 信用卡設(shè)置的平臺,目前在美國大量應(yīng)用,深受歡迎。Java Card 有一組API接口,運(yùn)行在卡虛擬機(jī)上. Java Card統(tǒng)一了智能卡的編程接口,提供了強(qiáng)大的安全機(jī)制,支持多次裝載 Applet,支持一卡多 Applet 的功能。

J2ME是Java 2平臺的微型版,它分成CDC(connected device configuration)和CLDC(connected limited device configuration)兩部分。CDC運(yùn)行在連接虛擬機(jī)上,為手提式計(jì)算機(jī)一類較復(fù)雜的移動設(shè)備提供應(yīng)用平臺;CLDC運(yùn)行在核心虛擬機(jī)(KVM) 上,它實(shí)現(xiàn)MIDP(Mobile Information Device Profile)移動信息設(shè)備應(yīng)用平臺,即針對手機(jī)之類的設(shè)備建立移動計(jì)算平臺。

J2SE是Java 2平臺的標(biāo)準(zhǔn)版, 它適用于桌面系統(tǒng),提供CORBA標(biāo)準(zhǔn)的ORB技術(shù),結(jié)合Java的RMI支持分布式互操作環(huán)境。它運(yùn)行在Java虛擬機(jī)上。在引入了Java IDL后, J2SE支持IIOP通信。它是高可移植性、異構(gòu)性的實(shí)現(xiàn)環(huán)境和健壯平臺,也是實(shí)現(xiàn)可伸縮性、可移植性、分布式異構(gòu)互操作應(yīng)用軟件開發(fā)的標(biāo)準(zhǔn)平臺。

J2EE是Java 2平臺的企業(yè)版。J2EE技術(shù)的基礎(chǔ)就是J2SE標(biāo)準(zhǔn)版,它鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn)。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結(jié)構(gòu)。它為靈活配置各種多層企業(yè)應(yīng)用軟件,特別是B2B、B2C等電子商務(wù)應(yīng)用,提供了強(qiáng)大的服務(wù)功能。最近又新加了Connector API服務(wù),使企業(yè)應(yīng)用的開發(fā)和部署有了一系列成熟的技術(shù)。J2EE已成為企業(yè)解決方案的工業(yè)標(biāo)準(zhǔn),29家公司獲得J2EE技術(shù)的使用許可證。(CIO時代論壇)

發(fā)布:2007-04-24 14:28    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
南寧OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普南寧OA快博其他應(yīng)用

南寧OA軟件 南寧OA新聞動態(tài) 南寧OA信息化 南寧OA快博 南寧OA行業(yè)資訊 南寧軟件開發(fā)公司 南寧門禁系統(tǒng) 南寧物業(yè)管理軟件 南寧倉庫管理軟件 南寧餐飲管理軟件 南寧網(wǎng)站建設(shè)公司