Professional Documents
Culture Documents
Services Clients
Send Messages
Terminology
Communication Protocols
WCF
Encodings
Messaging Patterns
Runtime
API
Message
Header Body
Service
Receive
Send
Address Binding
URI
Contract
Know your boundaries Services should be easy to consume Avoid RPC interfaces instead use explicit messages Fewer public interfaces that accept well defined messages Dont expose implementation details
Service versioning and deployment are independent of the system in which they are deployed Contracts, once published, should not be changed Adopt a pessimistic approach, and isolate services from failure
Services
Services Share the Schema and Contract, Not the Class
Service Compatibility Is Based on Policy Service contract should contain the message formats, message exchange patterns, WS-Policy requirements If breaking service contracts is inescapable, then version the services, because this minimizes the ripple effect to existing consumers of the service Do not expose internal data representation publicly; the public data scheme should be absolute
A policy assertion identifies a behavior of a policy entity and provides domain-specific semantics.
Services
Aggregate Components
Component A
Component B
Contracts
Policies
Platform Independent
SOAP
Interoperability
WCF
Service Oriented Development
Unification of Existing Distributed Technology
Interoperability
WCF
Enterprise Solutions
.Net Remoting
http Endpoint 1
Transaction Support
Message
Message Contract
Interface
Service Contract
Concrete
Transport
Binding
Endpoint
Deployment