EJB組件與可重用性的矛盾
更新時(shí)間:2006年10月13日 00:00:00 作者:
EJB技術(shù)正在像其他輝煌過的技術(shù)一樣走到了一個(gè)關(guān)口。2000年以前這項(xiàng)技術(shù)充滿了傳奇色彩,被大批企業(yè)不假思索地接受。然而理想畢竟是理想,經(jīng)過了幾年的發(fā)展,今天這項(xiàng)技術(shù)卻正在被懷疑或者至少說讓技術(shù)人員猶豫不決,現(xiàn)實(shí)的是J2EE的對手出來了,.NET似乎又有著后發(fā)的技術(shù)優(yōu)勢。大部分的探討和爭論已經(jīng)開始轉(zhuǎn)向這兩個(gè)體系結(jié)構(gòu)的對比。Java陣營內(nèi)部同樣發(fā)出了懷疑的聲音,最直接的就是對EJB的攻擊,因?yàn)槿藗儼l(fā)現(xiàn)原來這項(xiàng)技術(shù)所做的承諾似乎都走向了相反的方向
1.大量的案例由于采用了這種技術(shù)反而使得系統(tǒng)開發(fā)日趨復(fù)雜,而不是想像的簡化開發(fā)周期加長成了家常便飯,實(shí)現(xiàn)一個(gè)進(jìn)銷存就把很多人難倒。
2. EJB成了昂貴的代名詞,而不是期望的成本降低
3. 廢了半天勁還不如用消息傳遞進(jìn)行系統(tǒng)互操作
4. 最終發(fā)現(xiàn)徹底地?cái)[脫平臺(tái)是不可能的
但是Java總歸還是不錯(cuò)的,于是有了Spring等等N種體系。EJB開始讓人們困惑。任何技術(shù)和人生一樣有它的困惑期,但是EJB給人們的困惑尤為經(jīng)典,更具意義。J2EE和其他體系的對比已經(jīng)泛濫于網(wǎng)上,實(shí)際應(yīng)用的經(jīng)驗(yàn)也隨處可見,以至于不需要這里介紹,但是EJB現(xiàn)在并未被單獨(dú)地被重視這是應(yīng)該值得注意的,這與J2EE發(fā)展史卻是背道而馳的。必須承認(rèn)這么一個(gè)事實(shí),EJB是被單獨(dú)提出和定義的,最早是完全單獨(dú)的一種規(guī)范,這與所謂體系結(jié)構(gòu)并沒有直接的關(guān)系,或者說EJB的意義和目標(biāo)絕不只是在J2EE內(nèi)封裝商業(yè)邏輯,所以過于在框架內(nèi)討論EJB,或者說認(rèn)為J2EE的弱點(diǎn)一定要蔓延到EJB上是否合適是值得探討的。
EJB誕生的初期人們的興奮關(guān)鍵在于這種模型吸收了以往組件技術(shù)的精華,并有很大發(fā)展,使人們看到了強(qiáng)健的商業(yè)組件制造成本降低的期望,特別是跨越平臺(tái)的可裝配性和移植性,這是軟件工程界一直的夢想,因?yàn)檫@意味著企業(yè)端計(jì)算程序設(shè)計(jì)工業(yè)化和細(xì)致分工也許要成為可能。這種思想目前也影響了界面一級的應(yīng)用,例如所謂的Portlet技術(shù),IBM公司的WebSphere平臺(tái)的技術(shù)也許不是可怕的,但是有幾十個(gè)合作伙伴事實(shí)上給它提供了類似的合作,這才真正是讓對手感到害怕的。因此我們談?wù)揈JB的時(shí)候,談?wù)撍膬r(jià)值和作用,脫離了它的設(shè)計(jì)目標(biāo)也就失去了更大的意義,以下的商業(yè)環(huán)境和軟件技術(shù)瓶頸應(yīng)該重新被審視:
1. 軟件工程就重用領(lǐng)域來講是否超越了組件時(shí)代,或者說已經(jīng)不需要組件了?
2. 軟件的重用是否只需要互調(diào)用而不需要重復(fù)裝配,乃至裝配到不同的部位?
3. 商業(yè)邏輯是否仍然需要封裝,并保持強(qiáng)健的特性,不間斷地服務(wù)
4. 組件和強(qiáng)健和可用性是互聯(lián)特性能取代的嗎?
5. 是否有更廉價(jià)的組件形式超越EJB并同樣獲得眾多的支持?
6. .NET的組件標(biāo)準(zhǔn)和EJB是否有可比性,或者說什么組件形式和EJB才有可比性?
當(dāng)冷靜地思考的時(shí)候就知道,技術(shù)不應(yīng)該被當(dāng)作明星吹捧,但同樣也沒有容易倒下的軟件技術(shù)。EJB不成熟,但不等于可以輕易被否定。是EJB使得很多普通的程序員能夠介入原來貴族似的組件開發(fā),甚至是簡單的Windows上面開發(fā)UNIX上的組件,EJB的歷史問題大多數(shù)在于將這種技術(shù)錯(cuò)誤地濫用:一個(gè)瀏覽人數(shù)少的可憐廣告瀏覽程序也要用組件,對于一個(gè)只想簡單算出庫存的客戶設(shè)計(jì)了所謂N年后才需要的擴(kuò)展性。同樣現(xiàn)實(shí)中在這一技術(shù)擅長的領(lǐng)域,至少目前還無法找到更強(qiáng)大的競爭者。技術(shù)選擇是應(yīng)用型的技術(shù)人員永恒的主題,類似的困惑會(huì)不斷的出現(xiàn),最重要的是認(rèn)同它們的理想和目標(biāo),保持對它們客觀清醒的認(rèn)識(shí)。放到擅長的領(lǐng)域的技術(shù)才是最優(yōu)美的,這和人生沒有什么兩樣。
1.大量的案例由于采用了這種技術(shù)反而使得系統(tǒng)開發(fā)日趨復(fù)雜,而不是想像的簡化開發(fā)周期加長成了家常便飯,實(shí)現(xiàn)一個(gè)進(jìn)銷存就把很多人難倒。
2. EJB成了昂貴的代名詞,而不是期望的成本降低
3. 廢了半天勁還不如用消息傳遞進(jìn)行系統(tǒng)互操作
4. 最終發(fā)現(xiàn)徹底地?cái)[脫平臺(tái)是不可能的
但是Java總歸還是不錯(cuò)的,于是有了Spring等等N種體系。EJB開始讓人們困惑。任何技術(shù)和人生一樣有它的困惑期,但是EJB給人們的困惑尤為經(jīng)典,更具意義。J2EE和其他體系的對比已經(jīng)泛濫于網(wǎng)上,實(shí)際應(yīng)用的經(jīng)驗(yàn)也隨處可見,以至于不需要這里介紹,但是EJB現(xiàn)在并未被單獨(dú)地被重視這是應(yīng)該值得注意的,這與J2EE發(fā)展史卻是背道而馳的。必須承認(rèn)這么一個(gè)事實(shí),EJB是被單獨(dú)提出和定義的,最早是完全單獨(dú)的一種規(guī)范,這與所謂體系結(jié)構(gòu)并沒有直接的關(guān)系,或者說EJB的意義和目標(biāo)絕不只是在J2EE內(nèi)封裝商業(yè)邏輯,所以過于在框架內(nèi)討論EJB,或者說認(rèn)為J2EE的弱點(diǎn)一定要蔓延到EJB上是否合適是值得探討的。
EJB誕生的初期人們的興奮關(guān)鍵在于這種模型吸收了以往組件技術(shù)的精華,并有很大發(fā)展,使人們看到了強(qiáng)健的商業(yè)組件制造成本降低的期望,特別是跨越平臺(tái)的可裝配性和移植性,這是軟件工程界一直的夢想,因?yàn)檫@意味著企業(yè)端計(jì)算程序設(shè)計(jì)工業(yè)化和細(xì)致分工也許要成為可能。這種思想目前也影響了界面一級的應(yīng)用,例如所謂的Portlet技術(shù),IBM公司的WebSphere平臺(tái)的技術(shù)也許不是可怕的,但是有幾十個(gè)合作伙伴事實(shí)上給它提供了類似的合作,這才真正是讓對手感到害怕的。因此我們談?wù)揈JB的時(shí)候,談?wù)撍膬r(jià)值和作用,脫離了它的設(shè)計(jì)目標(biāo)也就失去了更大的意義,以下的商業(yè)環(huán)境和軟件技術(shù)瓶頸應(yīng)該重新被審視:
1. 軟件工程就重用領(lǐng)域來講是否超越了組件時(shí)代,或者說已經(jīng)不需要組件了?
2. 軟件的重用是否只需要互調(diào)用而不需要重復(fù)裝配,乃至裝配到不同的部位?
3. 商業(yè)邏輯是否仍然需要封裝,并保持強(qiáng)健的特性,不間斷地服務(wù)
4. 組件和強(qiáng)健和可用性是互聯(lián)特性能取代的嗎?
5. 是否有更廉價(jià)的組件形式超越EJB并同樣獲得眾多的支持?
6. .NET的組件標(biāo)準(zhǔn)和EJB是否有可比性,或者說什么組件形式和EJB才有可比性?
當(dāng)冷靜地思考的時(shí)候就知道,技術(shù)不應(yīng)該被當(dāng)作明星吹捧,但同樣也沒有容易倒下的軟件技術(shù)。EJB不成熟,但不等于可以輕易被否定。是EJB使得很多普通的程序員能夠介入原來貴族似的組件開發(fā),甚至是簡單的Windows上面開發(fā)UNIX上的組件,EJB的歷史問題大多數(shù)在于將這種技術(shù)錯(cuò)誤地濫用:一個(gè)瀏覽人數(shù)少的可憐廣告瀏覽程序也要用組件,對于一個(gè)只想簡單算出庫存的客戶設(shè)計(jì)了所謂N年后才需要的擴(kuò)展性。同樣現(xiàn)實(shí)中在這一技術(shù)擅長的領(lǐng)域,至少目前還無法找到更強(qiáng)大的競爭者。技術(shù)選擇是應(yīng)用型的技術(shù)人員永恒的主題,類似的困惑會(huì)不斷的出現(xiàn),最重要的是認(rèn)同它們的理想和目標(biāo),保持對它們客觀清醒的認(rèn)識(shí)。放到擅長的領(lǐng)域的技術(shù)才是最優(yōu)美的,這和人生沒有什么兩樣。
相關(guān)文章
JSP中動(dòng)態(tài)include與靜態(tài)include的區(qū)別介紹
動(dòng)態(tài)include與靜態(tài)include的區(qū)別你知道嗎,下面就詳細(xì)為大家詳細(xì)介紹下,如果你還不知道那么不要錯(cuò)過2013-11-11點(diǎn)擊地圖div上的按鈕實(shí)現(xiàn)對地圖數(shù)據(jù)的入庫操作
在地圖div上添加一個(gè)按鈕并單擊在彈出層的輸入框內(nèi)輸入數(shù)據(jù)后點(diǎn)擊提交按鈕將數(shù)據(jù)提交至數(shù)據(jù)庫,具體的實(shí)現(xiàn)如下,感興趣的朋友可以參考下2013-08-08JSP教程(六)-怎么在JSP中跳轉(zhuǎn)到別一頁面
JSP教程(六)-怎么在JSP中跳轉(zhuǎn)到別一頁面...2006-10-10JSP基于JDBC的數(shù)據(jù)庫連接類實(shí)例
這篇文章主要介紹了JSP基于JDBC的數(shù)據(jù)庫連接類,以實(shí)例形式較為詳細(xì)的分析了JDBC連接數(shù)據(jù)庫的實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-11-11實(shí)例講解JSP Model2體系結(jié)構(gòu)(上)
實(shí)例講解JSP Model2體系結(jié)構(gòu)(上)...2006-10-10JSP中的PreparedStatement對象操作數(shù)據(jù)庫的使用教程
這篇文章主要介紹了JSP中的PreparedStatement對象操作數(shù)據(jù)庫的使用教程,文中舉了一些使用PreparedStatement預(yù)處理語句對象進(jìn)行MySQL增刪查改的例子,需要的朋友可以參考下2016-04-04JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析
這篇文章主要介紹了JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02