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+的過渡是相當平滑的。 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM