Modeling Stateful Resources with Web Services

By Ian Foster et al


1.  Issue is whether WS should be stateful or stateless. Vogels view is that it should be stateless;
     Foster folks think it should be stateful.
2. WS-Resource may reconcile these two positions

3. Background : http, html, xml, soap, WS, WSRF, GS
                          WS --> SOAP, WSDL, UDDI
   SOAP : message encoding
   WSDL : service definition
   UDDI: for service definition and discovery

   SOA: approach to building loosely coupled distributed systems with minmal shared understanding among
    systems?
        -- sevices coordinate by sending messages
        -- a service performs a well defined operation
        -- user need to be aware of only the interface not the implementation of the service

   Each of these items is clearly understood but the challenge is in defining WS

 4.  Consider the example: getReservation, addSegment, removeSegment
       It is desirable to prepresent relationship between WS and state explicitly and in a standard manner;
       Such representation enhances service interoperability, simplifies definition of new service interfaces,
       enables more powerful discovery and management.
(lets discuss this further)

5. WS Environments:
     WS software components: software component; provides operations; manipulatable state held in other
       resources in the system; deployable component; requires runtime environment such as JBoss, Websphere, JRun;
       runtime env provides services for dispatching message and Qos features such as security and transactions.
       
      WSDL defines WS capabilities in terms messages for interaction and possible fault messages.

      An "endpoint" provides the message receiving and processing facility: bound to a network address and port;
      Translates envelops to host lang elements: XML to Java objects; dispatches messages to target service;
     
       WS is uniquely identified by address that combines endpoint and other WS specific info.

6. Taxonomy of state and services:
    stateless service; conversational service (cookies and HTTP sessions); service that acts upon stateful resources (transactional)

7. WS-Resource Definition: page 10

8. Modeling State: reprsentation XML, lifecycle; one or more WS may use them;
   
9. Groups of resources;

10. stateful resource factory

11. Lets discuss relationship between state and lang. /platform specific concept such as EJB.

1/24:

1. Implied resource  : you don't have to pass the state info as a parameter

2. Implied resource pattern: follow certain standards "patterns"

3.  A WS-Addressing endpoint reference is an XMLserialization of a network-wide pointer to a web service.
     This pointer is returned when a resource creation is requested by a web service and a factory creates the resource
     or when a WS sends a query for registry of resources
     or some application specific WS request

4. This endpoint reference may contain in addition to endpoint address of the WS, other metadata associated with
the WS.
---service description info
--- reference properties
 help define contextual use of the endpoint

5. WS + staeful resource ==> WS-Resource look at Figure 2

   WS
    request sent to WS
    resource C is created (explicit WS-Resource factory)
   endpoint reference is returned
    endpoint reference contains information about WS + newly created resource (implied resource pattern relationship)
    -- wsa: Address component
    -- wsa: ReferenceProperties component
An endpoint conatining a staeful resource identifier is a WS-Resource qualified endpoint reference.

6. See Figure 3. See the resource id C specifed.

7. Cardinality of the relationship between WS and stateful resources: can be potentially large; for example if the
   stateful resource is a file

8. WS-Resource lifecycle: creation, set identity, destruction
     WS-Resource properties: similar to grid services SDEs

9. ACID properties

10. Secuirty.