We are going to start the second iteration of a client-server project. With some historical reason, the client will be using .net and the server will be using java. We cannot change the client to java. So we have to consider the interoperatability issues.
We are thinking of three methods: 1. Corba 2. Web Service 3. home-made xml+socket based solution
Corba is difficult to use and home made solution is not easy to implement and not to be a standard way to achieve the goal. We want to use web service. But one concern is the performance. Web service is a connectionless based. Every connection will need a totally new http connection. Creating connection is a resource intensive operation. And if we add SSL to the connection, the connection creation will take more resource. Is it appropriate for a client side implementation? I am not sure whether web service is a viable solution when we consider the performance. Could anyone share me some ideas.
go for webservices.. in one of my old client we developed and application in java / weblogic / webservices(used apache axis) which had a variety of clients java / .Net / mainframe... and load was also very high. but we had a very good performance and it was fast and easy
Thanks for your information. I have another question on web services. In our design, we need client and server to be a peer relationship. It means client can call server to send cmd and get information. And the server can also notify the client for some important situations. Does web service support real multi-plexing? Or do you have any good pattern to support this. Thanks.
Typically there is one server that exposes an interface to call some logic within it. Clients invoke that logic through some manner or the other. All you hav to do is just as the server exposes the web-service invocation on its side, the client also can do the same. and then both become client and server at the same time.