What should be Used?? Remoting/Web Services/Sockets
-
Hi all, It’s my very first time posting any problem in the forum like this. I am expecting proper responses from u expert friends. Problem is that I am in dilemma that which of the technique I should use in the scenario mentioned below. I have got a server installed in my LAN and I need to send an XML file/string to the client which exists out of my LAN using internet (of course). There may around 500 to 600 client access my server for the data. Please suggest me which of the techniques: a. Remoting b. Web Services c. Socket Can solve my problem. Some constraints are the for each of the techniques as a. If I go by Remoting, it’s difficult to apply it over internet and not even reliable too as any of the firewall can restrict it. b. If I go by Web Services I need to have IIS installed on the client’s side which cannot be done for the cost reasons. c. If I go by sockets again the problem with the firewalls arises. Please suggest me a proper technique and solution of get ridge of the above mentioned problems associated with each of them. Note : I am working on C#.Net with the framework 1.1. Thanks in advance.
-
Hi all, It’s my very first time posting any problem in the forum like this. I am expecting proper responses from u expert friends. Problem is that I am in dilemma that which of the technique I should use in the scenario mentioned below. I have got a server installed in my LAN and I need to send an XML file/string to the client which exists out of my LAN using internet (of course). There may around 500 to 600 client access my server for the data. Please suggest me which of the techniques: a. Remoting b. Web Services c. Socket Can solve my problem. Some constraints are the for each of the techniques as a. If I go by Remoting, it’s difficult to apply it over internet and not even reliable too as any of the firewall can restrict it. b. If I go by Web Services I need to have IIS installed on the client’s side which cannot be done for the cost reasons. c. If I go by sockets again the problem with the firewalls arises. Please suggest me a proper technique and solution of get ridge of the above mentioned problems associated with each of them. Note : I am working on C#.Net with the framework 1.1. Thanks in advance.
Remoting has a variety of issues, and sockets would just be a pain. Without knowing about how often you need to send data, I suggest you examine running a web service on _your_ end, and having the clients poll for data.
Mark Churchill Director Dunn & Churchill Diamond Binding: Zero to Data Layer in 3 mins
-
Hi all, It’s my very first time posting any problem in the forum like this. I am expecting proper responses from u expert friends. Problem is that I am in dilemma that which of the technique I should use in the scenario mentioned below. I have got a server installed in my LAN and I need to send an XML file/string to the client which exists out of my LAN using internet (of course). There may around 500 to 600 client access my server for the data. Please suggest me which of the techniques: a. Remoting b. Web Services c. Socket Can solve my problem. Some constraints are the for each of the techniques as a. If I go by Remoting, it’s difficult to apply it over internet and not even reliable too as any of the firewall can restrict it. b. If I go by Web Services I need to have IIS installed on the client’s side which cannot be done for the cost reasons. c. If I go by sockets again the problem with the firewalls arises. Please suggest me a proper technique and solution of get ridge of the above mentioned problems associated with each of them. Note : I am working on C#.Net with the framework 1.1. Thanks in advance.
-
Hi - as mentioned in the other reply: use a webservice! The clients won't have to install the IIS - they will just have to access your IIS to get the wsdl service description and communicate with it.
ya u are right but the thing is I dont want the webservice to be called by the client but server should send the file to client by itself provided that the internet ip of the client is known.. I think i missed this point hope you are clear with the senario. I dont want PULL mechanism at client side but PUSH at server side.
-
Remoting has a variety of issues, and sockets would just be a pain. Without knowing about how often you need to send data, I suggest you examine running a web service on _your_ end, and having the clients poll for data.
Mark Churchill Director Dunn & Churchill Diamond Binding: Zero to Data Layer in 3 mins
Hello Sir, Thanks for the early response. But the problem is our architecture does not permit this. In our case client should not PULL the data rather server should PUSH the data to the client knowing the internet IP of the client. any solution for this type of case..???? Thanks in advance.
-
ya u are right but the thing is I dont want the webservice to be called by the client but server should send the file to client by itself provided that the internet ip of the client is known.. I think i missed this point hope you are clear with the senario. I dont want PULL mechanism at client side but PUSH at server side.
First you should ask yourself if you really need the PUSH - mechanic. I'm not an Webservice expert but I think you can't handle this with it. No matter what you will have to provide the client with some kind of software - so why not provide with a polling client app? (Do you really want your server to PUSH several hundred files over the internet when you are not sure if the client still listens or even wants this?)
-
Hello Sir, Thanks for the early response. But the problem is our architecture does not permit this. In our case client should not PULL the data rather server should PUSH the data to the client knowing the internet IP of the client. any solution for this type of case..???? Thanks in advance.
With any form of "push" mechanic you will need to have correctly configured firewalls. This will be a massive pain. I strongly suggest you take a second look at your requirements and see if "push" is really necessary. What information are you planning to send that requires the client to know about it immediately? What are the results of the client not finding out for a minute, 10 minutes, or a whole day? Firewall problems like this should have been considered as part of the initial design.
Mark Churchill Director Dunn & Churchill Diamond Binding: Zero to Data Layer in 3 mins
-
First you should ask yourself if you really need the PUSH - mechanic. I'm not an Webservice expert but I think you can't handle this with it. No matter what you will have to provide the client with some kind of software - so why not provide with a polling client app? (Do you really want your server to PUSH several hundred files over the internet when you are not sure if the client still listens or even wants this?)
ok..let me tell you real senario. in my case client is connected with the server whole 24*7, i.e., server will be having the internet Ip of the client all the time(so client will be ready to take the data every time the server is sending the data). and as i said there may be 500-600 different client accross the internet network for the server to send the data and server will map the data to the correct client will send the data. any other solution?? Thanks in advance.
-
With any form of "push" mechanic you will need to have correctly configured firewalls. This will be a massive pain. I strongly suggest you take a second look at your requirements and see if "push" is really necessary. What information are you planning to send that requires the client to know about it immediately? What are the results of the client not finding out for a minute, 10 minutes, or a whole day? Firewall problems like this should have been considered as part of the initial design.
Mark Churchill Director Dunn & Churchill Diamond Binding: Zero to Data Layer in 3 mins
-
Sir, I am on a project of emergency management, so by this you may be able to understand that the xml information needed to be send to the client is prime importance. I cannot afford delay of any second even. Thanks.
Is this information to be consumed by a human or by automated systems? It would be completely feasible to poll for messages every 15 seconds or even less. MSN Messenger will switch to HTTP polling when behind firewalls - and that is usable for "instant" messanging. If specifications use words like "immediately" I often find that the real requirement is "within a minute". If IIS and firewall issues are a problem then I suggest you client rethink their budget or their requirements. If you really need realtime communication, then you will need to establish a permanent link to the server from the client. Sockets or remoting will be suitable for this.
Mark Churchill Director Dunn & Churchill Diamond Binding: Zero to Data Layer in 3 mins
-
Sir, I am on a project of emergency management, so by this you may be able to understand that the xml information needed to be send to the client is prime importance. I cannot afford delay of any second even. Thanks.
Remoting will be easier than direct sockets. Romoting and direct sockets will have the same issues with configuration of the firewall. Based on the restrictions you have mentioned, remoting over tcp seems like the most workable solution. Webservices would be the easier way. Remoting over http is similar to webservices, but if you can't run iis on the other side, neither will work. Another option would be to run an ftp server on the other side but if they are reluctant to install iis then ftp is likely not an option either.