Конечно, WCF - это жизнеспособный способ, но я бы предложил, как Никки, использовать веб-сервисы.
Насчет "управления", ну, вы совершенно правы: как только вы опубликовали интерфейсы, их сложно изменить. Я имею в виду ...
Предполагая, что вы хотите использовать веб-службы, после публикации интерфейсов WSDL и обнаружения, что вы разработали их плохо, вы можете заставить людей, которые уже уже использовали ваш продукт, загрузить новые спецификации и заново реализовать их код. Но если вы обнаружите программную ошибку в своем обработчике веб-службы, вы можете исправить ее как можно скорее, не изменяя контракты на разработку ваших общедоступных веб-служб.
продукт , который вы хотите сделать доступным вместе с общедоступными API, должен быть версионным, как сказал Никки.
Разница между программным продуктом и общедоступными API-интерфейсами заключается в том, что API-интерфейсы являются общедоступными интерфейсами, с помощью которых любой может разработать свое собственное программное обеспечение, взаимодействующее с вашим приложением. Программный продукт готов к работе и запускает ваш код.
Facebook, PayPal и т. Д., Например, публикуют множество API, и вы можете найти множество библиотек, которые оборачивают эти API на ваш любимый язык.
Надеюсь, мой общий ответ помог.