Как правило, плохая идея выставлять свои бизнес-объекты напрямую на внешний интерфейс. Мало того, что то, что соответствует вашему бэкэнд-слою, редко подходит для вашего веб-интерфейса, но вы также рискуете раскрыть клиенту важную информацию о безопасности, которой никогда не следует доверять.
Подход, который в целом нам удался, заключается в разработке интерфейса Silverlight с использованием шаблона MVVM, в котором ваш сервисный уровень WCF возвращает DTO, которые могут быть более или менее напрямую связаны с требованиями к данным ViewModel. Это также защищает одно из наиболее важных правил при разработке клиентских серверных приложений для интрасети / интернета, а именно сводит к минимуму количество циклов обработки, поскольку DTO, адаптированный к потребностям конкретной модели представления, может одновременно включать всю необходимую информацию.