日期:2014-05-20  浏览次数:20713 次

JavaEE开发深度 思考
大家说说 JavaBean 与EJB的区别
说说 WebService在 开发中的运用。
DCOM 与COM的区别。
JavaEE方面我都会做开发。但不太理解如何利用。
JavaBean(SSH) VS EJB
EJB Vs WebService。
JavaBean Vs COM
EJB Vs DCOM
.。比较基本的我都懂。
也可以做开发。
但本质的应用 大家谈一下。

------解决方案--------------------
楼上的楼上帅气,呵呵;

至于技术直接关系问题,14楼说的很透彻,呵呵;
JavaBean 与EJB的区别 ,这个简单,JavaBean你可以理解为对象,EJB可以作为组件,组件可以有多个对象,呵呵;
WebService,运用的话,一般用在外网,就是公司对外的业务,如果是公司内部业务最好使用EJB,呵呵;

JavaBean(SSH) VS EJB ,其实ssh中spring曾经就是要取代EJB的存在,当然他并没有完全取代的能力,但是EJB2.0本身的失败很明显,所以3.0已经
是很不错的存在了,无论哪个方面,ssh用于一般结构的开发还是可以的,但是如果是相当大的项目,比如说集群的开发,模块开发,以及一些分布式上完全和EJB3.0没有办法相比,3.0仅仅事务的种类就有三种,而且我还有特别为集群开发的事务等等;
EJB3.0集成的JPA很不错,而且可以直接移植到hibernate中,这样看出,其实技术之间他们本身也是想互补作用的;

EJB Vs WebService:安全上个人认为EJB要强,当然这是个人意见,web服务是无视语言的,这个EJB是没有办法匹敌的;Web服务还可以暴露对外接口,
EJB却是需要已知的条件才能调用,适用于系统内部的一个组件作用,相当于一个零件;

对于c++没有什么研究,所以其他的没有办法帮到了;

楼上说的很锐利的说,想起以前一次复试的时候,那个项目经理让改一个功能,让说说思路,然后他问有没有办法,不修改任何类,配置文件,不增加任何类,相当于不允许让你动任何的东西去更改一个功能,当时想了很久,一直思路就在代码上,代码扩展到模式运用,各种各样的想法最后都被PASS了,最后他说,无论任何修改都是下乘,他说是去修改底层的表关系,当时摔倒了;

所以说不同的公司注重不同的技术,你会的未必是他需要,他需要的却是你一定要会的,包括思想,呵呵
------解决方案--------------------
呵呵~还没结贴呢?

再来大话一下:

其它的我不懂,关于JavaBean和EJB再罗嗦一句。

EJB=Enterprise JavaBean。

所以,JavaBean和EJB的区别就在于EJB多了一个E。

E是企业的意思,所以,EJB专用于企业级开发。

简单的说,企业需要什么?企业需要的是高强度,高性能,高安全,高可靠性的软件。

所以,EJB就是一个支持高强度,高性能,高安全,高可靠性的JavaBean。

这就是EJB和JavaBean的区别。

太抽象?那就具体点:EJB可以分布式,JavaBean不可以;EJB可以持久化,JavaBean不可以。

而分布式和持久化都是许多企业级应用中的基本要求,它们能保证软件的高强度,高性能,高可靠性。

------解决方案--------------------
大家说说 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是开源的缘故。

楼主兄弟这个题目很大,我只能就自己的经验谈谈自己的一些浅见,难免错漏,望各位硕学大家指正,以期共同进步。
------解决方案--------------------