1

我必须提供对我的语义的访问。目前,它是一个 RDBMS,但稍后我可能会使用其他非 RDBMS 数据源(图形、hadoop 等)。

我的语义消费者位于公司域/内部网内,但在远程服务器上运行。此外,由于我们处于设计阶段,尚不清楚他们将使用什么技术来实现其业务逻辑(Java/C 或其他)。我认为向我们的 SW 的外部模块提供通过 JDBC/ODBC 对我的数据模型的直接访问是一个坏主意(因为我不想只致力于 RDBMS)。

计划是创建一个 API 来访问我的语义。API 基本上是 CRUD。当前候选者是使用 Spring 的 REST API。

我担心通过 REST 的访问可能会很慢。该技术最好是基于Java的。但是,也欢迎 C-base 和其他。

我想知道:我应该考虑哪些 REST 替代方案?除了访问速度之外,唯一的要求是它必须易于实施和维护。

我会很感激你的建议。

4

2 回答 2

0

对于公司防火墙后面的内部调用,RMI 将允许创建具有多种接受和返回复杂数据结构的方法的任意复杂 API。CORBA 也可以。这些技术是 JavaSE 的一部分。

从较新的技术来看,Google 协议缓冲区可能不适合这项任务。

于 2013-04-07T17:45:20.000 回答
0

如果你想从你的数据模型中屏蔽你的领域模型,你可以在两者之间放置一个抽象层,即接口。为什么你认为你需要一个远程边界?通过 REST 提供可远程访问的 API 与您消除域和数据模型之间耦合的担忧完全正交。

无论如何,您的 API 的使用者将始终不受您的私有域模型的影响。如果您正在构建一个 java API,您将公开接口,并且使用远程和正交 REST 接口,您将公开 HTTP 资源。

于 2013-04-07T18:01:24.867 回答