[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [no subject]
a data access service does not have to be modelled as a WS-Resource. It= was suggested by William and David that WS-RF could be used to model th= e session for management purposes. As others have pointed out, however, this is unlikely to be the case because the WS-Context specification, since it defines a protocol, it describes its own lifetime requirements= and means for management. The WS-Context spec knows the exact requirements for lifetime management, it provides a solution that fits well with the model, and it's unambiguous. However, the suggestion that the session could be modelled as a WS-Resource for management purposes has another drawback. The "session"= is an application-specific concept; in this case, it is a stateful interaction with a data access service. We use WS-Context to model a session as an external-to-the-service entity. Each service has its own understanding of what the session means to it even though the same context is used. Here's an example of what I mean... Let's say that we now have 2 data access services. We say that our context models a session in which all messages are logged. What the services will do when they receive that context, it's up to them. We could send these two messages to the two services... To service1 -------- <envelope> <header> <context> ... <sessionId>Session123</sessionId> <logging>true</logging> </context> </header> <body> <drop-database>databaseA</drop-database> </body> </envelope> To service2 ----------- <envelope> <header> <context> ... <sessionId>Session123</sessionId> <logging>true</logging> </context> </header> <body> <drop-database>databaseB</drop-database> </body> </envelope> As you can see, the context is the same. What each service does with regards to the session (modelled by the transmission of the context), it's up to the service. So, one could imagine a message only to service= 2 like this... <envelope> <header> <context> ... <sessionId>Session123</sessionId> <logging>true</logging> </context> </header> <body> <end-session /> </body> </envelope> Now, the <end-session> message is not related to WS-Context. Instead, i= t says to the application logic not to do anything application-specific with regards to the current context from now on (I hope I am not misunderstanding the use of context... I am sure the WS-Context people will correct me if I do). The context has not been destroyed. In fact, it may still be used with service1. However, as far as service2 is concerned, there is no association between the session (the application-specific concept) and the context (the conceptually externa= l entity that models the stateful interaction). What this means is that we have, again, a lifetime-related operation. I= t is clear, however, that WS-Resource Lifetime cannot be used because the= semantics of the message (the application payload) are only understood by the service logic. Furthermore, David agreed that this message <envelope> <header> <context> ... <sessionId>123</sessionId> </context> <databaseId>DatabaseA</databaseId> </header> <body> <drop-database /> </body> </envelope> would be the way to go with WS-RF. But wait a minute (no one picked on that)... If DatabaseA is modelled as a WS-Resource, why isn't the <drop-database> a WS-Resource Lifetime message? After all, we are destroying the database, which is modelled as a resource. I think that'= s another example whether WS-RF wouldn't be used. Finally, with the WS-I or WS-Context approaches, it's very easy to say this... <body> <drop-database> <databaseId>databaseA</databaseId> <databaseId>databaseB</databaseId> </drop-database> </body> If both databases were modelled as WS-Resources what would the message be? Would I have to send two messages, as it would be the case with any= other object-based technology? I hope you treat these questions as a way to investigate and better understand the applicability of WS-RF and its conceptual model and not as more fuel to a religious argument. Regards, .savas. = --1__=09BBE432DFCB180C8f9e8a93df938690918c09BBE432DFCB180C Content-type: text/html; charset=US-ASCII Content-Disposition: inline Content-transfer-encoding: quoted-printable <html><body> <p>Savas & all,<br> <br> Reading the referenced article <tt><a href=3D"http://forge.gridforum.or= g/projects/dais-wg/document/draft-ggf-dais-mappings-ggf11/en/1">http://= forge.gridforum.org/projects/dais-wg/document/draft-ggf-dais-mappings-g= gf11/en/1</a></tt><br> by Savas, Sasty & Simon it is clear what you are is citing scenario= 2, 'Sessions'. However, the article clearly points out that a range of= possibilities exist (i.e. after all the WS-* standards are meant to be= composable). So scenario 2 in the article illustrates that a.) session= s & resources can be represented entirely using WS-RF (5.2.3.1) or = b.) sessions can be represented using either WS-I or WS-Context along w= ith a WS-RF resource (5.2.3.2)<br> <br> The article makes no value judgement. It also apparent from some of the= responses that others have repeated this message (that depending on th= e requirements) a vendor has the flexibility to implement in any fashio= n he choose. I believe the important thing here is to emphasis that thi= s is not an either/or proposition (i.e. the answer it's not necessarily= all WS-I/WS-Context nor is it all WS-ResourceFramework). <br> <br> My preference for scenario 2 would be to model sessions as WS-I/WS-Cont= ext and stateful resources using WS-RF. It follows a 'pattern' which we= are very familiar. However I'm not sure that answer necessarily satisf= ies everyone & certain it does not apply to every scenario (or as I= said before that one pattern does not necessarily 'fits all' situation= s).<br> <br> Regards,<br> Tom<br> <br> <img src=3D"cid:10__=3D09BBE432DFCB180C8f9e8a93df938@us.ibm.com" width=3D= "16" height=3D"16" alt=3D"Inactive hide details for "Savas Parasta= tidis" <Savas.Parastatidis@newcastle.ac.uk>">"Savas Par= astatidis" <Savas.Parastatidis@newcastle.ac.uk><br> <br> <br> <table width=3D"100%" border=3D"0" cellspacing=3D"0" cellpadding=3D"0">= <tr valign=3D"top"><td style=3D"background-image:url(cid:20__=3D09BBE43= 2DFCB180C8f9e8a93df938@us.ibm.com); background-repeat: no-repeat; " wid= th=3D"40%"> <ul> <ul> <ul> <ul><b><font size=3D"2">"Savas Parastatidis" <Savas.Parast= atidis@newcastle.ac.uk></font></b><font size=3D"2"> </font> <p><font size=3D"2">05/27/2004 06:37 AM</font></ul> </ul> </ul> </ul> </td><td width=3D"60%"> <table width=3D"100%" border=3D"0" cellspacing=3D"0" cellpadding=3D"0">= <tr valign=3D"top"><td width=3D"1%" valign=3D"middle"><img src=3D"cid:3= 0__=3D09BBE432DFCB180C8f9e8a93df938@us.ibm.com" border=3D"0" height=3D"= 1" width=3D"58" alt=3D""><br> <div align=3D"right"><font size=3D"2">To</font></div></td><td width=3D"= 100%"><img src=3D"cid:30__=3D09BBE432DFCB180C8f9e8a93df938@us.ibm.com" = border=3D"0" height=3D"1" width=3D"1" alt=3D""><br> <font size=3D"2">"David Snelling" <d.snelling@fle.fujitsu.= com>, <wsrf@lists.oasis-open.org></font></td></tr> <tr valign=3D"top"><td width=3D"1%" valign=3D"middle"><img src=3D"cid:3= 0__=3D09BBE432DFCB180C8f9e8a93df938@us.ibm.com" border=3D"0" height=3D"= 1" width=3D"58" alt=3D""><br> <div align=3D"right"><font size=3D"2">cc</font></div></td><td width=3D"= 100%"><img src=3D"cid:30__=3D09BBE432DFCB180C8f9e8a93df938@us.ibm.com" = border=3D"0" height=3D"1" width=3D"1" alt=3D""><br> <font size=3D"2">"Sastry Malladi" <sastry.malladi@oracle.c= om>, "Simon Laws" <simon_laws@uk.ibm.com></font></td= ></tr> <tr valign=3D"top"><td width=3D"1%" valign=3D"middle"><img src=3D"cid:3= 0__=3D09BBE432DFCB180C8f9e8a93df938@us.ibm.com" border=3D"0" height=3D"= 1" width=3D"58" alt=3D""><br> <div align=3D"right"><font size=3D"2">Subject</font></div></td><td widt= h=3D"100%"><img src=3D"cid:30__=3D09BBE432DFCB180C8f9e8a93df938@us.ibm.= com" border=3D"0" height=3D"1" width=3D"1" alt=3D""><br> <font size=3D"2">RE: [wsrf] Modelling sessions</font></td></tr> </table> <table border=3D"0" cellspacing=3D"0" cellpadding=3D"0"> <tr valign=3D"top"><td width=3D"58"><img src=3D"cid:30__=3D09BBE432DFCB= 180C8f9e8a93df938@us.ibm.com" border=3D"0" height=3D"1" width=3D"1" alt= =3D""></td><td width=3D"336"><img src=3D"cid:30__=3D09BBE432DFCB180C8f9= e8a93df938@us.ibm.com" border=3D"0" height=3D"1" width=3D"1" alt=3D""><= /td></tr> </table> </td></tr> </table> <br> <tt>All,<br> <br> Thanks for all your replies. I have quite a few follow-on questions but= <br> I will try to send them few at a time so we all get the chance to think= <br> about the issues. (Sorry Dave, you shouldn't have encouraged me :-)<br>= <br> <br>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]