我们有一个自制的销售工具,它是为通过 DI 服务器使用 SAP Business One 系统而开发的。我们有大约 40 名员工,他们通过远程桌面以自己的用户登录到同一台机器。所有用户都有我们销售工具的桌面快捷方式。现在我们不能使用 DIAPI,因为 SAP 是按 CPU 许可的。因此,如果所有员工(销售人员)都通过远程桌面登录到同一台机器上,就会出现许可证问题。
老实说,我们的解决方案相当肮脏。我们开发了一个在我们家的服务器上运行的 cmd 工具。此 cmd 工具正在侦听客户端并从客户端接收 XML。在它收到一些 xml 后,它将 XML 发送到 DI 服务器并等待响应并将结果发送回客户端。我们的架构存在巨大的性能问题,就像我之前所说的,这是一个非常肮脏的解决方案。
现在我要为客户端和 SAP B1 之间的通信寻找另一种解决方案。我正在考虑使用 WCF 或 WebAPI(也许有什么建议我可以决定哪一个更适合我?)
因此,当我决定构建 WCF 或 WebAPI 解决方案时,如何使用干净的架构解决许可问题?我的意思是我们的所有员工(用户)都拥有 SAP B1 许可证。每个用户的用户名和密码都保存在 LDAP 中。所以我可以从 LDAP 中读取用户和密码,并使用正确的许可证将它们记录到 SAP 中。
我想在 WCF/WebAPI 中拥有我所有的业务逻辑。现在完整的业务逻辑在销售工具中。
所以我的想法是这样的: 我有我的 WCF/WebAPI 服务,其中包含业务逻辑。用户启动该工具(通过远程桌面登录)。LDAP 获取用户 SAP 用户名和密码,并通过服务登录 SAP。用户登录后可以使用该工具,同时多个用户可以并行工作。我认为多个用户的事务逻辑是由 DIServer/DIAPI 给出的,我什至不知道我必须使用哪个。我希望有人能告诉我我的解决方案需要哪些
因此,如果有人对一个好的架构/我的问题的一个好的解决方案有任何建议,那就太好了。
非常感谢