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.
|