`

大家说说 JavaBean 与EJB的区别

    博客分类:
  • 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是开源的缘故。

分享到:
评论

相关推荐

    Java面试宝典大全+涵盖Java所有知识面

    13、如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置? 130 14、如何查看在weblogic中已经发布的EJB? 131 十. EBJ部分 131 1、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean...

    最新Java面试宝典pdf版

    22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计模式?用在什么场合? 127 九. j2ee部分 127 1、BS与CS的联系与...

    Java面试宝典-经典

    22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计模式?用在什么场合? 127 九. j2ee部分 127 1、BS与CS的联系与...

    java面试题大全(2012版)

    22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计模式?用在什么场合? 127 九. j2ee部分 127 1、BS与CS的联系与...

    Java面试宝典2012版

    一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。...4、在JAVA中如何跳出当前的多重嵌套...22、spring 与EJB的区别!! 126 ...

    java面试宝典2012

    22、spring 与EJB的区别!! 137 八. 软件工程与设计模式 138 1、UML方面 138 2、j2ee常用的设计模式?说明工厂模式。 138 3、开发中都用到了那些设计模式?用在什么场合? 138 九. j2ee部分 139 1、BS与CS的联系与...

    超级有影响力霸气的Java面试题大全文档

    23、EJB与JAVA BEAN的区别?  Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应...

Global site tag (gtag.js) - Google Analytics