WebService与EJB的区别

1.WebService可以说是跨平台的,因为它采用的是XML技术,说穿了就是把你的请求按照该WebServece的标准将参数传过去,然后服务器返回结果,当然了最重要的是参数的传递和结果的返回都是采用XML格式,但需要按照规范的,现在有SOAP和ebXML,说到XML自然有DTD或是Schema了,它用WSDL和UDDI来管理这些规范。   
    EJB也可以说成是远程调用,但采用的协议是RIM/IIOP,客户端将方法请求按照协议封装,然后发送到服务器,服务器把结果返回给客户端。由于采用了协议,所以传输的数据我们可以看成二进制数据和WebService(传输xml文本数据)不一样。

WebService提供一个跨平台的异构方法调用,一般用来实现某种商务逻辑过程。   
EJB提供一个更精确的方法调用,一般又多个EJB来实现一定的商务逻辑。

一般你可以用WebService来提供用户调用,具体怎么实现用EJB来做。

2.EJB的分布式:一个业务逻辑可能会调用分布在多台服务器上的 EJB 组件,但是这么多的组件调用必须纳入一个事务范围之中。也就是说如果需要调用三个 EJB 组件,第一个调用成功,第二个调用成功,但第三个调用失败了,因此在第一和第二次调用成功时进行的事务操作(这里的事务操作不单单指数据库的,还有可能包括消息队列服务的事务)都必须进行回滚。但是,如果是调用三个 WebService 的话,那调用成功的那两个基本上是不可能进行回滚的,调用完了就是完了。
WebService 只是对外提供的调用接口,而 EJB 是个业务组件。一个对外的 WebService 在服务端中也是需要实现业务逻辑的,在 J2EE 中,这些业务逻辑基本上都是由 EJB 组件来实现,对外发布 WebService 接口(当然了,使用符合 JAX-WS 规范的开源框架不用 EJB 也能做到)。
相对于 EJB 这种服务端来说,Servlet 只能算是一个 Web 层面调用的客户端。一个 EJB 组件不仅仅是只能用于 B/S 结构的应用,也能用于 C/S 结构的应用。这也能澄清很多人的误区,认为 JavaWeb 就是 J2EE 了,其实 J2EE 是一系列的规范集,而 Java Web 只是 J2EE 诸多规范中的一小部分。J2EE 中其他大部分规范定义的都是服务端的东西,作为具体的客户端调用,可以是 B/S 的,也可以是 C/S 的。

3.Webservice主要关注于解决异构系统、不同语言系统通信,其关注的是分布式服务开发、着手点要高、站的角度高,而ejb可以看做是分布式编程平台,通过容器和组件,简化了程序开发、调试和部署等它关注的是分布式组件开发,粒度小。

Web service可以看做是异构系统、异构语言系统间通信的一个标准,而ejb只属于J2EE规范的一部分。

ejb是JavaEE 中的一个规范,该规范描述了分布式应用程序需要解决的问题,例如事务处理、安全、日志、分布式等,而同时呢,sun公司也实现了自己定义的这一个标准,相当于自己颁布一个标准然后,又给出了实现供别人使用,实现以很多API的方式提供给用的人。

ejb是按照java服务器接口定义的java类,可以理解为一个特殊的java类,放在容器里容器可以帮助该类管理事务、分布式、安全等,一般小的程序不会用到,只有大型分布式系统才会用到ejb,既然ejb是一个java类或是一个组件,颗粒较小,这也是与Webservice的区别之一,下面会说到,它就可以被其它一个或多个模块调用。

包含了三种类型的Bean,可以通过注释JPA一个规范来标记,其中有一种Bean,叫MDB消息驱动bean,它的通信机制涉及到了JMS协议。

ejb可以进行远程调用,但是不能够跨语言,ejb是同步调用,而平时我们说的的ejb异步调用指的是ejb的MDB异步通信

原文地址:https://www.cnblogs.com/tjlp/p/9166817.html

时间: 2024-10-07 17:58:13

WebService与EJB的区别的相关文章

Webservice soap wsdl的区别

