大家说说 JavaBean 与EJB的区别
说说 WebService在 开发中的运用。
DCOM 与COM的区别。
JavaEE方面我都会做开发。但不太理解如何利用。
JavaBean(SSH) VS EJB
EJB Vs WebService。
JavaBean Vs COM
EJB Vs DCOM
.。比较基本的我都懂。
也可以做开发。
但本质的应用 大家谈一下。
说说 WebService在 开发中的运用。
DCOM 与COM的区别。
JavaEE方面我都会做开发。但不太理解如何利用。
JavaBean(SSH) VS EJB
EJB Vs WebService。
JavaBean Vs COM
EJB Vs DCOM
.。比较基本的我都懂。
也可以做开发。
但本质的应用 大家谈一下。
简单地说,COM是一种跨应用和语言共享二进制代码的方法。与C++不同,它提倡源代码重用。ATL便是一个很好的例证。源码级重用虽然好,但只能用于C++。它还带来了名字冲突的可能性,更不用说不断拷贝重用代码而导致工程膨胀和臃肿。
Windows使用DLLs在二进制级共享代码。这也是Windows程序运行的关键——重用kernel32.dll, user32.dll等。但DLLs是针对C接口而写的,它们只能被C或理解C调用规范的语言使用。由编程语言来负责实现共享代码,而不是由DLLs本身。这样的话DLLs的使用受到限制。
MFC引入了另外一种MFC扩展DLLs二进制共享机制。但它的使用仍受限制——只能在MFC程序中使用。
COM通过定义二进制标准解决了这些问题,即COM明确指出二进制模块(DLLs和EXEs)必须被编译成与指定的结构匹配。这个标准也确切规定了在内存中如何组织COM对象。COM定义的二进制标准还必须独立于任何编程语言(如C++中的命名修饰)。一旦满足了这些条件,就可以轻松地从任何编程语言中存取这些模块。由编译器负责所产生的二进制代码与标准兼容。这样使后来的人就能更容易地使用这些二进制代码。
在内存中,COM对象的这种标准形式在C++虚函数中偶尔用到,所以这就是为什么许多COM代码使用C++的原因。但是记住,编写模块所用的语言是无关的,因为结果二进制代码为所有语言可用。
此外,COM不是Win32特有的。从理论上讲,它可以被移植到Unix或其它操作系统。但是我好像还从来没有在Windows以外的地方听说过COM。
由于DCOM是COM这个组件技术的无缝升级,所以你能够从你现有的有关COM得知识中获益,你的以前在COM中开发的应用程序、组件、工具都可以移入分布式的环境中。DCOM将为你屏蔽底层网络协议的细节,你只需要集中精力于你的应用。
例如,你可以为一个网站创建应用页面,其中包括了一段能够在网络中另一台更加专业的服务器电脑上处理(在将它们发送到发出请求的用户之前)的脚本或者程序。使用DCOM接口,网络服务器站点程序(现在以客户端对象方式发出动作)就能够将一个远程程序调用(RPC)发送到一个专门的服务器对象,它可以通过必要的处理,并给站点返回一个结果。结果将发送到网页浏览器上。
DCOM还可以工作在位于企业内部或者除了公共因特网之外的其他网络中。它使用TC/IP和超文本传输协议。DCOM是作为Windows操作系统中的一部分集成的。DCOM将很快在所有的主流UNIX平台和IBM的大型服务器产品中出现。DCOM替代了OLE远程自动控制。
在提供一系列分布式范围方面,DCOM通常与通用对象请求代理体系结构(CORBA)相提并论。DCOM是微软给程序和数据对象传输的网络范围的环境。CORBA则是在对象管理组织(OMG)的帮助下,由信息技术行业的其他商家提供赞助的。
DCOM概述
Microsoft的分布式COM(DCOM)扩展了组件对象模型技术(COM),使其能够支持在局域网、广域网甚至Internet上不同计算机的对象之间的通讯。使用DCOM,你的应用程序就可以在位置上达到分布性,从而满足你的客户和应用的需求。
因为DCOM是世界上领先的组件技术COM的无缝扩展,所以你可以将你现在对基于COM的应用、组件、工具以及知识转移到标准化的分布式计算领域中来。当你在做分布式计算时,DCOM处理网络协议的低层次的细节问题,从而使你能够集中精力解决用户所要求的问题。
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了,最后他说,无论任何修改都是下乘,他说是去修改底层的表关系,当时摔倒了;所以说不同的公司注重不同的技术,你会的未必是他需要,他需要的却是你一定要会的,包括思想,呵呵
ZK、DWR、ajax、CSS 等技术交流
QQ高级群:62318889
Windows使用DLLs在二进制级共享代码。这也是Windows程序运行的关键——重用kernel32.dll, user32.dll等。但DLLs是针对C接口而写的,它们只能被C或理解C调用规范的语言使用。由编程语言来负责实现共享代码,而不是由DLLs本身。这样的话DLLs的使用受到限制。
MFC引入了另外一种MFC扩展DLLs二进制共享机制。但它的使用仍受限制——只能在MFC程序中使用。
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也可以部署成WebserviceJavaBean 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是开源的缘故。楼主兄弟这个题目很大,我只能就自己的经验谈谈自己的一些浅见,难免错漏,望各位硕学大家指正,以期共同进步。
后面的不知道了
为了 进行 几台 运行服务程序的服务器 聚族
用很多相对廉价的 中小型机(甚至微机) 跑一个服务程序
服务很多 用户 而不是一台极贵的大型机
所以 SSH和EJB 应用场合是不同的 当年EJB2。x很难用
有人说要被SSH 淘汰 其实 也是不太可能的
当然 也可EJB 取代SH 为ES 也这么用
由于DCOM是COM这个组件技术的无缝升级,所以你能够从你现有的有关COM得知识中获益,你的以前在COM中开发的应用程序、组件、工具都可以移入分布式的环境中。DCOM将为你屏蔽底层网络协议的细节,你只需要集中精力于你的应用。
例如,你可以为一个网站创建应用页面,其中包括了一段能够在网络中另一台更加专业的服务器电脑上处理(在将它们发送到发出请求的用户之前)的脚本或者程序。使用DCOM接口,网络服务器站点程序(现在以客户端对象方式发出动作)就能够将一个远程程序调用(RPC)发送到一个专门的服务器对象,它可以通过必要的处理,并给站点返回一个结果。结果将发送到网页浏览器上。
DCOM还可以工作在位于企业内部或者除了公共因特网之外的其他网络中。它使用TC/IP和超文本传输协议。DCOM是作为Windows操作系统中的一部分集成的。DCOM将很快在所有的主流UNIX平台和IBM的大型服务器产品中出现。DCOM替代了OLE远程自动控制。
在提供一系列分布式范围方面,DCOM通常与通用对象请求代理体系结构(CORBA)相提并论。DCOM是微软给程序和数据对象传输的网络范围的环境。CORBA则是在对象管理组织(OMG)的帮助下,由信息技术行业的其他商家提供赞助的。