views:

320

answers:

10

I need to implement webservices in an upcoming project and wanted to know what are the main points to base the decision on whether to implement using java or .NET

I'm a C++er...

+4  A: 

If you're a Java shop use Java. If you're a .NET shop use .NET.

There really is no difference that makes one of the two languages superior to the other in regards to web services.

Stephane Grenier
Then the next big question is do you want to use Microsoft's tools or do you prefer the open source community of Java. Both work, it just depends on your overall philosophy in this regard...
Stephane Grenier
+1  A: 

It's a personal decision, usually determined by the technology already in place or the skill set of the developer(s) writing the services.

Jim Anderson
A: 

i've never really developed web services in java, but i have in .NET and if you're using Visual Studio they're an absolute cinch to whip up (i expect they're a little more difficult to do without the aid of VS).

if you're already working in java, and don't have any .NET stuff in place, stick with java - it'll save you a lot of money (if you were to get Visual Studio in, as i mentioned), and possibly some time involved in learning the specifics of .NET

+1  A: 

There's no real difference from programmer's point of view (implementation).

For me, a reason to pick Java is that all tools and infrastructure are free/open source. OS, deployment web server, databases, IDEs and developer tools.

Yoni Roit
A: 

In my experience, Web Services are a bit more tightly integrated into Visual Studio than they are into Java's editors.

The Eclipse IDE doesn't even have JAX-WS (Java standard web services stack) support built in, opting to use Apache Axis 1 instead.

Netbeans supports JAX-WS, though.

R. Bemrose
A: 

I personally prefer .NET to Java for many reasons I don't want to go through, since it doesn't really matter and is more a personal preference than a strict guideline I can recommend.

If you have Java infrastructure in place or using a platform other than Windows for your server applications, I strongly suggest Java. However, if you don't have anything in place and running on Windows platform, .NET is pretty cool in that area (WCF/ASMX/WSE/...).

Mehrdad Afshari
+3  A: 

Possible consideration - .NET pre 3.5 only provided support for SOAP based services, but I believe the 3.5 WCF offers REST and SOAP now.

annakata
A: 

As you say you're a C++ - er you'll probably find .NET easier as you can target it directly from C++.

frankodwyer
A: 

I'm a Java guy, but I think Web Services are easier to code in .NET. Visual Studio takes care of everything, in Java it takes a bit to get started. A bit of a problem in some projects with JAX-WS is, that SUN ships the "old" version 2.0 with Java 6. If you want to use the current version, it's some work to make it run with Java 5 and Java 6.

If your app must be portable, you should obviously choose Java. Otherwise I would say it's just a choice of your preferred language, since the above issues are really small (maybe you want to choose Axis or something else anyway, I haven't worked with something other than JAX-WS yet).

Markus
I'm surprised that Java 6u10 didn't upgrade JAX-WS.
R. Bemrose
A: 

IMO if you want to do SOAP, then its a heck of a lot easier to use .NET and WCF. However, I've found REST to be a bit tricky with WCF, and had to implement a custom XML parser to do it instead of using their built-in one.

You probably want to consider your hosting environment too. If you are going to serve this from Windows hardware, you can drop .NET WCF web services into IIS. If you are going to run a Linux/Solaris server, then it isn't even a question...

rally25rs