I am in a process of planning an architecture for a line of business distributed system, where many different devices of different types must be supported in a very similar use cases scenarios.
Among others, I will need to support
- Windows Mobile 6.x based PDAs
- PC workstations
Those apps will serve pretty simple business logic, so I do not want to use overblown architecture for it. Yet, I need to support:
- remote updates
- mostly disconnected clients scenario for PDAs (and optionally, for the PC)
While researching for the proper reference architecture, I stumbled upon Mobile Application Blocks Community Release and Mobile Contribute extension to that release. What kept me interested has been:
- Disconnected Agent and Connection Monitor to support the mostly disconnected clients scenario
- Mobile Updater Application Block to support updates
I am also aware of the SCSF counterpart for the desktop platform.
Now, here are my questions
- Is, in your experience, MCSF extension to VS2008/WM6.x/.NET CF 3.5 mature and stable enough for the production use? I don't wan't to be a victim of knowing, that it is not really suitable for business use, while I am in the middle of the project.
- Since the application will be very easy, I do not want to make it overly complicated with the MVP pattern and other CAB related framework additions. I just need to support the scenarios described above. Would it be possible to use MCSF Community Release components without having to architect the whole application in the MCSF manner (with commands, dependency injection, MVP etc.)? I think I will want to keep it simple for the simple application.
- Same for the desktop PC App. I also think, that going for full CAB/SCSF would be a major overkill here, as this is really a very simple set of features to be implemented, yet I would like to cut down on development time by utilizing the updater and possibly the disconnected client blocks. Just without the complicated UI part (I will create plain WinForms for the UI). Would it be possible?
I am also researching the possibility to share some of the code related to disconnected clients/remote updates between the PC and PDA, but I don't think that would be possible with MCSF/SCSF.
I would appreciate an advice from someone who went down that road before me :)