ejb已经成为一种新的web service平台.它对web service的支持主要体现在三个新的web service api上:分别是jax-rpc(java api for xml-rpc,它基本上是通过soap实现的java rmi,为rpc格式的soap消息提供远端接口).saaj(soap api with attachments for java,它模仿soap消息的结构,同时也有功能有限的消息分发能力)与jaxm(java api for xml messaging,它类似于jms,提供发送与接收soap消息的消息架构),利用它们可以实现与其它类型的web service进行通讯,而且还允许无序的会话bean与消息驱动的bean来作为web service使用,使它们能够被任何与 soap1.1兼容的客户端所访问.例如:使用soap,我们就可以从其它平台web service来调用无序的会话bean的方法,象微软的.net,perl,apache axix与其他的语言与平台.ejb2.1中新的web service功能能够提供一种前所未有的跨平台互操作性,它主要是建立在两个崭新的j2ee soap工具包jax-rpc与jaxm.
【程序编程相关:Java入门需掌握的30个基本概念】 【推荐阅读:Java学习:了解什么叫做JavaBea】web service代表了分布式计算的最新潮流,可能是自1995年java的出现与1998年xml出现以来最重要的技术了.其实,给web service下一个准确的定义是很难的,因为web service并不是任何特殊技术或者平台所特有的,web service是一种网络应用程序,以xml形式的文档,使用soap与wsdl进行信息交换.要更好地理解这句话的含义,你必须先理解soap与wsdl,下面是有关这方面的定义: 【扩展信息:常见的十四种Java开发工具及其特点(1】 soap:简单对象访问协议(simple object access protocol),是在w3c的支持下,由microsoft,ibm与其他公司开发的,基于xml格式的一种协议,它是可伸缩与可扩展的,不象以前的dce rpc, corba iiop, java rmi-jrmp以及dcom,它已经被几乎所有的开发厂商所认可与接受. wsdl:web服务描述语言(web service description language),也是在w3c的支持下,由microsoft,ibm与其他公司开发的,xml格式的语言,用来对web service进行描述,包括期望的消息格式类型.所使用的internet协议与web service的internet地址. 其实,web service代表了一种新的分布式对象技术,它与corba iiop与java rmi很相似,但也有许多差异,最大的差异应该就是真正的平台无关性.尽管java rmi与corba iiop都声称自己是平台无关的,但实际上,它们都需要它们自己的平台.要使用java rmi,你需要一个java虚拟机与java编程语言,对使用其它语言的开发者如visual basic或c++来说,java rmi并不是平台无关的.corba iiop也是有局限性的,iiop协议通常需要一个特定的架构如corba orb,也只有少数几个厂商支持corba.另一方面,web service着重描述信息交换的协议,而不是着重描述对这些协议的实现,换句话说,你可以用任何语言,在任何平台上,以任何你自己喜欢的方式来创建web service. web service另外一个好处就是,不象其它的分布式对象体系,它建立在现有的技术架构的基础之上,因此大多说厂商很容易实现.soap与wsdl都是基于xml的,而xml已经被广泛支持,xml解析器在几乎每一种开发语言中都有,因此,处理soap消息与wsdl文档的基础已经存在了.此外,web service消息通常是通过tcp/ip进行交换的,也已经被几乎所有的平台与语言所支持. jax-rpc与ejb jax-rpc(java api for xml-rpc)实质上就是通过soap访问的java rmi.它与“本地的”java rmi (java rmi-jrmp)与java rmi-iiop很象,但是它是以soap作为通讯协议.要实现jax-rpc,最低要求是必须对通过http访问的soap支持rpc编码,但是,我们仍然可以提供对其他编码方式.消息格式与internet协议的支持.... 下一页