Web Service完结业务诉求:Web Service是真实“就事”的那个,供给一种就事接口的总称.WSDL供给“能办的事的文档阐明”:对要供给的效劳的一种描绘格局.我想帮你的忙,但是我要通知你我都能干啥,以及干这些工作需求的参数类型.SOAP供给“恳求”的规范:向效劳接口传递恳求的格局,包括办法和参数等.你想让人家就事,总得通知人家你想干啥吧,SOAP即是界说这个“恳求”的格局的,按照SOAP界说的“恳求”格局“书写”恳求就能够确保Web Service能够正确的解读你想让它干啥以及你为它

JavaBean与EJB的区别与应用

JavaBean 是一种组件,它在内部有接口或有与其相关的属性,以便不同人在不同时间开发的 bean 可以询问和集成. EJB 是部署在服务器上的可执行组件或商业对象.有一个协议允许对其进行远程访问或在特定服务器上安装或部署它们. AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 您现在可能已经在使用 JavaBean,但还不了解它. 如果有支持 Java 的浏览器,那么,在桌面上使用 JavaBean 就没有限制. 使用的 Web 页面可以将 bean 作为小应用程序

Web Service和EJB的区别

1.WebService可以说是跨平台的,因为它采用的是XML技术,说穿了就是把你的请求按照该WebServece的标准将参数传过去,然后服务器返回结果,当然了最重要的是参数的传递和结果的返回都是采用XML格式,但需要按照规范的,现在有SOAP和ebXML,说到XML自然有DTD或是Schema了,它用WSDL和UDDI来管理这些规范.EJB也可以说成是远程调用,但采用的协议是RIM/IIOP,客户端将方法请求按照协议封装,然后发送到服务器,服务器把结果返回给客户端.由于采用了协议,所以传输的数

ssh和ejb的区别

SSH(Struts,Spring,Hibernate) Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装. EJB(企业级JavaBean)是一个用来构筑企业级应用的服务器端可被管理组件, 设计目标与核心应用是部署分布式应用程序. spring与ejbEJB最初的设计思想考虑的是为分布式的应用服务的,分布式是针对大型应用构造的跨平台的协作计算,EJB最初的目的就是为这种计算服务的.但是软件发展到目前为止,大多数应用不需要采用分布式的解决方案,因此用EJ

Java BEAN与EJB的区别

Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean.但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性.Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的.Enterprise Java Bean 相当于DCOM,即分布式组件.它

webservice跟ajax的区别和相同点

原文地址:http://blog.csdn.net/freshcommonlife/article/details/4041337 webservice跟ajax有如下相同: 1.两个都使用xml技术实现,2.两个都使用http协议.3.两个都实现不同平台不同开发语言间的数据交换 但两又有许多不同1.webservices是服务端技术,主要在后台为各种程序提供服务,使用原有的soap(简单对象访问协议),主要解决的问题是提供一种理想的单位或机构间商业数据安全交换. 2.ajax则是客户端技术,它

webservice和restful的区别

REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性.REST提出设计概念和准则为: 1.网络上的所有事物都可以被抽象为资源(resource) 2.每一个资源都有唯一的资源标识(resource identifier),对资源的操作不会改变这些标识 3.所有的操作都是无状态的 REST简化开发,其架构遵循CRUD原则,该原则告诉我们对于资源(包括网络资源)只需要四种行为:创建,获取,更新和删除就可以完成相关的操作和处理.您可以

JavaBean和EJB的区别

首先,EJB是指运行在EJB容器中的JavaBean.Tomcat是Web容器的参考实现.一个完整的JavaEE服务器应该包括Web容器和EJB容器.其次,Web容器中无法运行EJB,同时所有的JavaBean都是在服务器端运行的.如果有在客户端的话,就变成C/S结构了.目前来说除非需要分布式处理,不然基本上不需要考虑EJB.Spring能帮你处理好除分布计算之外的一切.用JavaScript来进行服务器调用的话,属于Ajax的范围了.至于购物车.一般来说有几种方法,一种是EJB中的有状态Ses

转:webservice跟ajax的区别和相同点

webservice跟ajax有如下相同: 1.两个都使用xml技术实现, 2.两个都使用http协议. 3.两个都实现不同平台不同开发语言间的数据交换 但两又有许多不同 1.webservices是服务端技术,主要在后台为各种程序提供服务,使用原有的soap(简单对象访问协议),主要解决的问题是提供一种理想的单位或机构间商业数据安全交换. 2.ajax则是客户端技术,它使用已经广泛使用的xmlhttp技术,它主要解决的问题是目前浏览器被动地位,使得客户端可以主动性从服务器获取信息,变成一个富客