DIサーバーを介してSAP Business One Systemを使用するために開発された自作の販売ツールがあります。40 人ほどの従業員がリモート デスクトップ経由で同じマシンに自分のユーザーとしてログインしています。すべてのユーザーは、salestool へのデスクトップ ショートカットを持っています。SAP は CPU ごとにライセンスされているため、現時点では DIAPI を使用できません。そのため、すべての従業員 (営業担当者) がリモート デスクトップ経由で 1 台の同じマシンにログインすると、ライセンスの問題が発生します。
私の正直な意見では、私たちのソリューションはかなり汚いです。私たちの家のサーバーで実行される cmd ツールを開発しました。この cmd ツールは、クライアントをリッスンし、クライアントから XML を受信しています。XML を受信した後、XML を DI サーバーに送信し、応答を待って結果をクライアントに送り返します。そのアーキテクチャには大きなパフォーマンスの問題があり、前にも言ったように、それは非常に汚い解決策です。
今、クライアントと SAP B1 の間の通信のための別のソリューションを見つけようとしています。私はWCFまたはWebAPIのいずれかを使用することを考えています(どちらが私にとってより良いかを決定する方法について何か提案はありますか?)
では、WCF または WebAPI ソリューションのいずれかを構築することに決めたとき、クリーンなアーキテクチャでライセンスの問題を解決するにはどうすればよいでしょうか? つまり、すべての従業員 (ユーザー) に SAP B1 ライセンスがあるということです。各ユーザーのユーザー名とパスワードは LDAP に保存されています。したがって、LDAP からユーザーとパスワードを読み取って、正しいライセンスで SAP にログインできます。
すべてのビジネス ロジックを WCF/WebAPI に組み込みたいと考えています。現在、完全なビジネス ロジックは Sales Tool にあります。
私の考えは次のとおり です。ビジネス ロジックを含む WCF/WebAPI サービスがあります。ユーザーがツールを開始します (リモート デスクトップ経由でログイン)。LDAP は、ユーザーの SAP ユーザー名とパスワードを取得し、サービスを通じて SAP にログインします。ユーザーがログインすると、複数のユーザーが並行して作業しながらツールを操作できます。複数のユーザーのトランザクション ロジックは DIServer/DIAPI によって与えられていると思いますが、どれを使用する必要があるかさえわかりません。誰かが私のソリューションに必要なものを教えてくれることを願っています
したがって、誰かが良いアーキテクチャについて何か提案があれば/私の問題に対する良い解決策は素晴らしいでしょう.
どうもありがとう