为我的c / c ++库提供swig,soap或restful

时间:2011-06-17 06:24:20

标签: c++ web-services rest soap swig

我有一个完全用C / C ++构建的库/ API已超过10年(在Linux下)。现在我想将API导出为其他Web项目使用的Web服务。我搜索网络并缩小到以下3种选择:

  1. 使用SWIG将API导出为PHP或其他脚本/网络基础语言
  2. 使用gSOAP将API导出为SOAP协议
  3. 将API导出为RESTful服务(我找不到任何存在的框架,任何建议?)
  4. 我想用

    来比较它们
    • 稳定性
    • 易于使用
    • 性能
    SWIG似乎很容易买到我不确定它的稳定性。 gSOAP似乎非常稳定,但有点难以使用和设置。

    有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我个人使用WSO2-WSF-CPP这是一个位于AXIS2 / 2之上的C ++层,用于将旧版C ++代码导出为Web服务。

我回过头试过gSOAP,但是出于稳定性和部署的原因,我选择了WSO2,因为AXIS2 / C可以作为众所周知的Apache2 HTTP服务器的模块轻松部署。 / p>

对于易用性要求,我不知道您是否打算将WSDL文件作为模板来生成源代码框架,但是您可以忘记WSO2软件包的这个功能。它似乎已被弃用了很长时间,生成的代码太难看了,无法手工维护。

尽管自己做一个代码生成器可能是一个好主意,具体取决于您拥有的服务的复杂性和数量。我推荐它!我这样做了,现在创建/构建/生成服务非常简单。

关于WSO2 Web服务需要注意的另一件事是,它易于构建,并且随附独立服务器以进行开发和测试。这非常有帮助(即使我非常确定任何像样的网络服务平台都提供像gSOAP这样的东西)。