Company (where I am workking) works on CRM software that is java desktop application, but it communicates with centralized dataBase via webServices. Sistem is designed that it not depends on database structure and it can be configured to work with any data source... We think that is good way for CRM software. Here http://www.demo.com/demonstrators/demo2008fall/147304.html you can see the presentation of this software :-)