问题标签 [osdi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
873 浏览

api - 不同 API 之间的映射/翻译/转换

Oracle 的 OSDI 是否有开源或其他商业替代方案?

在我的场景中,我有一个遗留 API(它是客户系统使用的,无法更改)。我有一个底层产品,它具有替换遗留系统所需的功能,但它有自己的 API。

所以我需要在他们之间进行翻译。这个翻译层是一个经典的外观模式,除了解包/映射参数和返回值之外不需要做很多事情——它没有任何状态或做任何复杂的处理。

我可以很容易地手动实现该层,但它是重复的并且容易出错。

OSDI 允许我定义要调用的方法(例如,在 SOAP 中),并指定在调用不同的底层方法时如何使用它的参数。我可以向被调用的方法添加其他值,还可以说明返回值(可能是一些 XML)如何转换为顶级方法的返回值。

它有一个基于 Eclipse 的图形编辑器,可以轻松地创建和编辑这些定义。

一切都很好,但是 OSDI 已经有 5 年左右没有更新了,它有一些问题。

那么有没有可以做类似事情的替代品?

0 投票
1 回答
40 浏览

equinox - 我可以避免复制所有的 OSDI 容器吗?

我在一个磁盘空间非常有限的平台上运行,我正在查看OpenDaylight的磁盘使用情况。

最大的目录是pluginsconfiguration/org.eclipse.osgi/bundles目录。该plugins目录是我所有捆绑包所在的位置,所以我可以接受。但该configuration/org.eclipse.osgi/bundles目录似乎主要包含我的捆绑包的副本。

例如configuration/org.eclipse.osgi/bundles/117/1/bundlefile,是plugins/org.opendaylight.controller.clustering.services-implementation-0.4.0.jar. 这是对磁盘空间的极大浪费。

我试图找到一个配置选项来禁用它,但什么也没找到。有什么事吗?

我也查看了 Equinox 源代码,但没有找到任何东西。有人可以指出我在代码中完成此操作的位置吗?我想禁用它或至少用硬链接替换它。