我有两个独立的系统,每个系统都有自己的API。当客户端在系统2中进行更改时,它应该触发我的代码,该代码使用来自两个系统的API来传输并将更改保存到系统1.这应该是双向的。
我使用C#来实现这一目标。
你会称之为这样的集成,如何让它始终运行,以便每次客户端进行更改时都会触发它?
非常感谢任何帮助!
答案 0 :(得分:1)
我认为这里有很多可能的答案,
听起来您需要为每个系统的每个客户端操作调用一个服务,WCF可能是一个实现选项。
以下是一些可能有用的链接:
https://msdn.microsoft.com/en-us/library/vstudio/ms735119%28v=vs.90%29.aspx http://www.codeproject.com/Articles/33995/Getting-Started-with-WCF
假设您有一个带有两个公开方法的WCF服务
Method1()
{
UpdateSys2()
}
Method2()
{
UpdateSys1()
}
您可以执行以下操作:
On client Action in System 1
--> Invoke Method1()
On client Action in System 2
--> Invoke Method2()
答案 1 :(得分:1)
无论如何,我会让两个系统完全分开。这将使两个系统松散耦合,因为如您所知,较少的依赖性=较少的复杂性,更容易维护等。
您可以实现从两个现有系统发布更改事件的同步服务。基于这些事件,启动同步任务,负责执行更改。
要启动这些任务,可以使用调度程序(如Quartz.NET)定期检查新事件,因为您可能不希望并行执行更改;或者你也可以在其间放一个队列。