[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Modelling sessions
Dear all, Sastry Malladi (Oracle), Simon Laws (IBM), and myself have been involved in some work for GGF's Data Access and Integration Services (DAIS) working group, where we attempted to compare different approaches for mapping DAIS-specific requirements to underlying technologies. We explored the use of a WS-I only approach, an approach that uses WS-Context, and one based on WS-RF. (link: http://forge.gridforum.org/projects/dais-wg/document/draft-ggf-dais-mapp ings-ggf11/en/1) One of the questions that were raised during this work was how to model session-based interactions using WS-RF. I am hoping the members of the mailing list could help since we didn't reach a concrete proposal on how this could be done... Here's the problem... WS-RF is used to model stateful interactions with resources. Each message carries some information that identifies the resource behind the service which should be the logical receiver of the message. I hope my understanding is correct. Now, imagine a scenario where we want to establish a stateful interaction with a service (not the resource) and we want to associate some quality of service characteristics to it. Let's say, for example, that we want all interactions within the scope of a particular "session" to be logged. This would happen irrespective of which resource we are accessing. The problem arises if we attempt to model the session as a WS-Resource and at the same time we want to access another WS-Resource within the scope of that session. Let's say that we want to drop a database, which is modelled as a WS-Resource, and we want to log that action. This causes a problem since it's not possible for both resources to be addressed within one message. How do people in this WG recommend we approach this? There was a suggestion during the discussion we had that WS-RF would be used to model the database as a resource but additional mechanisms would be used to model the session (e.g., WS-Context). However, why would another mechanism be used? Isn't the intention of WS-RF to model all "resources" that require lifetime management? Isn't a session such a resource? So, if the solution is to not use WS-RF, then I would say... what's the point in defining a common solution when we can't use it in all situations? If the solution is to use WS-RF to model the session, then we have the problem of needing to address two resources within on message. I'd be grateful for any recommendations from the group. Here are some pseudo-SOAP messages to help illustrate the problem and how it is addressed by the other two approaches I mentioned... WS-I only --------- <envelope> <body> <drop-database> <sessionId>123</sessionId> <databaseId>DatabaseA</databaseId> </drop-database> </body> </envelope> WS-Context ---------- <envelope> <header> <context> ... <sessionId>123</sessionId> </context> </header> <body> <drop-database> <databaseId>DatabaseA</databaseId> </drop-database> </body> </envelope> WS-RF ??? ----- <envelope> <header> <sessionId>123</sessionId> <databaseId>DatabaseA</databaseId> </header> <body> <drop-database /> </body> </envelope> Or <envelope> <header> <databaseId>DatabaseA</databaseId> </header> <body> <drop-database> <sessionId>123</sessionId> </drop-database> </body> </envelope> Or <envelope> <header> <sessionId>123</sessionId> </header> <body> <drop-database> <databaseId>DatabaseA</databaseId> </drop-database> </body> </envelope> Or <envelope> <header> <context> ... <sessionId>123</sessionId> </context> <databaseId>DatabaseA</databaseId> </header> <body> <drop-database /> </body> </envelope> Or <envelope> <header> <sessionId>123</sessionId> <databaseId>DatabaseA</databaseId> </header> <body> <drop-database /> </body> </envelope> Of course the last one seems to be completely wrong. However, I can't see which of the other ones would be the preferred approach. Is there another way I can't think of? The combination of ws-context and ws-rf comes close to be the preferred one but then the question arises on why isn't the session modelled as a WS-RF since it has lifetime-related requirements. We could probably come up with other situations where a similar situation arises and where WS-Context cannot provide us with a solution. Please note that it is not in my intention to try and cause problems. I am just trying to better understand the proposed approach while hoping that this would be a useful discussion to the members of this WG. Regards, -- Savas Parastatidis http://savas.parastatidis.name
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]