WEB开发网
开发学院软件开发Java 以 OSGi 包的形式开发和部署 Web 服务 阅读

以 OSGi 包的形式开发和部署 Web 服务

 2010-03-31 00:00:00 来源:WEB开发网   
核心提示:简介OSGi 是一个面向 Java 的动态模块系统,OSGi Alliance发布了模块系统的规范,以 OSGi 包的形式开发和部署 Web 服务,一些受欢迎的 OSGi 容器包括 Eclipse Equinox和 Apache Felix 等等,作为一种用于开发和部署模块化的、可重用的 Java 程序的框架,并使用一

简介

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 容器中,以及演示该服务的两个不同版本能够共存并为多个类型的客户机服务。

1 2 3 4 5 6  下一页

Tags:OSGi 形式 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接