OData Olingo (API-) 不同系统的包装器

OData Olingo (API-) wrapper for different systems

简介

我想设置 Olingo oData 服务(2.0,Java)。该服务在其自己的包中有一个固定的模型定义。我在 Java 中也有一个用户管理。当用户向服务发送请求时,结果元数据保持不变(模型),但数据可以来自不同的系统。

这意味着:

问题

为不同的服务实现这样一个 "API-Wrapper" 系统的最佳实践是什么?可以有一个系统 (System1) 也可以与 OData 一起工作,所以我们只“转发”请求?在另一个系统 (System2) 上,有一个 "special API" 我必须使用原始 GET 参数构建,处理过滤器,以及和。

Olingo 可以吗?是否可以将批处理请求转发到 System1?而System2有自己的批量请求实现?

更多信息:我正在使用 SAP HANA Cloud Platform 并希望使用不同的后端系统。

我认为这种情况没有问题。您只需根据登录用户从 Java 应用程序向不同系统发送请求,然后解析数据并将其发回给用户。

将您的 OData 请求转发到 System1 并为调用 System2 创建特定的 GET 请求应该不是问题。

您将不得不手动执行此操作(没有神奇的方法可以将传入请求转发到另一个 OData 服务),但这应该是非常可行的。

我实际上也在 HCP 上做类似的事情(我的 OData 服务有两个数据源,一个是数据库,另一个是我使用 Web 服务与之通信的远程系统)。

更新:为了灵活性,您可能需要使用 JDBC 公开您的 OData 服务。 JPA 与数据库对象密切相关。