This document discusses service oriented architecture and design principles. It covers topics like loose coupling, messaging over remote procedure calls for improved performance and reliability, and defining services and autonomous components to allow for flexible composition and scalability. The key messages are that loosely coupled services using asynchronous messaging improve reliability, scalability and development collaboration compared to tightly coupled synchronous remote calls. Services should own business capabilities and data rather than just functions or data individually.