开发者

AX integration with other application

I have a requirement in which I have create customer into external system, When i create it in AX. first solution which came to my mind, was too consume the external party web service into AX.

but how will it implement distrib开发者_C百科uted transactions ??


Your integration options are many, but I would not recommend inserting directly into SQL. That is a really bad solution. The obvious reason is the fact that having an insertion of records done outside of the AOT breaks the business logic persisted in the AOT. The database is only meant for persisting data and optimization of read and write of data. The business logic in the AOT is responsible for hold all the logic when creating and updating records.

In my opinion the only choice you have is through x++ code. Standard AX has a special class for this purpose, "AxCustTable". You want to use this class to make sure your customer data is in best shape throughout the life if your integration. As for transportation of data between the systems, your choices are many: * Textfiles * Xml files * webservices * read data from a different sql database * etc

Just make sure that when you write data to your CustTable all the current and future business logic is still in effect. Insering data directly into the CustTable on the database level would efficently break that dependency.

Good luck!


You didn't write all the requirements fully. So this is what I'm thinking.

I would use Message Queue for this. It can happen that the external system cannot save the customer at the time when the user creates the customer in AX (down time or something else). I wouldn't let the external system stand too much in the way of my application...


How will it implement distributed transactions?

It will not!

But does it matter? Customer data changes rarely and rarely need transactional scope.


You can create Linked Server and use distributed transactions with direct SQL (class ODBCConnection)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