以 OSGi 包的形式开发和部署 Web 服务
2010-03-31 00:00:00 来源:WEB开发网简介
OSGi 是一个面向 Java 的动态模块系统。OSGi Alliance发布了模块系统的规范。一些受欢迎的 OSGi 容器包括 Eclipse Equinox和 Apache Felix 等等。作为一种用于开发和部署模块化的、可重用的 Java 程序的框架,OSGi 呈现出强劲的发展势头。
OSGi 容器允许以 Jar 格式部署 Java 模块(OSGi 将其称为 “包”)。OSGi 的一个有趣的功能就是能够把一个服务包的多个版本部署到同一个容器中。所有部署到 OSGi 容器中的包在一个 JVM 中运行。如果一个服务的客户端位于这个 OSGi 容器的外部,那么这个服务包需要有分布式功能。Apache cxf-dosgi是一个新的服务框架,支持用于 OSGi 包的分布式功能。
当 Web 服务提供商开发了一个新版本的服务时,通常需要继续支持现有的客户机。因此,Web 服务提供商需要同时部署和维护多个版本的服务。OSGi 自然成为满足这一需求的出色选择。
自从 CXF 团队发布了一个叫作 cxf-dosgi(支持对 OSGi 包进行分布)的新的框架以来,我选择 Eclipse Equinox 作为 OSGi 的容器,并选择 Apache CXF 作为 Web 服务框架。通过使用这个框架,我们可以把 Web 服务作为 OSGi 包进行开发和部署。由于一个包的多个版本能够共存,因此人们可以同时部署和维护多个版本的 Web 服务。我将把 Apache Tomcat 作为一个 servlet 容器使用,用于部署客户机。
在本文中,我将描述开发 cxf-dosgi 服务包的详细方法以及如何在 OSGi 容器中进行部署,并使用一个简单的 Web 客户机(和 OSGi 容器运行在不同的 JVM 中)对其进行访问。我还将描述开发同一个服务的不同版本并把它部署到同一个 OSGi 容器中,以及演示该服务的两个不同版本能够共存并为多个类型的客户机服务。
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››开发者眼中的Windows Phone和Android
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››开发一个自己的HTML在线编辑器(一)
- ››开发一个自己的HTML在线编辑器(二)
- ››开发者在App Store上赚的钱比在Android Market上多...
- ››开发者应深入学习的10个Android开源应用项目
- ››开发移动 Web Ajax 应用
- ››开发者眼中的iPhone与Android
- ››开发者或想使用的10个Android2.2新特性
更多精彩
赞助商链接