SOA / веб-сервисы: Java на Tomcat или C # (.NET) на IIS? - PullRequest
1 голос
/ 28 января 2010

Хотя это связано с давними спорами между Java и .NET, меня интересуют преимущества этих двух технологий с точки зрения SOA / веб-сервисов.

Я начинаю новый проект написания веб-сервисов. У меня нет большого опыта написания их на Java или C #, и я открыт для использования стека Microsoft (под управлением IIS) или стека Linux (под управлением Tomcat). Пока что в моем исследовании сложность этих двух языков примерно одинакова.

Я буду работать с базой данных MySQL (о SQL Server не может быть и речи). Таким образом, доступ к базе данных не имеет отношения к остальной части стека.

Я буду использовать REST-сервисы (и, возможно, также SOAP) и предоставлять сервисы SOAP.

Каковы преимущества или недостатки этих двух технологий с точки зрения простоты использования, сложности, типичного времени разработки, общей стоимости владения (особенно затрат на обслуживание) и т. Д.? Какие из них лучше интегрированы в существующие инфраструктуры безопасности и аутентификации (например, CAS, LDAP или OAuth)?

1 Ответ

2 голосов
/ 28 января 2010

Хотя я являюсь сторонником Java и имею небольшой опыт работы с C #, честно скажу, что они, вероятно, будут примерно равными, и вам следует использовать любой язык, который вам наиболее знаком и удобен в программировании.

Со стороны Java, как предоставление, так и использование веб-сервисов (SOAP или REST) ​​может быть легко осуществлено с помощью библиотек с открытым исходным кодом (и на этом этапе в JDK могут быть даже некоторые вещи, хотя обычно они немного отстают). сообщество с открытым исходным кодом), одним из самых популярных из которых является Spring. Это сделает для вас всю сложность и сложность создания и использования SOAP, а также выявления или использования REST.

Для SOAP:

Для отдыха:

http://blog.springsource.com/2009/03/08/rest-in-spring-3-mvc/

http://blog.springsource.com/2009/03/27/rest-in-spring-3-resttemplate/

Для SOAP:

http://static.springsource.org/spring-ws/sites/1.5/

Примечание. Spring - это всего лишь один из вариантов (но хороший), но в целом я хочу сказать: не пишите сантехнику самостоятельно, выберите существующую платформу, которая сделает это за вас, и не должно иметь значения, какой язык вы используете.

Как уже упоминалось, я мало знаю о C #, но я обнаружил, что они обычно берут хорошие части ядра JDK и java-сообщества с открытым исходным кодом и встраивают его в язык, так что может быть какой-то хороший нативный материал в C #, который отражает то, что Spring сделал для Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...