0

AX で顧客を作成するときに、顧客を外部システムに作成する必要があります。私の頭に浮かんだ最初の解決策は、外部パーティの Web サービスを AX にあまりにも多く消費することでした。

しかし、分散トランザクションをどのように実装しますか??

4

4 に答える 4

1

統合オプションは多数ありますが、SQL に直接挿入することはお勧めしません。それは本当に悪い解決策です。明らかな理由は、AOT の外部でレコードの挿入を行うと、AOT に保持されているビジネス ロジックが壊れるという事実です。データベースは、データの永続化とデータの読み取りと書き込みの最適化のみを目的としています。AOT のビジネス ロジックは、レコードの作成および更新時にすべてのロジックを保持します。

私の意見では、唯一の選択肢は x++ コードを使用することです。標準 AX には、この目的のための特別なクラス「AxCustTable」があります。このクラスを使用して、統合する場合、顧客データが生涯にわたって最適な状態であることを確認します。システム間のデータ転送に関しては、多くの選択肢があります: * テキストファイル * Xml ファイル * Web サービス * 別の SQL データベースからデータを読み取る * など

CustTable にデータを書き込むときに、現在および将来のすべてのビジネス ロジックが引き続き有効であることを確認してください。データベース レベルで CustTable にデータを直接挿入すると、その依存関係が効果的に解消されます。

幸運を!

于 2011-03-26T10:48:51.423 に答える
0

分散トランザクションをどのように実装しますか?

ならない!

しかし、それは問題ですか?顧客データの変更はめったになく、トランザクション スコープが必要になることはめったにありません。

于 2011-03-24T12:38:13.423 に答える
0

Linked Serverを作成し、ダイレクト SQL (クラス ODBCConnection) で分散トランザクションを使用できます。

于 2011-03-24T13:03:22.333 に答える
0

すべての要件を完全に記述していません。これが私が考えていることです。

これには Message Queue を使用します。ユーザーが AX で顧客を作成するときに、外部システムが顧客を保存できない場合があります (ダウンタイムなど)。外部システムがアプリケーションの邪魔になりすぎないようにします...

于 2011-03-24T12:08:35.213 に答える