Authenticating and authorizing callers
Preventing denial of service attacks against remote components
Implementing secure serialization
Protecting sensitive data