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是開源的緣故。