Hi everyone,
we are in the process of testing MS Dynamics and one of the bigger challenges is real-time integration with an existing system.
The system provides XML messages over JMS publish-subscribe mechanism and we already have C# code that can be run as a service, consume these messages and convert them to SQL DML statements (INSERTs,UPDATEs,DELETEs) using nHibernate.
However, direct database access is not supported for Dynamics CRM (not recommended?) and my question is what the recommended approach would be. There can be >100k messages sent per day and some of these messages are affecting many different entities and need to do some SELECT queries before (e.g. to determine whether to do an insert or an update).
Second point is, how to run some code that never terminates inside Dynamics CRM (the code which waits for incoming messages and consumes them asynchronously) . Or better to have it as a Windows Service outside of the CRM?
And my last question is for migration of entity definitions.
What we have now are C# class definitions (with inter-class references and collections), *.xsd files and a database schema of the existing system - any of these metadata files can be used, and we could convert it to a different format quite easily .
How can we create new CRM entities, attributes, lookup values and entity references out of this automatically?
There are dozens of entities, even more references between them and some of these entities have more than 40 attributes (but we do have metadata for them, so we can say what is an int/string/reference etc.), so a manual solution is something I would like to avoid.