Click here to Skip to main content
15,742,263 members
Please Sign up or sign in to vote.
3.00/5 (1 vote)
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.
Mohammed Hameed 10-May-13 1:20am    
Though its a nice question but requires lot of discussions to get a clear picture and give you some good architectural approaches and technologies to be used. It would be better if we can talk.
ompcj4u 10-May-13 2:20am    
Hi; What Information do you need?
I really need to know the Answer.
Thank you
Mohammed Hameed 10-May-13 2:24am    
I would suggest you to use WPF and use MVVM pattern (use WCF services). This would provide decoupled layers. For ORM, you can use EF or NHibernate.

Please do revert me if you need further info.
Mohammed Hameed 10-May-13 2:26am    
Read Martin Fowler's (or Kent Beck) books & blogs to get a very clear picture of Architecture & design and hence you can make good decisions.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900