Friday, August 21, 2015

Microsoft Dynamics CRM 2015 UR1 - Beyond the limit with transaction.rollback

In my day to day activities I try to evangelize the beauty of Microsoft Dynamics CRM as being the most obvious choice when it comes to an application framework.
I have developed siloed solution based on code that only i would understand. I have seen CRM and business process management solutions that were build for a specific business audience with some fine features and functions, but with limited flexibility when it comes to integration and extending of the features that came out of the box.

Now Microsoft Dynamics CRM has been here for quite some time. 2001or 2003 depending who you are talking to. It is a long time. And over the years the application it self has increased the number of work areas and features significantly.
A side effect is the structured frame work from where you can build almost everything your heart or business desires. Microsoft tend to promote the product Microsoft Dynamics CRM as a sales productivity solution, having al the necessary workloads for optimal sales, customer care and activity management. Now days analytics, mobility and business processes has reached the status of being on top of mind for CIO's, CFO's and CIO's. And some even love to have the ability to extend the solution with integrations to other Line of Business Applications, External datasources, Social media services and more.

And when the integration work begins with throughly discovery of the capabilities in Microsoft Dynamics CRM used as an applicational platform to support al kind of things, I have quite often preached the importance of following guidelines and best practices when it comes to development of integrations. It is fairly simple to do CRUD operations using the api. With a limited effort it is also possible to validate and test any dependencies and constraints before you make the final commit.
BUT up until update roll up 1 for Microsoft Dynamics CRM 2015, it has not been possible to roll your transactions back, when the commit action was executed. Poor attempts from very skilled developers has been made in an effort to mirror the good old transaction.rollback from Microsoft SQL server. The transaction.rollback can be placed in any part of your function or as part of your exception handling. Good thinking when you are doing CRUD's for entities in a structured relational database. Especially when you are handling thousands or even millions of records based on delta or fulldata sets.

NOW the trick is simple - ExecuteTransactionRequest
Read this very fine article from INOGIC to see a detailed explanation.
http://inogic.com/blog/2015/06/dynamics-crm-2015-online-update-1-api-support-for-transaction-4/

So - Would it be possible to include transactional applications like erp solutions - To have a more integrated and effective line of business application...... Based on a web application.... I think so.

No comments:

Post a Comment