Connecting MSCRM On-Premise/IFD with Java
One of the Big challenges while integrating Microsoft Dynamics CRM with non.Net / Microsoft technology is around authentication. While there are some articles explaining ways to do it, it can become quite challenging to implement.
MSCRM Dynamics has three versions
- Online: Authentication is through Live
- On-Premise: Authentication is through Active – Directory
- Hosted (3rd Party): Authentication is through IFD / Claims based.
Connecting with Live is much simpler and there are samples available by Microsoft on how best to connect with non-microosft technologies. When it comes to Active-Directory and IFD, there are little information/guidelines available.
After some research, we felt it would best to build an Http/WebServer to.Net Proxy to tunnel a Java. Javascript or Php based authentication mechanism like Basic or OAuth and tunnel the calls to MSCRM On-Premise or hosted environment.
Here are some high-level steps
- Create a.Net Proxy Server to route calls to MSCRM Dynamics On-premise or Hosted
- Override the Authentication so that a Basic Auth or OAuth gets translated to Active-Directory or IFD
- Route corresponding Calls to the underlying MSCRM SOAP calls (OrganizationService or DiscoveryService)
- Maintain a session on Proxy Server so that calls get routed properly to the right SOAP Service on MSCRM.
[Java, JavaScript or Php] -> Http Auth -> MSCRM Web Proxy -> Auth a session with MSCRM -> return auth
[Java, JavaScript or Php] -> Calls to SOAP -> MSCRM Web Proxy -> route calls to MSCRM SOAP -> return response
[Java, JavaScript or Php] -> Ends Session -> MSCRM Web Proxy -> Ends Session or expires in-active sessions -> return response
This approach worked well. You can find a WebProxy to MSCRM Dynamics On-premise / Hosted through our DBSync ETL tool, which provides features for reading, writing and exploring meta-data on MSCRM On-premise / Hosted. It does support all three versions of authentications.
We would be delighted to discuss your use case and explore how DBSync can support your success. Please feel free to Schedule a meeting with us.
FAQs
What are the authentication methods for MSCRM Dynamics versions?
MSCRM Dynamics supports Live for Online, Active Directory for On-Premise, and IFD/Claims-based for Hosted (3rd Party) environments.
Why is authentication challenging for MSCRM On-Premise and Hosted versions?
Limited guidelines exist for Active Directory and IFD authentication, unlike the well-documented Live authentication for MSCRM Online.
How does DBSync facilitate MSCRM authentication?
DBSync uses a .NET Proxy Server to translate Basic Auth or OAuth from Java, JavaScript, or PHP into Active Directory or IFD for MSCRM On-Premise or Hosted.
What functions does the DBSync Web Proxy perform?
It routes calls to MSCRM SOAP services, maintains sessions, and handles authentication, ensuring seamless communication with MSCRM environments.
What features does DBSync’s ETL tool offer for MSCRM?
The ETL tool supports reading, writing, and exploring metadata for all MSCRM versions, with integrated authentication for On-Premise, Hosted, and Online.