Java开源Web Service (一)

Axis 

Apache Axis Apache WebService项目中的子项目,其最初起源于IBM"SOAP4J",应该属于最早的一批用于构造基于SOAP应用的Framework 目前Apache Axis已经发展到了第三代,其核心是一个SOAP处理器,用于开发包括客户端,服务器端,SOAP Gateway等各种应用。事实上Apache Axis在了1.0版后,其发行版本还包括了完整的J2EE服务器插件, WSDL支持和生成,TCP/IP监视器等组件,从这个意义上来说Apahce Axis已不仅仅是个SOAP框架了,它包含了除了UDDI外对整个Web Service协议栈(Protocol Stack)的支持。

UDDI4J 

uddi4j是一个JAVA类库,提供了一个API来与web服务UDDI注册中心相结合。UDDI4J得到了HP, IBMSAP支持。UDDI是统一描述、发现和集成(Universal Description, Discovery, and Integration的缩写。

WSIL4J 

WSIL4JJava类库,简化了对Web服务注册中心、描述和检查文档的处理。

WSIF 

WSIFapacheweb服务项目的一个子项目,目前版本是2.0,实际上是WSIF被提交给ASF后的第一次发布版本,命名为2.0是和以前非Apache发布的1.x版本相区别。 WSIF提供了一组简单的API来调用web服务而不需要了解该web服务的实现方式,更深入的说,WSIF是一组基于WSDL文件的API,他调用可以用WSDL文件描述的任何服务。 WSIF中提供的API允许编程者通过WSDL描述内容和web服务调用的抽象层打交道,而不是直接使用SOAP来调用web服务。编程者使用WSIF后就可以使用统一的编程模型来调用web服务而不需要了解该web服务是如何实现和被访问的。 WSIF 2.0中里面提供了下列内容的支持: SOAP(可以使用apache SOAP或者axis实现)、本地java类、EJBsJMS services和其它可以通过java connector访问的应用。WSIF规定了特别的WSDL扩展使这些资源可以被当成WSDL描述的服务访问。 WSIF允许通过运行时分析web服务描述的元数据来实现无stub或者动态的调用一个web服务。他允许在运行时将更新的绑定实现插入到WSIF中,他允许调用的服务在运行时之前选择自己的绑定实现。 WSIF具有以下几个主要特征: 1,WSDL为中心和服务的抽象定义(portType)打交道,隐藏实现细节(协议绑定和服务位置) 2,可插入式允许增加心得提供者使应用可以通过修改WSDL就可以应用新的web服务而不需要修改应用的代码 3,可扩展很容易使用新的WSDL扩展进行试验 4,灵活性很容易定制很容易和JNDI结合使用是服务被提供的位置更加透明。

Caucho Burlap 

Burlap是一个轻量级的XML RPC协议.利用Burlap Web服务协议使用Web服务不需要大型的框架也不用学习其它协议。

Xfire

XFire是与Axis 2并列的新一代WebService框架。具有如下:

·         支持一系列Web Service的新标准--JSR181WSDL2.0 JAXB2WS-Security ;

·         使用Stax解释XML,性能有了质的提高。XFire采用Woodstox Stax实现;

·         Easily Create Services from POJOs;

·         易于与Spring框架结合;

·         灵活的Binding机制,包括默认的Aegis,xmlbeans,jaxb2,castor

 

SOAP UDDI 

SOAP UDDI是一个符合UDDI 2.0Web服务UDDI注册中心(registry).利用这个UDDI注册中心,Web服务开发者可以发布和测试他们的程序在一个安全的,不公开的环境中。

Caucho Hessian 

Hessian也是一个轻量级的,自定义描述的二进制RPC协议.因为它是一个二进制协议,所以它很适合于发送二进制数据而需要使用其它附件来扩展这个协议。

Ivory 

IvoryJava classes,Avalon服务,Axis这三者之间相互结合提供了一种简单的方式.它允许开发soap服务不需要进行Axis通常所要求的WSDD配置,同样也可以让Avalon服务使用标准WSDD配置变得简单。

Crispy 

利用Crispy提供的一个统一接口,你可以调用RMI,WebService,REST,XML-RPC,EJB,Burlap,Hessian等其它服务.你不需要知道这些服务是怎样工作的,要调用的服务类型可在properties文件中定义.远程调用就像简单Java对象调用一样,你可以把Crispy集成到一个SOA(Service Oriented Architecture)RCP(Rich Client Platform)中。

XINS

XINS是一项规范技术用于定义,创建和调用远程APIs。当API规范在XML文档中定义好之后,XINS将会把它们转换成包括客户端与服务端的HTML文档与Java代码.XINS将与复杂的SOAP技术竞争,因为它被设计得具有简单性,可扩缩性与可测试性。简要地说就是:SOA+Java+XML+ 代码生成-复杂性 => XINS

Restlet 

Restlet这个开源项目为那些要采用REST结构体系(Web Service标准:基于直接在HTTP上交换原始XML文档的思想)来构建应用程序的Java开发者提供了一个具体的解决方案。它由两部分组成:
1.Restlet API:
  
支持所有REST概念(资源,表示法,数据,连接器,组件等)

  
适合于clientserver REST应用程序。
  
用先进模式匹配的特性来支持URIs as UI的思想。
  
Chainlets filter来实现像日记,认证与压缩等功能。
  
支持阻塞与非阻塞NIO模式。
2.Noelios Restlet Engine (NRE):
  
Noelios Consulting提供的核心包来实现Restlet API
  
利用HTTP (通过Jetty连接器)来提供服务器连接器。
  
利用HTTP JDBC,SMTP (通过JavaMail)来提供客户端连接器。
   
支持logging (LogChainlet), authentication (GuardChainlet)cool URIs重写(RedirectRestlet)
  
采用FreeMarker模板来展示JSP页面等其它功能。

Gomba

Gomba是一组Java servlets集合,它能够帮助开发者快速构建RESTful Web servicesGomba在内部使用JDBC API同时是关系型数据库与Web之间的一个接口。Gomba可作为一个动态Web站点的中间层甚至可以作为一个数据库的报表工具。它的特点:使用httpXML来读取与写入数据到一个RDBMS。把SQL结果集表示成XML。使用XSLT来定制XML输出。使用JSTL+EL来构建动态SQL。支持BLOBCLOB SQL数据类型。支持Multipart form请求处理。使用XML responsesRESTful错误处理。

jSoapServer

jSoapServer这个Java类包可以集成到Java应用程序中为外部程序提供一个SOAP接口。jSoapServer是一个独立的SOAP服务器,因此不需要让Java程序运行在像Tomcat这样的容器中。它具有的特性包括:
*
多线程SOAP服务器,
*
使用线程池,
*
支持对gzip内容进行编码,
*
支持对压缩内容进行编码,

*
支持持久连接(persistent connections:http keep-alive)
*
支持SOAP1.1/1.2
*
支持生成WSDL
*
支持生成servlice列表,
*
支持SOAP附件(DIME,MIME)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值