Hprose for Ruby

Hprose for Ruby 支持哪些版本?

Hprose for Puby 支持 Ruby 1.8.5 及其更高版本。

Hprose for Ruby 支持哪些服务器?

Hprose for Ruby 服务器端可以不依赖于 Web 服务器独立运行,也可以配合任何支持 Rack 的 Web 服务器运行。

Hprose for Ruby 服务从本质上来讲是一个 Rack 应用程序,因此所有 Rack 支持的方式,它都适用。Hprose for Ruby 服务之所有以 Rack 方式来实现有两个原因:

首先,Rack 是 Ruby 在 Web 开发中的一个标准,它与 WSGI 在 Python 中的地位和作用是相当的。因此,采用这种方式来实现,将可以最大程度的支持最多的服务器。

其次,采用 Rack 方式在运行效率上相当高效,因此它可以更充分的发挥服务器的性能。

Hprose for Ruby 的支持 Rails 框架吗?

Ruby 能有今天这么火热,大半归功于 Rails 的成功。因此大部分的 Ruby 应用实际上都是 Rails 的应用,所以如果能在 Rails 上直接发布 Hprose 服务,就再好不过了。

要实现这个愿望是没有问题,在 Rails 2.3 之后,Rails 也实现了对 Rack 的支持。通过创建 Rails Metal 应用程序,即可实现对 Hprose 服务的发布。

Hprose for Ruby 支持会话吗?

Hprose for Ruby 支持 Session 管理,在创建 HproseHttpService 对象后,将你所使用的 Rack Session 中间件应用于其上即可。Rack 中已经内置了多种 Session 中间件实现。

Hprose for Ruby 支持复杂自定义对象的传输吗?

支持,而且跨语言,跨平台。

Ruby 中自定义类的对象实例在序列化时被映射为 Hprose 对象类型。自定义类中的属性名,映射为 Hprose 对象类型中的属性名,自定义类中的属性值,映射为 Hprose 对象类型中的属性值,类中所有的属性值必须为可序列化类型。

当只是接收自定义类型对象数据时,可以不用定义对象所在类,该类会在接收到对象时自动动态生成。

支持语言

已发布的版本

服务器

客户端

开发中的版本

服务器

客户端

计划中的版本

服务器

  • C
  • D
  • Erlang
  • JavaScript
  • Lua

客户端

  • C
  • D
  • Erlang
  • Lua

授权许可

Hprose 是商业开源软件,在取得 Hprose 商业使用授权后,您可以将它用于您所拥有所有权的商业项目的开发当中,Hprose 商业使用授权没有开发者人数、服务器CPU数量、授权年限等限制,但对二次分发有一定的特别要求。如果您所开发的项目或产品涉及到对 Hprose 的二次分发,还需要取得相应的二次分发授权。

如果您需要了解更多关于授权许可方面的信息,请致信到 sales@hprfc.com 与我们联系。