Hello,
I am using CRM Dynamics 4.0 and have data split across different sources : the CRM database and another system that can be queried through web services (using SOAP)
I would like to know if it is possible to : 
- display this data in forms, merging the part from the CRM database and the part from the external data source
- create, modify, delete the data the same way
The goal is to avoid duplicating data between the CRM and the external data source. Another to avoid having changes in one system not being taken into account in the other one.
I have found solutions that involve : 
1/ using javascript when loading the forms or when saving changes : as I understand it, this would need to be implemented for each form and would not enable lookups on the external data
2/ using iFrames to manage data from the external data source : merging data from both sources does not seem possible this way and lookups cannot be used
3/ create the complete entities in the CRM database and populate them frequently with imports from the external source : the data is no duplicated but I cannot display it nor modify it synchronously from the CR
community.dynamics.com/.../13323.aspx
community.dynamics.com/.../123645.aspx
Solutions 1 and 2 seem to be tightly coupled to the web interface component. Is there a way to implement the logic in the Web Service layer instead ?
I was thinking that I could create the complete entities in the CRM database with attributes which values are stored in the CRM and attributes which values are stored in the external system. 
The interface component would call the CRM web services layer to display the data.
The CRM web service would be modified to get the data from the CRM database the usual way and to get the data from the external web services, and merge it to send it back to the interface.
When creating, modifying or deleting data, the CRM web services would split the data, call the usual services to modify data in its database and call the external web services to send the data to the external system.
Is there a way to do this ? If not, is there any other way to meet the requirements above ?
Thank you
Chloé