| Introduction |
| | Overview | |
| | Preface | |
| | Table of Contents |
Detailed table of contents.
|
| | Introduction | |
| Describing Conversations |
| | Introduction to Describing Conversations ●● | |
| | Choreography ●○ | How can a conversation policy be described? |
| | Orchestration ○○ | How can a participant describe what conversations it is willing to engage in? |
| | Hypermedia State ○○ | How can a participant describe what it expects from a consumer without defining all rules of the conversation up-front? |
| | Conversation Vocabulary ○○ | |
| Discovery |
| | Introduction to Discovery ●● | |
| | Dynamic Discovery ●● | How can a conversation initiator find a partner when it has no knowledge whatsoever about available partners? |
| | Advertise Availability ●○ | How can a participant let others know that it is available? |
| | Consult Directory ●○ | How can a conversation initiator find a partner across a large network without flooding the network with requests? |
| | Referral ●● | The choice of conversation partner may depend on the context of a conversation or may change over time. How can an initiator discover the right conversation partner? |
| | Leader Election ○○ | How can a set of participants agree on a single participant assuming a special role? |
| Starting a Conversation |
| | Starting a Conversation ●○ | |
| | Three-Way Hand Shake ○○ | How can two services sync up so they can start a conversation from the same point? |
| | Acquire Token First ●○ | How can a provider ascertain the identity of a requestor? |
| | Rotate Tokens ○○ | |
| | Verify Identity ○○ | How can a provider verify the claimed identity of a consumer in the absence of a certificate authority? |
| | User Grants Access ●○ | How can a participant engage in a conversation on behalf of a user? |
| Basic Conversations |
| | Introduction to Basic Conversations ●○ | |
| | Fire-and-Forget ●● | How can one participant notify another efficiently? |
| | Asynchronous Request-Response ●● | How can a consumer request information from a provider? |
| | Request-Response with Retry ●● | How can a consumer deal with a missing response message in a Request-Response conversation? |
| | Polling ●● | How can a service request information from a provider if an immediate response is not available and it cannot accept unsolicited incoming messages? |
| | Subscribe-Notify ●● | How can one participant receive information from another participant if that information cannot easily be packaged into a single message? |
| | Quick Acknowledgment ●● | How can a client be sure the service accepted a request, even if processing the request takes a long time? |
| Intermediaries |
| | Intermediaries ●● | |
| | Proxy ●● | How can a participant communicate with a partner that is not visible or not reachable? |
| | Relay ●● | How can participants engage in a two-way communication when each participant is limited to outbound requests? |
| | Load Balancer ●○ | How can incoming messages be shared among the providers? |
| | Scatter-Gather ●○ | How can a participant solicit responses from a number of participants without connecting to all of them? |
| Managing Distributed Systems |
| | System Management ○○ | |
| | Heartbeat ●○ | How one know that another participant is working properly and is ready to receive messages? |
| Resource Management |
| | Introduction to Resource Management ●○ | |
| | Incremental State Build-up ●○ | How can a participant invoke an operation when the it does not have all required information available at the same time? |
| | Lease ●● | How can a service provider avoid holding resources for clients who are no longer interested? |
| | Renewal Reminder ●● | How can a service provider avoid holding resources for clients who are no longer interested? |
| Ensuring Consistency |
| | Ensuring Consistency ●● | |
| | Ignore Error ●● | How can a requestor cope with a failing request to a provider? |
| | Compensating Action ●● | How can a requestor ensure a consistent outcome across multiple, independent providers? |
| | Tentative Operation ●● | How can a requestor ensure a consistent outcome across multiple, independent providers? |
| | Coordinated Agreement ●● | How can agreement across multiple participants be achieved so that all participants see the same outcome? |
| Appendices |
| | Bibliography |
Annotated list of references and recommended reading.
|