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

时间:2016-09-05 13:18:58

标签: java odata olingo

简介

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

这意味着:

  • 用户“John”从System1
  • 接收数据
  • 用户“Adam”从System2
  • 接收数据

问题

为不同的服务推出这种“API-Wrapper”系统的最佳做法是什么?可以有一个系统(System1)也可以使用OData,所以我们只“转发”请求?在另一个系统(System2)上,我必须使用原始GET参数,处理过滤器和和来构建“特殊API”。

这可能与Olingo有关吗?是否可以将批量请求转发到System1? System2有自己的批量请求实现吗?

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

1 个答案:

答案 0 :(得分:0)

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

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

你必须手动完成这个(没有神奇的方法将传入的请求转发到另一个OData服务),但它应该是非常可行的。

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

更新:您可能需要使用JDBC公开您的OData服务以获得灵活性。 JPA非常依赖数据库对象。