I am currently building a fairly complex CRM / POS system which has the following requirements:
- System needs to be able to be installed on a single machine (PC)
- System needs to be able to be installed on 1 machine that can act as a server, and be accessed by several client machines (local network, wired and wireless)
- System needs to be able to run without an internet connection
Once the system is launched, the next phase will be to create a web based version. The UI is paramount and needs to be as slick as possible as it is for a very image conscious industry.
The architecture I have settled on is as follows:
- Sql Server 2008 Express DB
- Linq-To-Sql data layer
- WCF services exposing linq data layer
- WPF for the front end
This should support all 3 requirements, and I am hoping provide a fairly easy port from WPF to Silverlight for the web based phase 2.
My question is, are there any issues with the architecture I have chosen? I have used asp.net and Windows Forms extensively however have little experience in WPF (chosen it for the graphical capabilities). Are there any issues with Linq-To-Sql binding in WPF via WCF?