Hello everybody, I have already found a fair bit of information regarding on this group however I wouldn't mind expanding that a bit if possible. 
I am at the moment weighing my options in regards to developing a distributed system. Some of the key characteristics are:
a) The server, apart from listening for client RPC's, must also listen to a database demon which informs it about any updates. The server then must notify the client about these updates, if the client is interested (i.e. something like a callback). Also note that the server must listen on two ports, for two different things (RPC's and database updates)
b) The amount of data transferred from server to clientis relatively big at the start of the application (around 10MB, but of course will be larger with XML). Subsequent calls would most likely be of a smaller size.
c) We would like to avoid the server being multi-threaded.
Obviously, one of the technologies I am considering are XML-RPC and SOAP. However, there are a few questions still bothering me:
1. Throughout this group I keep runnning into posts where people claim SOAP has the bigger overhead. I thought it was the opposite because of the extra tags XML-RPC seems to insert with method calls and structs.
2. Does any one of these protocols have an advantage considering the specs I gave above? The documentation on these two doesn't really answer my question so I was hoping there might be somebody with experience in using them. I am especially concerned about the possibilities of implementing callbacks with these technologies.
3. How would these technologies rate compared to CORBA? (I know this question has been here a million times, and I'm sorry, just would like a perspective on this particular problem). What would be the advantages and disadvantages?
4. At the moment the client and server are written in C/C++. Are there any good toolkits out there? If they don't suit me, what are the steps needed in building a custom SOAP (XML-RPC) app?
5. If I was to use a toolkit available for C/C++ and later on the client side was re-written to be in Java, what would the necessary steps be to get this working again? Would it be a huge task?
I know this is a lot of questions, but would be very grateful if somebody could clarify some of these issues.
Thank you.
I am at the moment weighing my options in regards to developing a distributed system. Some of the key characteristics are:
a) The server, apart from listening for client RPC's, must also listen to a database demon which informs it about any updates. The server then must notify the client about these updates, if the client is interested (i.e. something like a callback). Also note that the server must listen on two ports, for two different things (RPC's and database updates)
b) The amount of data transferred from server to clientis relatively big at the start of the application (around 10MB, but of course will be larger with XML). Subsequent calls would most likely be of a smaller size.
c) We would like to avoid the server being multi-threaded.
Obviously, one of the technologies I am considering are XML-RPC and SOAP. However, there are a few questions still bothering me:
1. Throughout this group I keep runnning into posts where people claim SOAP has the bigger overhead. I thought it was the opposite because of the extra tags XML-RPC seems to insert with method calls and structs.
2. Does any one of these protocols have an advantage considering the specs I gave above? The documentation on these two doesn't really answer my question so I was hoping there might be somebody with experience in using them. I am especially concerned about the possibilities of implementing callbacks with these technologies.
3. How would these technologies rate compared to CORBA? (I know this question has been here a million times, and I'm sorry, just would like a perspective on this particular problem). What would be the advantages and disadvantages?
4. At the moment the client and server are written in C/C++. Are there any good toolkits out there? If they don't suit me, what are the steps needed in building a custom SOAP (XML-RPC) app?
5. If I was to use a toolkit available for C/C++ and later on the client side was re-written to be in Java, what would the necessary steps be to get this working again? Would it be a huge task?
I know this is a lot of questions, but would be very grateful if somebody could clarify some of these issues.
Thank you.