Best Practices:
SOA Application Design Analysis
Analyze the business requirements of the project and the main business process flows.
Identify interaction patterns with partner's business services.
Understand message format, content, and correlation requirements.
Factor human activity in your process.
Modularization and reusability
Design for reuse.
Handling faults and exceptions
Learn strategies for fault and exception handling.
Design with separation of concern in mind.

