Я создаю службу WCF, которая будет потребляться как клиентскими приложениями .NET, так и Java.
У нас нет опыта Java в команде, поэтому мы ищем руководящие принципы или правила для обеспечения того, чтобы мы случайно не включали какие-либо типы в наш интерфейс службы WCF или не делали ничего, что помешало бы ему потреблять клиентское приложение Java.
Наши заботы обоснованы? Если да, то что мы должны опасаться?
Изменить
Одним из примеров беспокойства является представление значения .NET DateTime
в интерфейсе службы таким образом, который может быть правильно понят клиентом Java.
Edit2
Второй пример беспокойства - использование любых типов допустимых значений (bool?
, int?
и т.д.).
Edit3
В настоящее время некоторые из наших групп разработчиков представляют собой рукописные файлы .xsd для определения различных объектов, которые методы интерфейса WCF принимают в качестве аргументов и возвращают в качестве возвращаемых значений. Затем они используют xsd.exe для автоматического генерации классов С# из них.
Обоснованием этого является то, что он гарантирует, что сгенерированные классы не будут содержать ничего, что специфично для .NET.
Недостатком является то, что это добавляет нагрузку на разработку и также препятствует документированию этих классов с помощью тегов <summary>
(эквивалент .NET для комментариев javadoc).