java osgi webservice_运用Spring DM和CXF来实现WebService的动态发布-Java频道-中国IT实验室...

在JAXWS2.0发布以前,用JAVA发布一个WebService是一件相当复杂的工作,令很多开发高手都望而却步;但随着JAXWS2.0、2.1版本的发布,通过大量使用JAVA annotation特性,以及运用JAXB20规范来统一数据展示,从而大大简化和规范了开发过程,一些新的开源框架也随之诞生。Apache CXF就是其中的佼佼者。它实现了JCP与Web Service2.1中一些重要标准。CXF简化了构造,集成,面向服务架构(SOA)业务组件与技术的灵活复用。在CXF中,Service使用WSDL标准定义并能够使用各种不同的消息格式(或binding)和网络(transports)包括SOAP、XML(通过HTTP或JMS)进行访问。

而OSGI技术更是JAVA社区近来的热点,它将面向contract,插件化,组件化的设计思想上升到一个理论的高度,推出了一系列的规范和参考实现;Spring DM更是在OSGI基础上将Spring的DI能力扩充到OSGI层面,并对OSGI规范中缺少的部分加以补充和完善,使之成为更具有实践应用价值的框架。

这篇文件将介绍如何运用这两个开源项目来实现WebService的组件化发布。

环境:

Eclipse3.4

JDK1.605

CXF2.1.1

Spring DM1.0.3

第一步:在Eclipse下创建新的工作区;

第二步:导入Spring DM的Bundle,主要导入以下几个Bundle:

(1)org.springframework.bundle.osgi.core

(2)org.springframework.bundle.osgi.extender

(3)org.springframework.bundle.osgi.io

(4)org.springframework.bundle.spring.aop

(5)org.springframework.bundle.spring.beans

(6)org.springframework.bundle.spring.context

(7)org.springframework.bundle.spring.core

(8)org.springframework.osgi.aopalliance.osgi

第三步:导入其他Eclipse下的Bundle

(1)org.apache.commons.logging

(2)org.eclipse.equinox.http.jetty

(3)org.eclipse.equinox.http.servlet

(4)org.eclipse.osgi.services

(5)org.mortbay.jetty

设计的原则:

(1) CXF将被独立封装成一个Bundle;

(2) CXF Bundle对外提供OSGI服务,其他Bundle可以利用这个服务来发布Web Service;

(3) CXF内部缺省使用了Spring的库,而Spring DM环境也带了Spring 的库,所以在实现CXF Bundle的时候要使CXF运行于None Spring模式;

(4) 充分考虑系统的封装型和可扩展能力;

(5) Web Service必须是动态发布;

[1]

【责编:Chuan】

--------------------next---------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值