【问题标题】:Can Microsoft Sync framework for ado.net work with Java?ado.net 的 Microsoft Sync 框架可以与 Java 一起使用吗?
【发布时间】:2009-01-03 15:29:02
【问题描述】:

我计划将以下架构用于其中一个应用程序: 客户端:基于 Java 的应用程序,将使用 MySQL 数据库 服务器:将基于 C#,数据库将是 SQL Server

现在可以在 Java 中使用 Microsoft Sync Framework 了吗? (可能通过实现一些接口?)。我希望来自 Java 客户端的数据同步到服务器,反之亦然。这可能吗?

如果没有,您能否推荐一些其他的同步框架。

【问题讨论】:

    标签: c# java synchronization microsoft-sync-framework


    【解决方案1】:

    首先,我不熟悉 Sync,但快速阅读 overview 表明您的客户端需要提供 Web 服务或 RSS 提要,以便 Sync 运行时获取数据从 Java 进程同步。

    我在您的设计中看到的问题是,通常有不止一个客户端,但从语义上讲,只有一个后端——在这种情况下是 MySQL 数据库。我怀疑这会导致 Sync 在多个客户端运行时认为存在冲突,但我可能错了。

    无论如何,我认为您的目标是保持 MySQL 和 MSSQL 数据库同步?如果是这种情况,那么为什么不在成为同步参与者的 MySQL 数据库前面运行一个服务器端进程。如果您已经在服务器端安装了 .Net,您甚至可以用 C# 编写它,这必将缓解互操作问题。

    如果您将客户端设置为同步参与者,那么请查看 Jakarta Commons,我认为其中包含将您的客户端变成一个简单的网络服务器所需的代码充当网络服务或 RSS 提要。

    【讨论】:

      【解决方案2】:

      您需要在 Java 和 Sync 框架之间找到一些“粘合剂”。 Java Native Interface 会给你一个好的开始。

      【讨论】:

        【解决方案3】:

        实际上,您可以直接从 SQL 服务器使用更改跟踪。

        http://msdn.microsoft.com/en-us/library/cc280462(SQL.100).aspx

        【讨论】:

          【解决方案4】:

          您可以让 Sync Framework 的“客户端”部分成为单独的 C#.NET 应用程序或服务。这意味着将同步客户端和 .NET 框架部署到客户端计算机。您还必须为 Sync Framework 构建一个 MySQL 客户端提供程序(尽管您可能可以从 codeplex 找到或调整某些东西)。

          如果您无法在客户端计算机上安装 .NET,您可能需要考虑利用构建在 Java 堆栈上的同步系统并使用它。类似于此处建议的解决方案之一:Open source framework à la Microsoft Sync Framework suggestions?。至少那里的一些建议可以同时适用于 MSSQL 和 MySQL。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-12-09
            • 2010-09-17
            • 1970-01-01
            相关资源
            最近更新 更多