views:

120

answers:

2

Hello,

I am still learning .NET framework and I want to implement multi-tier application just for practice. I was wondering what is the best way to achieve that.

My goal is to make application for hospitals.

What is my question?

Is it good idea to implement multithreaded server that accepts client requests via sockets. Worker threads that deal with client requests and than route requests to data access layer.

This would be decent practice for Thread managment, but is this right way for my application?

Is there any other solution to achieve this goal?

Maybe to implement multithreaded server in java, and client in .net?

Vlada

+1  A: 

I think that your best option would be to write a WCF service application.

That is hosted in IIS, which does all of the connection and threading things for you, well mostly - you still have to write thread safe code.

Joon
I have read about WCF, but that is not my option right now.
svlada
+2  A: 

Hi svlada,

Microsoft provides quite a bit of guidance for application architecture using the .NET platform.

I can recommend the Microsoft Architecture resources available here: MSDN Architecture

Also, the 2nd edition of the Microsoft Application Architecture Guide is available here as a PDF: MS AAG 2nd Edition

Lars Kemmann
Thanks for this resources, they are quite helpful to me. I dont want to use WCF. My idea is to develop everything from scratch (for educational purposes). But I dont know is this smart move? I have some previous experience with distributed apps (scientific apps).
svlada
What specific educational purpose? If you're trying to learn about developing an application on a large scale, then it would probably be foolish (a waste of time) to redevelop something on the order of magnitude of WCF. But if you're specifically trying to learn about communications technologies at a low level (and don't plan to make use of things like WS-* standards), then it *might* make sense to "develop everything from scratch". Remember, though, the WCF ("Indigo") team has worked on WCF for years. Maybe it's better to work at a high level first and then move down the technology stack.
Lars Kemmann