The debate over this issue does not concern the need for such operations but rather the specifics of how exactly to model and implement service state and the associated interactions on that state. State may be modeled explicitly by the distributed computing technology used (for example, as an “object” with create, read, update, and destroy operations) or implicitly by referring to application domain-specific concepts within the interactions (for example, “create reservation” and “update reservation” messages that include a domain-specific identifier such as an ASIN—Amazon standard identification number—in
Alphabet and Specification Soup
Any discussion of Web services inevitably involves a plethora of acronyms and specification names. We list some of them here. To save space, we do not provide citations for individual specifications. These can easily be located online.
EPR (endpoint reference). As defined in the WS-Addressing specification, a combination of Web services elements that define the address for a resource in a SOAP header.
SOAP. A protocol for exchanging XML-based messages over networks, normally using HT TP.
WSDL (Web Services Description Language). An XML-based language that provides a model for describing Web services.
WS-Eventing. A specification that defines a protocol for Web services to subscribe to another Web service or accept a subscription from another Web service.
WSDM (Web Services Distributed Management) An OASIS-developed Web services architecture and set of specifications for managing distributed resources.
WS-Resource Transfer. A proposed integration of WS-RF and WS-Transfer.
WS-RF (Web Services Resource Framework). An OASIS-developed architecture and set of specifications for describing and accessing state in a Web service.
WS-Transfer. A specification that defines a protocol for the transfer of an XML representation of a WS-addressable resource, as well as for creating and deleting such resources.
the body). Along a different dimension, we may use HTTP or SOAP as an implementation technology.
Our goal here is to shed light on possible approaches to modeling state. To this end, we present four different approaches and show how each can be used to enable access to a simple job management system. Then we summarize the key arguments that have been made for and against each approach. In addition to providing insights into the advantages and disadvantages of the different approaches, the discussion may also be interesting as a case study in technical debate. As we will see, the four approaches are remarkably similar in what they do, but differ in precisely how they do it.
First, a few observations about what we mean by modeling state. The systems with which we want to interact may have simple or complex internal state. Various aspects of this state may be exposed so that external clients can engage in “management” operations. For example, an airline reservation system might give customers the ability to programmatically create, monitor, and manage reservations. The same system might also allow operators to programmatically access information about current system load and the mapping of computational resources to different system functions. We are not suggesting these mechanisms provide direct access to the underlying state in its entirety. Rather, we are assuming the principles of encapsulation and data integrity/ownership are maintained. It is up to a system’s designer to define the projections to those aspects of the system’s internal state that they are willing to expose to the outside world. 5
Such projections can be complex. In the case of a job management system, for example, the underlying state associated with even an apparently simple job may consist of multiple distinct processes on different back-end computers, entries in various internal tables and catalogs, and activities within subsystems such as schedulers and monitors. When designing the allowed interactions with such a system, we must model the “state of a job” (the projection of the complex underlying state that is to be made available to clients) in a manner that is not only
References:
Archives