Click here to Skip to main content
15,886,362 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi,

I don't know whether this is a silly question!

I searched the web with no useful hits and I am a dot net user (C#).

I want to develop a Server, it may be called a middleware server (actually I am not sure), which does the following tasks:
I have a server which cannot be modified and many clients that request the server and receive the results.
I can modify the clients.

Now I want to develop software that receives client requests, checks if the server is busy or how many tasks are queued at the server, store the client requests to temporary database if server is busy, fetch requests queued in the temporary database and forward to the server and then receive the results and forward to to clients and the like.

The questions are

1. which technologies are best to use while remaining in dotnet, WCF, Webservives, remoting, or other?
2. how complex is this task assuming that there are tasks like transaction handling, load balancing, logging, security checking mechanisms and the like?
3. what things should i read to do these task, relevant books tutorials etc?
4.while searching I find such things as middleware in java but not in dotnet. what is the reason?
Posted
Updated 1-Sep-10 21:52pm
v3
Comments
Dalek Dave 2-Sep-10 3:52am    
Edited for Readability.

1 solution

This should be relatively easy to do. The most complex bit will probably be deciding how you want to wrap up the jobs into something that can be persisted to the temporary database or sent onto the Server for processing.

You might want to look at creating a windows Service to handle the server end. and a standard windows application for the client end.

For the temporary database you could use MSSQLExpress or, depending on your job objects serialise.deserialise them to/from the filesystem.

For the communications you could use a variety of methods, either simple TCP sockets or look at some of the Web classes.

I don't think there is any justification to go down the MSMQ route or use remoting.
 
Share this answer
 
Comments
kebedetesema 6-Sep-10 7:47am    
Thank you for the answer, but let me remind you that I should tasks like transaction handling, load balancing, central logging, and security checking mechanisms. Also, the number of requests per time can go to very large tasks. finally, aren't web services more efficient than your solution? Isn't using TCP Sockets reinventing the well?
DaveAuld 6-Sep-10 7:59am    
Windows Service / Webservice take your pick; transaction, taken care of by DB, load balancing, taken care of by the thread pool or the application pool of the webservice, authentication no big deal, handle at various points. I'll stick to my original statement and say MSMQ is not a necessity.

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