JavaBean 與 EJB 的區別

JavaBean在通常狀況下指的是實體類,在大部分狀況下和POJO是同義詞,基本構成就是一些字段和與之對應的 
setter、getter方法,若是一個JavaBean須要在不一樣的JVM的進程中進行傳遞,還須要實現Serializable接口; 
EJB = Enterprise Java Bean,它和JavaBean有本質的區別,最好不要將他們混淆起來,就像不要將Java和 
Javascript混淆起來同樣。EJB有3中類型:Session, Entity和Message-driven。EJB2.x使用起來很複雜, 
這些缺點在EJB3.0已經不存在了。http://blog.csdn.net/pathuang68/archive/2009/04/19/4091645.aspx這裏有怎樣開發EJB的詳細教程,說到JavaBean和EJB的區別,咱們能夠這麼說,他們幾乎沒有什麼是相同的,若是非要說有什麼區別的話,那就是: 
1. JavaBean的使用能夠不須要容器,EJB的運行通常須要EJB容器(即應用服務器,如JBoss/Weblogic/Websphere...等等) 
2. EJB可使用JavaBean,尤爲是Entity EJB的時候,但幾乎沒有看到JavaBean可使用EJB的。 

說說 WebService在 開發中的運用。 
1. WebService因爲採用http協議,並且使用和web服務相同的端口(如80),所以它能夠不受防火牆的限制 
2. WebService因爲採用了XML作傳輸載體,所以它對全部的編程語言來講都是中性的,也就是說,不一樣的編程語言能夠經過WebService進行通信 
3. 也正由於WebService採用XML作傳輸載體,因爲XML中存在不少標記(就像HTML中的 <html>之類的東西),所以通訊效率相對比較低。 
4. 之前Webservice的通訊,在網絡上傳輸的時候不是很安全,如今這些都已經解決,如MS的WSE,固然也能夠本身寫代碼來保證安全。 
5. Webservice出現之初,因爲採用XML進行傳輸,所以傳輸二進制文件如圖片就存在問題,解決辦法是首先將圖片文件進行諸如Base64之類的編碼,傳輸到接收端後,再有接收端進行反編碼,從而獲得二進制文件。 

DCOM 與COM的區別 
1. COM不支持分佈式通信,而DCOM(Distributed COM)支持 
2. COM的運行不須要容器,而DCOM須要,如MTS 
3. COM能夠經過工具轉換成DCOM 
4. COM和DCOM有點過期,但目前仍有不少應用在使用他們 

JavaEE方面我都會作開發。但不太理解如何利用。 
JavaBean(SSH) VS EJB 
這個問題我以爲改爲SSH vs. EJB可能更合適一點。SSH = Spring + Struts + Hibernate,他們組合起來能夠實現和EJB相似的功能。但通常狀況下SSH應用與小型項目,EJB一般用於較正式的、大型的項目。好比想象中國移動這樣的公司可能會用Weblogic或者Webshpere,即便用EJB,而不會採用SSH,其中一個很重要的緣由是SSH都是開源框架,沒有專門的技術服務支持,固然還有一些其餘緣由。 
EJB Vs WebService。 
1. 他們的通訊方式不一樣。EJB採用的是IIOP的機制,Webservice用的就是http 
2. EJB僅限於Java應用之間的通訊,Webservice的通訊能夠跨語言 
3. EJB通訊的效率要比Webservice要高 
4. EJB也能夠部署成Webservice 

JavaBean Vs COM 
二者之間沒有太大的可比性。COM的原理是很是複雜的(若是感興趣,能夠去研究一下MSDN相關技術文檔),JavaBean如前面所說是很是簡單的。 

EJB Vs DCOM 
這兩個東西的確比較相似,它們運行都須要容器EJB須要諸如Weblogic,Webshpere以及JBoss這樣的EJB容器,DCOM的容器則是MTS,他們均可以進行分佈式計算。不過DCOM目前已經逐漸被COM+代替,不過而開發和部署人員來講DCOM和COM+的過渡是至關平滑的。 

html

DCOM/COM+是Microsoft的技術,EJB是SUN的技術,EJB被支持的基礎更普遍一些,著名的廠家如IBM,Oracle等等如支持EJB,這主要是由於EJB得益於Java是開源的緣故。web

相關文章
相關標籤/搜索