I have such layers in my project:
View -> View Service -> Web Service -> Business Logic
Web Service has its ws-api where interfaces and DTOs are kept. But in View Service layer, when I get results from WS, I transform WS DTOs into View DTOs though they are totally the same (except JAXB annotations and XSD schemas).
What do you think about such architecture? The big plus here is that I can very easy replace my View Service layer with some other implementation, so View doesn't depend on any transport. From the other hand I have a lot of duplications of DTOs.. Any thoughts?
PS: hm strange - tag doesn't work..