SOA/web服务:Tomcat上的Java还是IIS上的C#(.NET)?

SOA/web服务:Tomcat上的Java还是IIS上的C#(.NET)?,c#,java,web-services,iis,tomcat,C#,Java,Web Services,Iis,Tomcat,虽然这源于Java和.NET之间由来已久的争论,但我对这两种技术在SOA/web服务方面的优点感兴趣 我正在开始一个新的项目,编写web服务。我没有用Java或C#编写它们的丰富经验,并且我愿意使用Microsoft堆栈(运行IIS)或Linux堆栈(运行Tomcat)。到目前为止,在我的研究中,这两种语言的复杂性似乎差不多 我将运行一个MySQL数据库(SQL Server是不可能的)。因此,数据库访问对堆栈的其余部分没有影响 我将使用REST服务(可能还有SOAP),并公开SOAP服务 这两

虽然这源于Java和.NET之间由来已久的争论,但我对这两种技术在SOA/web服务方面的优点感兴趣

我正在开始一个新的项目,编写web服务。我没有用Java或C#编写它们的丰富经验,并且我愿意使用Microsoft堆栈(运行IIS)或Linux堆栈(运行Tomcat)。到目前为止,在我的研究中,这两种语言的复杂性似乎差不多

我将运行一个MySQL数据库(SQL Server是不可能的)。因此,数据库访问对堆栈的其余部分没有影响

我将使用REST服务(可能还有SOAP),并公开SOAP服务


这两种技术在易用性、复杂性、典型开发时间、总体拥有成本(特别是维护成本)等方面的优缺点是什么。?哪个与现有的安全性和身份验证框架(例如CAS、LDAP或OAuth)集成得更好?

虽然我是java支持者,并且没有多少C#经验,但老实说,它们可能差不多,您应该使用您最熟悉、最熟悉的编程语言

在Java方面,公开和使用web服务(SOAP或REST)都可以通过开源库轻松完成(此时甚至可能有一些东西内置到JDK中,尽管它们通常略落后于开源社区),其中最流行的是Spring。这将为您提供创建和使用SOAP以及暴露或使用REST的所有复杂性和管道

对于SOAP:

休息:

对于SOAP:

请注意,Spring只是一个选项(但很好),但我的总体观点是不要自己编写管道,选择一个现有的框架来为您完成它,您使用什么语言都不重要

如前所述,我对C不太了解,但我发现他们通常会利用核心JDK和开源java社区的优点,将其构建到语言中,因此C中可能有一些很好的本地内容,反映了Spring为java所做的工作