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?