Services architecture and design guidelines
The following are the key guidelines for services architecture and design:
Reuse of existing applications.
Loose coupling of the interaction between applications.
Use asynchronous instead of synchronous interaction.
Use common data formats for exchanging information between applications.
All available services should be discoverable either manually or automatically.
Avoid copying the data from one database to another. Always use the data either from the original sources or from a common repository.