- Code First approach and slightly connected:
- Abstracting too much from Webservice protocols like WSDL: "So, a lot of these more junior level developers can pick up and start working with Web services very quickly and very easily, without having to learn a lot of these more technical details.", Kulp
- platform independence is needed
- Services on a rather coarse granularity are exposed
- interoperability over system/company borders are imperative, i.e., the service interface is in the center and should be considered properly and not change any minute
- remote service calls are rather the exception (coarse granularity, aggregated functionality),
- strong formalisation is needed (XML schema, service description, security...)
- i.e. performance losses due to XML (un-) marshalling are acceptable considering the advantages gained by this "neutral" approach
Additionally a Webservice infrastructure is by definition a complex beast. Trying to abstract all underlying protocols from the developers easily gives them a wrong idea about the actual complexity of their undertaking. When (e.g. interoperability, security) problems occur, they probably have no idea about the reason and the means to fix them. So give us good Service modeling tools, but no code-first approaches. This leads us into the wrong direction.
Just my two cents.