1

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

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

如果没有,那么您能否建议一些其他同步框架。

4

4 回答 4

1

首先,我不熟悉 Sync,但快速阅读概述表明您的客户端将需要提供 Web 服务或 RSS 提要,以便 Sync 运行时从Java 进程。

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

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

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

于 2009-06-12T12:11:07.373 回答
0

您需要在 Java 和 Sync 框架之间找到一些“粘合剂”。Java Native Interface将为您提供一个良好的开端。

于 2009-01-03T15:59:29.397 回答
0

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

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

于 2011-11-09T19:14:05.433 回答
0

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

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

于 2011-11-09T17:50:08.317 回答