【问题标题】:Expose data as an ODATA API using Mule ESB使用 Mule ESB 将数据公开为 ODATA API
【发布时间】:2016-01-07 21:11:37
【问题描述】:

我正在处理一个需求,我们希望使用 Mule ESB 将 Oracle 数据公开为 ODATA API。

我指的是下面的this article,它使用了 Apache Olingo 库。此实现解决了解决方案的大部分问题。

我想知道如何使用 http 端点连接器在 Mule ESB 中运行此应用程序,而不是在 Tomcat 服务器上运行。

由于我是 mule ESB 的初学者,我对如何在 mule 流中创建对 web.xml 的引用以将请求传递给 servlet 没有太多想法。

任何帮助将不胜感激!

谢谢!

【问题讨论】:

    标签: tomcat mule odata


    【解决方案1】:

    对您的问题的简短回答是,您不能真正引用 web.xml 或在 mule 服务器中嵌入标准 webapp,即使有办法我也肯定不会鼓励它。

    Mule 可以通过 ODATA connector 使用 ODATA api,但您不能真正以简单的自动化方式“创建”一个。

    在您的情况下,最好的方法可能是使用您在专用 tomact 上链接的 java 库创建 API,并在内部公开 ODATA APi,而不是在简单的传递槽中通过 mule 代理它。

    现在 ODATA 只是一个选择,而不是一个约束,您可以重新考虑这一点,只需使用 RAML 将您的 Oracle 数据公开为 restFull API。当然,请记住,mule 不应该执行任何业务逻辑,因此您不应该直接查询,但您可以调用包装业务逻辑的存储过程/函数。

    希望对你有帮助

    【讨论】:

    • 感谢您的评论。我想使用 Mule 手动创建 ODATA 生产者不是一个好的选择。我们的要求是使用使用 ODATA api 的 Lightning connect 在 Salesforce 中为 Oracle 数据创建外部对象。这就是我们必须坚持使用 ODATA 的原因。
    • 在这种情况下,您必须使用 mule 使用纯 java 解决方案,就像通过代理一样。手动实现可能会花费更多时间且效率更低,最后 mule 只是一个 ESB,而 ODATA API 与数据层紧密耦合,因此拥有 ad-hoc 服务是有意义的。
    • 是的,我完全同意你的评论。我们现在也关注你提到的方法。谢谢!
    • 欢迎您。如果对您有帮助,请考虑给予支持或将答案标记为正确。谢谢
    • 我想为您的评论点赞,但目前我的帐户没有足够的积分。
    【解决方案2】:

    MuleSoft 有一个使用 APIKit 从数据库生成 OData API 的示例。你可以在https://github.com/mulesoft/apikit-odata-example看到这个例子。

    此示例使用 json 数据模型和 APIKit v2.0 来生成流和 RAML 文件。该示例已将数据库连接器配置为对 MySQL 数据库进行查询。

    【讨论】:

    • 感谢您的回复。不知道 Mule 3.3.2 版本是否支持 APIKit ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多