How does a SOA based approach help in implementing Smart Clients ? Well this is a big topic and I will put in my thoughts in phases. For starters, lets look at the utility of smart clients to work on agents that cannot assume consistent connectivity. The PAG team recently put out an application block for designing offline support.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/offline.asp This block addresses some great points from a technical perspective and it makes great reading. Before jumping into implementing offline functionality , LOB app vendors have to think about other aspects like
How should the app manage data locally and sync with central repository ? Should the app detect connectivity ? If so how often ? Should the application manage ( restrict ) its functionality based on the connection state ? How to manage the transactional elements of the offline workflow ? How to manage compensating elements of workflow ? How to factor “Services” into the offline desing block ? Should services be designed to be offline aware ? How does a SOA based application help in designing a smart offline scneario ? Does it help or hurt ? These are some of the issues that ahve to be dealt with before designing an offline architecture. In subsequent blogs, we will deal with some of the above issues in isolation. adios - back to work :)