Using the Microsoft Dynamics 365 CDS platform for development

May 7 2018

Editor's Note: Hear more from John at his upcoming MSDW webcast on how tech companies can harness the power of Dynamics 365.

Common Data Service (CDS)When we decided to develop a new accounting system for small to medium-sized businesses (SMBs), we had a basic decision to make: develop on a mature platform like Microsoft Dynamics CRM (a.k.a. Dynamics 365 for Customer Engagement) or develop from the ground up with a new platform, tools, and applications. We looked closely at the pluses and minuses of each method and decided to go with using the Dynamics 365 platform for Gravity Software. 

In retrospect, developing on the Microsoft platform was a great decision. There is no way that we could have invested in the tools and technology that Microsoft has already brought to the table. Some of the key decision points were:

  1. Mature and stable technology with millions of users.
  2. Strong set of services that we could leverage.
  3. Well thought out user interface.
  4. Rapid development of our IP.
  5. Open and established platform and API with a significant number of products integrated into it.
  6. Leveraging the Microsoft brand and community.

Using the Common Data Service (CDS) platform has allowed us to concentrate on developing our applications and IP without having to worry about all the infrastructure. In less than four years, Gravity has matured into a feature-rich accounting system. Along the way, Microsoft has improved the platform in ways that have helped us. For example, the deep integration of Power BI in the last few versions has allowed us to offer great business Intelligence tools that are easy to use and inexpensive for end users. We will soon start leveraging other technologies like Microsoft Flow and PowerApps, again with little effort on our side.

Using the CDS platform has not come without its challenges. In order to develop and leverage the platform features we must work within the approved SDK Microsoft has provided. At least once a week we are faced with having to make a decision to work around the platform constraints. Some of our challenges have included:

  1. 50,000 Record Fetch Limitations - By nature, accounting systems generate a lot of transactions. It is not unusual for a client to have 300,000 to 400,000 records in a table on which we need to report.
  2. Two-Minute Plugin Execution - Again, accounting systems by nature, are transaction-based, and we are constantly having to find ways of working around this limitation. For example, we can post a Journal Entry of about 700 lines, but above that, the system will time out.
  3. User Interface Constraints - The best thing about a rapid deployment environment is that you don't have to worry about UI and UX items.  The worst part of a rapid deployment environment is that you cannot easily change the UI and UX. Accounting is very data intensive and it is important to optimize the user interface for that purpose.
  4. Constantly Changing Platform - This is both good and bad, when the platform gets new features, so does Gravity. But with each platform upgrade, we must spend a lot of time testing and updating our code. We support the current version and two older versions for both online and on-premises. This creates a significant drain on our resources for testing.

Overall, we made a great decision working with the Dynamics 365 CDS platform. We could not develop Gravity as quickly or deeply in any other environment. I would encourage developers to look at it closely and understand the limitations before starting a new project.

FREE Membership Required to View Full Content:

Become a MemberLogin
Joining MSDynamicsWorld.com gives you free, unlimited access to news, analysis, white papers, case studies, product brochures, and more, and it’s all FREE. You’ll also have the option to receive periodic email newsletters with the latest relevant articles and content updates. Learn more about us here
About John Silvani

John Silvani, President & CEO of Gravity Software, combines his in-depth market knowledge with practical business strategies, meeting the unique needs of a broad client group.  In May 2001, he was recipient of the Crain's "Who's Who in Technology" award and continued to receive awards for his companies throughout his career. In 2011, he was recognized by Lawrence Technological University as one of the "Leaders & Innovators Honouree" in Michigan.

With 30 years in the software industry, John has become one of the nation's top respected resellers of business applications. His background and leadership has provided him with an understanding of the demands and needs for growing organizations. In 2012, John sold First Tech Direct, a Michigan Microsoft Dynamics reseller company and decided to develop an online cloud financial solutions for smart businesses, Gravity Software.

More about John Silvani