我想设置一个Olingo oData服务( 2.0,Java )。该服务在其自己的包中具有固定的模型定义。我还有一个Java用户管理。当用户向服务发送请求时,结果元数据保持不变(模型),但数据可能来自不同的系统。
这意味着:
为不同的服务推出这种“API-Wrapper”系统的最佳做法是什么?可以有一个系统(System1)也可以使用OData,所以我们只“转发”请求?在另一个系统(System2)上,我必须使用原始GET参数,处理过滤器和和来构建“特殊API”。
这可能与Olingo有关吗?是否可以将批量请求转发到System1? System2有自己的批量请求实现吗?
更多信息:我正在使用SAP HANA Cloud Platform,并希望使用不同的后端系统。
答案 0 :(得分:0)
我认为这种情况没有问题。您只需根据登录用户将Java应用程序的请求发送到不同的系统,然后解析数据并将其发送回用户。
将OData请求转发到System1并为System2的调用创建特定的GET请求也不应该是一个问题。
你必须手动完成这个(没有神奇的方法将传入的请求转发到另一个OData服务),但它应该是非常可行的。
我实际上在HCP上做了类似的事情(我的OData服务有两个数据源,一个是数据库,另一个是我使用Web服务与之通信的远程系统)。
更新:您可能需要使用JDBC公开您的OData服务以获得灵活性。 JPA非常依赖数据库对象。