使用 Mule ESB 将数据公开为 ODATA API

Expose data as an ODATA API using Mule ESB

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

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

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

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

如有任何帮助,我们将不胜感激!

谢谢!

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

Mule 可以使用 ODATA connector 使用 ODATA api 但你不能真正地 'create' 以一种简单的自动化方式。

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

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

希望对您有所帮助

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

查看示例

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