同构软件集成

时间:2010-10-04 17:03:43

标签: integration abstraction administration

我正在考虑一些可能与软件集成最匹配的问题。

假设有一台机器运行操作系统和一些程序A,B和C.现在所有程序都以某种方式将数据存储在文件系统上。假设A使用Apache Derby,B使用PostgreSQL,B使用XML文件。

现在有三种方法可以存储数据。显而易见的问题是:为什么不只使用一种方法来存储所有程序的数据?

起初有人会说:没有办法为大多数程序配置存储数据的方式。它构建在程序本身中。它是开发人员的决定,基于软件的要求。

这可能是对的,但我不认为大多数程序对如何存储数据有特殊要求。只有少数程序需要特定的数据存储方式。大多数软件的所有开发者可能同意一种特定的存储数据的方式,例如, PostgreSQL的。现在管理员可以安装PostgreSQL,所有程序都可以一起使用它。

这可能更灵活。我不知道本机程序是否有类似的东西,但对于Java程序,您可以使用类似JDO的东西来存储数据。 JDO是一个标准化的持久性框架,它与数据存储区无关。可以使用RDBMS,XML,对象库数据存储库等。该程序几乎100%独立于存储数据的方式!您可以配置程序用于通过配置文件存储数据的方式。

如果所有程序都使用JDO,则可以将所有程序配置为使用相同的数据存储,而不必修复特殊的数据存储。这将简化这种机器上的软件环境。

这不仅限于数据存储区。该系统上可能还有其他冗余软件,它甚至更多地集成到软件中,可能无法从外部配置,因为缺乏抽象。

是否有任何已知方法以更均匀的方式集成所有不同的软件?

提前致谢

1 个答案:

答案 0 :(得分:0)

已经尝试过了。

事实上,它已经被反复尝试过了。

但为了使它成功,你必须

  1. 预测所有可能的用例。因为如果你不这样做,就会有人自己动手而不是等你添加新功能来满足他们的需求。
  2. 以最高效率处理所有这些用例。因为如果你不这样做,有人会自己动手而不是等你修复他们需要的角落案件,但在你的实施中运行缓慢。
  3. 控制平台,或者包括过程中的每个人(让他们高兴!)。因为如果你不这样做,人们就会自己寻找竞争优势。
  4. 您是否开始看到承诺的规模?您是否看到在IT方面取得进展的速度有多慢?

    事实上,在一个中等规模的项目中很难做到这一点。