Artigo interessante do InfoQ sobre boas práticas para o desenvolvimento de aplicações que seguem a arquitetura orientada a serviços. Como o autor mesmo afirma, eles não devem ser tomados como verdades absolutas, mas são uma boa forma de se evitar dores de cabeça futuras na hora de implementar uma solução dessas:
1. Explicit Boundaries
2. Shared Contract and Schema, not Class
3. Policy-driven
4. Autonomous
5. Wire formats, not Programming Language APIs
6. Document-oriented
7. Loosely coupled
8. Standards-compliant
9. Vendor independent
10. Metadata-driven
Artigo completo: 10 Principles of SOA