I’m looking for a stable architecture for Commercial Projects like Accounting based on Network,
Database: SQL Server
Platform: .Net and C# Programming language
Technology: Windows Form
So it's Contain at about 200 tables and Several hundred thousand Records, this software will be produced in two versions :
Intra organizational version (Desktop):
It’s possible that one of the Branches has been located more far from other, needs to use that and it has valid IP. In Final version for big companies, there are concurrent insert for several Warehousing and some users (10 to 15) possibility.
Web based version:
It is for extra organizational reports which these challenges are more in desktop version.
There is no doubt that I need customize models in my architecture, but I've selected Entity Framework as mediator Model.
So my Question:
Do I use Service Based architecture for Desktop version? Does it need? Or I don't need it due to all database information are read and are moved to down and SQL is base on network-based services?
If I need service oriented (I selected WCF for service oriented),The codes like authenticate and transactions must be place up? What about Selects, Deletes and Updates?
Well, now the problem is, in service oriented architecture; first we have to create a Data Contract Class for Each class and we have to cast classes together. And with consider transaction methods, we have at least 2000 methods and their management will be difficult.
What’s your suggest?
What about data services like Odata? Does it support existing needs? Does it suitable for Intra organizational based on network from speed and stability point of view?
I have no problem with service and data services and know all of them, but my problem is choice the architecture for project. Connect to database using MVC Model and Controller classes OR select the service.
If WCF service, well handling the code will be difficult (due to have one class). Now we have Data Service, but I’m not sure about speed and stability in desktop version. Can anyone help me and share his experience to me?
Excuse me for my bad English.
Thanks in advance.