2.IBM的WebSphere
IBM公司是业界第一家能够提供全面支持Web服务的电子商务基础设施中间件的公司。通过多年来与W3C(The World Wide Web Consortium)的共同努力,包括DB2、Lotus、Tivoli 和WebSphere在内的所有IBM软件都实现了对SOAP、WSDL、UDDI、Linux、XML、J2EE等开放技术和标准的全面支持。 IBM公司的WebSphere也是比较好的基础架构软件开发平台。WebSphere软件平台及开发工具包括WebSphere Studio Application Developer WSAD 基于J2EE、XML 和Web服务等开放标准,并具备 IBM 在可靠性、扩展性和安全性上的主要优势。WebSphere 是 IBM 在 Web Services策略中的核心平台,它支持所有开发、发布、部署 Web Services应用所必需的开放标准和技术,包括 UDDI,SOAP,J2EE,WSDL,和对 XML 技术集成的增强,这特使得它在全球有很多用户。
3.Borland的JBuilder
Borland公司在 JBuilder7中,用户可以用其Borland Web Services Kit for Java和Borland JBuilder MobileSet 3进行更快捷地开发Web Service和无线应用。这样将使开发者能够在同一个开发环境中轻松地创建和集成Web Service。今年新推出的JBuidler8更是针对Web Service开发更提供了方便和高效的方法。
总之,在Web Service开发上,.NET 和Java都是很好的选择,尽管两者现在都有一些需要完善的地方,但是就目前来说,它们还是最好的开发手段和技术。具体选择哪种开发工具,也是仁者见仁,智者见智的问题。从根本上说,这两种方法没有孰优孰劣的问题,只是根据使用者对这两种方法的掌握程度和对具体语言的偏爱程度来决定。
web service相关术语
1、SOA
Web服务建立于Service-Oriented Architecture(面向服务的体系结构,简写SOA)基础之上,SOA是最新的分布式计算技术。
2、SOAP消息
Simple Object Access Protocol(简单对象访问协议)
SOAP与其它分布式对象协议最为主要的区别在于它是基于XML的(传统的IIOP(CORBA)或JRMP(RMI)协议是基于二时进制的)。SOAP有自己的XML Schema定义,并大量依赖于用户自定义XML Schema。每一条经网络被送出的SOAP消息,都包含了标准SOAP元素与应用数据的XML文档。SOAP用作在HTTP、SMTP、FTP等Internet协议之上使用绑定进行传送的消息交换协议。SOAP提供传输数据的标准方式,充当在服务提供方和服务请求方之间激活服务的消息交换服务
3、WSDL
Web Service Definition Language(web服务定义语言)
是一种用来描述web service及其访问信息的XML文档,它与编程语言、平台和协议无关。WSDL的协议无关性意味着,它可以用于描述任何类型的web service,而不仅仅是基于HTTP的SOAP类型,它包含web服务4个方面的重要信息:
4、UDDI
Universal Description,Discovery and Integation(通用描述、发现和集成)
它定义了在互联网上发布和寻找web service的标准. 与XML、SOAP、WSDL不同,它并非web service的基础。但是在Java EE中,它被认为是web service的一个基本要素。web服务代理方将UDDI用作注册web服务提供方的标准,而服务请求方则通过UDDI注册表通信来查找并调用服务。可UDDI可以实现为公共注册表,以支持全球的团体,也可实现为私有的注册表
实现web服务的操作步骤
(1)web服务提供方创建SOAP代理接口和基于WSDL的服务描述
(2)web服务提供方注册/发布服务
(3)web服务代理方(通常是一个UDDI注册表)将服务描述存储为绑定模块或URL
(4)web服务请求方从UDDI注册表查找服务及绑定信息
(5)web服务请求方激活并获得攻取WSDL
(6)双方使用SOAP RPC或SOAP Messaging交换机制来交换数据
常用的远程访问技术
1、RMI(remote method invocation)
客户和服务器端必须同时采用java语言,且网络不受约束(RMI使用RMI协议进行访问,无法穿透防火墙)
2、Hessian和Burlap
基于Http的轻量级远程服务,可以在不同编程语言间移植。Hessian使用二进制消息作为媒介,而burlap借助于xml实现客与服务器的交互
3、Http Invoker(spring的http调用器)
它与hessian/burlap类似,都是基于HTTP协议运行的,但是httpInvoder使用的序列化机制是由java本身提供
4、web services
Web service的出现为真正意义上的跨越硬件(设备)、操作系统(平台)、编程语言和应用系统的互操作能力提供了可能。有两种模型:
(1)基于RPC的通信模型定义基于请求/响应的同步通信。客户发出请求后,继续任何操作之前将等等服务器发回响应
(2)基于消息交换的通信模型,通信双方发送的不是一组参数,而是一个完整的文档,可以使用同步或异步通信方式。
jax-RPC(java api for xml-based RPC)
在j2ee 1.4下使用, RPC即Remote Procedure Call,名为远程过程调用
jax-WS(web service)
在java EE5和java6下使用
5、EJB
通过Remote接口提供自己的业务服务,使用JNDI定位远程服务
更多关于webservice的资料参考:http://www.ibm.com/developerworks/cn/webservices/