Web Services Architecture Usage Scenarios W3C Working Group Note 11 February 2004 Selected Use Cases & Usage Scenarios Michal Zaremba
Use Cases & Usage Scenarios “A use case is a sequence of interactions between a service requestor and one or more services, which achieve measurable results for the requestor” “A usage scenario represents an atomic step in a path through a use case”
Use Cases Template Description Scope Stakeholders/Interests Actors & Goals Usage scenarios
Usage Scenarios Template Goal/Context – purpose Scenario/Steps – typical operations Extensions – variations on the scenario (e.g. failure modes or exceptions) Technologies/Requirements – what is needed to implement scenario
Use Cases Travel agent use case, static discovery Travel agent use case, dynamic discovery EDI-like purchasing
Travel agent use case, static discovery – usage scenarios User requests availabilities about some travel dates User chooses flight and looks for hotels User books hotel room and flight Developer creates travel agent web service that queries for airline flights
Travel agent use case, dynamic discovery – usage scenarios User requests availabilities about some travel dates User chooses flight and looks for hotels User books hotel room and flight
EDI-like purchasing – usage scenarios Typical Widget Purchase Transaction Log Mismatch SmallCo Incorrectly Thinks They Weren't Paid SmallCo Really Wasn't Paid
Usage Scenarios Thirty-four usage scenarios e.g.: – S001 Fire-and-forget to single receiver – S002 Fire-and-forget to multiple receivers – S003 Request/Response – S004 Remote Procedure Call (RPC) – S006 Multiple Faults – S010 Request with acknowledgement – S030 Third party intermediary – S031 Communication via multiple intermediaries – S032 Caching – S035 Routing – S036 Tracking – S037 Caching with expiration
Usage Scenario - Remote Procedure Call (RPC)
Usage Scenario - Request with Acknowledgement