碧波液压网 欢迎你,游客。 登录 注册

在Apache上为WSMAN实现开发新的模块

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  Apache 是世界上目前应用最广泛的 web 服务器之一,WSMAN 即 WEB 服务管理规范,该规范规定了远程软硬件管理的通用方法。随着两者的广泛应用,如何使两者工作在同一系统且相辅相成显得尤为重要。本文将给出开发新的 mod_wsman 模块的方法和步骤以达到上述目的。

  前言

  WSMAN 规范是基于 web 服务的协议,底层传输采用 HTTP 协议和 HTTPS 协议,所以说它是一种防火墙友好的协议。一般情况下,WSMAN 服务工作在 80 端口,若此时系统中,已经运行了其他 web 服务,比如 Apache 服务,且也是工作在 80 端口,那么必须先关闭这些 web 服务,才能正常启动 WSMAN 服务。为了能使两者同时正常工作,Openwsman 项目采用了基于库函数调用的方法。Openwsman 是 WSMAN 规范的开放源代码实现,能够以独立运行的进程态工作,同时,它还提供了一系列库函数调用接口,其他进程可以调用这些接口。 Apache 第三方模块中有一个名叫 mod_wsman,Apache 可以通过在 mod_wsman 中直接调用 Openwsman 库函数以实现 WSMAN 规范。但是这种方式下的 mod_wsman 有很多缺点,首先 mod_wsman 调用 Openwsman 库函数,不能独立于 Openwsman 开发编译。其次,现存的 mod_wsman 是基于 Apache1.3 开发的,不能满足 Apache2.0 及更高版本的需求。

  本文开发的基于 Apache2.0 的 mod_wsman 将完全独立于 Openwsman,适用于各种 WSMAN 规范的实现(本文将以 Openwsman 为例)。

  Mod_wsman 的开发结构

  本文提出的 mod_wsman 开发是基于进程的,其结构如图 1 所示。 Apache 和 WSMAN 服务分别运行在独立进程态。 Apache 工作在 80 端口,而 WSMAN 服务工作在在其他端口,比如端口 8889 。但是用户依旧通过 80 端口发送 WSMAN 请求。 Apache 发现这是一个 WSMAN 的请求,将交由 mod_wsman 处理,而此时该模块的主要功能是转发请求到 WSMAN 进程,应答信息则是沿原路返回。从功能上讲,此处的 mod_wsman 有点类似于代理,mod_wsman 并不需要太关注具体的 WSMAN 实现。此处有两点需要说明,首先,在此情况下,端口 8889 是否对外开放,一般来说,此处 8889 端口不应该对外开放,当然用户可以根据具体需求决定。其次,关于 Apache 和 WSMAN 功能重叠部分,比如认证等,两者都提供了各种方法,在这种结构下,对于 WSMAN 请求,只要有一处实现了该功能即可,用户在实际应用中可以根据实际需求选择,本文的例子中,在两个进程分别各自实现该功能。

  图 1. mod_wsman 的开发结构  

  Apache 及 Openwsman 的安装配置

  可以在 Apache 官网 载最新版本的 Apache 源代码,unix 版本 2.2 。

  Apache 提供两种安装第三方模块的方法。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论