OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-caf message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: FW: [ogsi-wg] RE: [ws-caf] WS-Resource Framework


More from the OGSI WG mailing list...

I leave the comments on "... if you ask a person experienced in building
transaction systems..." to you. Is there anyone in this group that falls
under that category? :-)

--
Savas Parastatidis
http://savas.parastatidis.name (now blogging)
 
> -----Original Message-----
> From: Jeffrey Frey [mailto:jafrey@us.ibm.com]
> Sent: Tuesday, January 27, 2004 6:01 AM
> To: Mark Little
> Cc: Newcomer, Eric; Ian Foster; ogsi-wg@gridforum.org; owner-ogsi-
> wg@gridforum.org; Savas Parastatidis; ws-caf@lists.oasis-open.org
> Subject: Re: [ogsi-wg] RE: [ws-caf] WS-Resource Framework
> 
> 
> 
> 
> 
> Mark,
> Either I am failing to articulate my point, or it is not compelling to
> you.
> There are pointers to things and there are contexts in which those
things
> are used. What we intended to represent with the endpoint reference in
> WSRF
> is a structured pointer to a stateful resource. We purposely
encapsulate
> the identity of the resource in the endpoint reference so that the EPR
> could be passed and used as a network-wide resource pointer.  This
> eliminates the need to treat the pointer to a stateful resource as two
or
> more separate components in the programming model, namely the network
> endpoint address of the agent providing access to the resource, and a
> context element needed to further qualify the resource instance at
that
> endpoint.  This is the primary rationale for treating the resource
> identity
> as part of the service endpoint reference. If it would help eliminate
the
> confusion, I would be happy to stop using the word "context" to
express
> the
> intended semantic of the references properties within a WS-Addressing
EPR.
> 
> If I understand the intent of your transaction example, you would
claim
> the
> treatment of the input parameter of  a commit operation is another
example
> of an appropriate use of WS-Context. I argue that the use of the XID
to
> identify the stateful resource (transaction state) as the explicit
target
> of the commit operation is not same as the treatment of the XID as a
> "transaction context" that accompanies a request message to a database
> targeting a stateful resource (database content) in the database. In
both
> examples, the same XID value is used, and it represents the same
> transaction. But in one case it is used to express a contextual use of
the
> database content (an appropriate use of WS-Context) and in the other
it
> represents the primary target of the request message (Commit) itself.
If
> you ask a person experienced in building transaction systems whether a
> commit or rollback message is performed in the context of a
transaction,
> or
> if transaction context flows with the message, they would say no.
There is
> no need to register the execution of the commit operation in the
> transactional unit of work, even though there is a need to identify
the
> transaction being committed. These are distinct ideas.
> 
> If I follow your line of reasoning, then why don't we treat all web
> service
> request parameter data as WS-Context elements? If you use the term
> "context" this broadly and indiscriminately, one might argue that all
> input
> required for the execution of a service request is "context" for the
> request. In fact, one could then argue that "context" not only
represents
> the content of the request message, but all of the environmental state
> needed, however obtained or provided, in the support of the execution
of
> the request. Of course, all of this is "context". But it is not a
useful
> way to express or use the notion of WS-Context. And it would not be
> consistent with the well known and traditional meaning of message
> execution
> context as it has been used in distributed systems for years.
> 
> Jeffrey Frey
> 
> IBM Distinguished Engineer
> OnDemand System Architecture and Design
> Phone: 845-435-3067  Tie: 8-295-3067  Cell: 914-456-6556
> Notes: Jeffrey Frey/Poughkeepsie/IBM@IBMUS
> Internet: jafrey@us.ibm.com
> 
> 
> 
> 
> |---------+---------------------------->
> |         |           "Mark Little"    |
> |         |           <mark.little@arju|
> |         |           na.com>          |
> |         |                            |
> |         |           01/24/2004 06:05 |
> |         |           AM               |
> |         |                            |
> |---------+---------------------------->
>
>-----------------------------------------------------------------------
> -------------------------------------------------------------|
>   |
> |
>   |       To:       Jeffrey Frey/Poughkeepsie/IBM@IBMUS, "Ian Foster"
> <foster@mcs.anl.gov>                                             |
>   |       cc:       "Newcomer, Eric" <Eric.Newcomer@iona.com>, <ogsi-
> wg@gridforum.org>, <owner-ogsi-wg@gridforum.org>, "Savas          |
>   |        Parastatidis" <Savas.Parastatidis@newcastle.ac.uk>, <ws-
> caf@lists.oasis-open.org>                                           |
>   |       Subject:  Re: [ogsi-wg] RE: [ws-caf] WS-Resource Framework
> |
>   |
> |
>
>-----------------------------------------------------------------------
> -------------------------------------------------------------|
> 
> 
> 
> 
> Jeffrey, after having read through the WS-R specifications, I fail to
see
> any subtle or not-so-subtle distinction. Maybe this is due to
> misundertanding of WS-R on my part, or perhaps a misundertanding of
> WS-Context on yours, but I'd like to explore the perceived mismatch.
> 
> Whilst it is true that the types of context to which you refer allow
for
> an
> interoperable understanding between client and server, I think that
misses
> the real point of WS-Context in general: to allow the unambiguous
> correlation of a set of messages sent to a (set of) endpoints in an
> implementation (or context specific) manner; the endpoint may use that
> context to associate a specific state to itself prior to performing
any
> work
> that may be implied by the receipt of those messages.
> 
> I think we're agreed that context goes beyond transactions, but if you
> take
> transactions for a second, let's look at the X/Open XA specification
and
> particularly how a type of context is used within that. Within XA,
> transactions are identified by XIDs and a given resource manager
> (essentially the entity that controls the way in which data is
transacted
> to
> a back-end database) may multiplex across many different transaction
> instances. So, for example, in the C API for XA, there is a struct
> (xa_switch_t), that has operations for preparing, committing, rolling
back
> etc. transactions and each of those operations takes an XID to
identify
> the
> transaction (state) on which it should operate: only one instance of
the
> struct exists. So, you could have an XA service that receives messages
to
> commit (say) a transaction and the context for that message would be
an
> XID
> that the service uses to determine which state instance to manipulate.
> 
> What I hope I've illustrated is that context isn't just used to tie
> together
> endpoints for interoperability: it can be used to unambiguously
identify
> stateful instances in precisely the same way that is shown in the
example
> pattern from the ModelingState (page 12). Or did I miss something?
> 
> In fact, if we look at the schema from that example:
> 
> <wsa:EndpointRefrence>
>     <wsa:Address>
>         http://....
>     </wsa:Address>
>     <wsa:ReferenceProperties>
>         <tns:resourceID>C</tns:resourceID>
>     </wsa:ReferenceProperties>
> </wsa:EndpointReference>
> 
> the same thing can be achieved using context (in pseudo-code):
> 
> <wsctx:context>C</wsctx:context>   <--- appears in the header block
> 
> <wsa:Address>
>     http://
> </wsa:Address>
> 
> The endpoint that receives both message types has to parse the message
and
> determine the circumstances in which it can be used, i.e., in this
case
> the
> state to which it should be applied. The only difference I can see is
that
> in WS-R, the context for the message is embedded in the endpoint
> reference,
> whereas in WS-Context it's in the header. But something (whether you
call
> it
> an interceptor, XML processor handle, or whatever) has to pick apart
the
> message.
> 
> You say that there's nothing extra needed in terms of a handler over
and
> above what's already in WS-Addressing, but isn't that just saying that
> because you leverage something that has handlers, you don't have to
> redefine
> them?
> 
> And in both cases it can be just as opaque to client and service.
> 
> Although your interpretation of how WS-Context *may* be used is
certainly
> correct, the fact is that we've seen many different use cases for
context
> that show the general notion of a context should not be limited to a
> specific use case. Identifying state at an endpoint is possible by a
> correlation id (e.g., a cookie), and in fact state can be encoded
within a
> context for purely stateless services.
> 
> I think as Savas started to elucidate, identification of stateful
> instances
> via context also appears to be a lot easier when you have mutliple
> services
> in the same interaction. With context, the invoker of a set of
services
> would typically selects the relevant context id that represents a
specific
> set of stateful services and all of the services see the same context
id
> and
> map that to whatever state is appropriate for that interaction. It
would
> appear from the WS-R documents that in a similar scenario, each
stateful
> service generates a different resourceID that somehow the invoker
would
> need
> to tie together into a collaborative effort. What I mean by this is
that
> the
> invoker of those multiple stateful services would need to remember
each of
> the resourceIDs (or rather their unique EndpointReference). That seems
> like
> a rather heavyweight approach and one which appears to have scaling
> problems.
> 
> You also mention that the WS-R "context" is only produced by the
service,
> rather than by the client in WS-Context. However, that's wrong - the
> context
> does not have to be produced by the client in WS-Context and in fact
can
> be
> augmented by each service. So, a "blank" context could be received by
a
> service that then operates on some state which the client needs to
> unambiguously identify later, and in which case the service can add
the
> state identification to the context that flows back to the client (or
> recipient of the response).
> 
> It may be that the model outlined in the WS-R documents for
representing
> stateful instances is more ideal for the Grid environments in which it
has
> evolved. But in that case, it's worth pointing out that a generic
notion
> of
> context can also support that. WS-Context has an explicit (though
> optional)
> context element for identifying the endpoints that are participating
in an
> interaction.
> 
> So, in conclusion, I may be totally off-base here in my understanding
of
> the
> WS-R specifications, but I don't see a distinction between them and
what
> WS-Context is attempting to achieve. If you take a very restrictive
view
> of
> what context is, then I can understand why you may think there are
> differences. However, we haven't taken that restrictive view. Maybe
its
> approaching the same problem from different ends of the spectrum and
in
> which case I'd echo Eric's original question about whether some level
of
> convergence makes sense.
> 
> All the best,
> 
> Mark.
> 
> ----
> Mark Little,
> Chief Architect, Transactions,
> Arjuna Technologies Ltd.
> 
> ----- Original Message -----
> From: "Jeffrey Frey" <jafrey@us.ibm.com>
> To: "Ian Foster" <foster@mcs.anl.gov>
> Cc: "Newcomer, Eric" <Eric.Newcomer@iona.com>;
<ogsi-wg@gridforum.org>;
> <owner-ogsi-wg@gridforum.org>; "Savas Parastatidis"
> <Savas.Parastatidis@newcastle.ac.uk>; <ws-caf@lists.oasis-open.org>
> Sent: Friday, January 23, 2004 6:11 PM
> Subject: Re: [ogsi-wg] RE: [ws-caf] WS-Resource Framework
> 
> 
> 
> 
> 
> 
> I agree with Ian. There is a subtle but important distinction.
Context, as
> referred to in WS-Context, is explicitly declared and meant to
facilitate
> an interoperable understanding between the client and the service. For
> example, a transactional unit of work is something that can be
established
> by the client and sent to the service in a well known context that
> accompanies the message to the web service. The same is true for
contexts
> that represent security function, etc. This is not the same as what we
> have
> introduced with the WS-Resource. There is no need to declare the
> WS-Resource context for interoperability reasons. The WS-Resource
> "context"
> is not produced by the client. It is produced and consumed by the
service.
> It is carried in the EPR as an opaque construct to the client. There
is no
> need for the client to interpret or inspect the contents of the
reference
> properties. In fact, there is no additional "context" handler required
at
> all on the client side of the interaction other than what is already
> generically specified in the WS-Addressing specification. So, while I
can
> understand that this appears to be the same at an abstract level of
> understanding, we did not intend the identity of the resource as it is
> treated in the EPR to be interpreted as "context" in the same way
other
> usage context is produced and consumed across the web service
interaction
> with the client.
> 
> In addition, while we know some have an aversion to the treatment of
the
> stateful resource as a "first class" addressable entity or as the
implied
> target of the interaction from the client., some do not. And if your
view
> is that the resource is the "target" of the message interchange from
the
> client the service, our view is that it should be treated as distinct
from
> other execution contexts which exist not for the purpose of
identifying
> the
> target of the message exchange, but to provide additional control over
how
> the target of the message exchange is to be treated. WS-Context should
be
> used to facilitate the contextual usage of the target of the message,
not
> the target of the message itself.
> 
> Jeffrey Frey
> 
> IBM Distinguished Engineer
> OnDemand System Architecture and Design
> Phone: 845-435-3067  Tie: 8-295-3067  Cell: 914-456-6556
> Notes: Jeffrey Frey/Poughkeepsie/IBM@IBMUS
> Internet: jafrey@us.ibm.com
> 
> 
> 
> 
> |---------+---------------------------->
> |         |           Ian Foster       |
> |         |           <foster@mcs.anl.g|
> |         |           ov>              |
> |         |           Sent by:         |
> |         |           owner-ogsi-wg@gri|
> |         |           dforum.org       |
> |         |                            |
> |         |                            |
> |         |           01/22/2004 05:34 |
> |         |           PM               |
> |         |                            |
> |---------+---------------------------->
> 
>
>-----------------------------------------------------------------------
--
> --
> 
> ---------------------------------------------------------|
>   |
> |
>   |       To:       "Savas Parastatidis"
> <Savas.Parastatidis@newcastle.ac.uk>, "Newcomer, Eric"
> <Eric.Newcomer@iona.com>               |
>   |       cc:       <ws-caf@lists.oasis-open.org>,
<ogsi-wg@gridforum.org>
> |
>   |       Subject:  Re: [ogsi-wg] RE: [ws-caf] WS-Resource Framework
> |
>   |
>            |
> 
>
>-----------------------------------------------------------------------
--
> --
> 
> ---------------------------------------------------------|
> 
> 
> 
> 
> Eric:
> 
> We (the WSRF authors) are very familiar with WS-Context and certainly
> agree
> that it has an important role to play.
> 
> However, we also believe that there are important situations in which
> stateful resources need to be identified and managed as first-class
> entities: thus WS-Resource Framework. Thus the enthusiastic response
we
> are
> seeing to the proposal from the IBM and HP Web services teams, as well
as
> many others.
> 
> Ian.
> 
> At 10:06 PM 1/22/2004 +0000, Savas Parastatidis wrote:
> 
>       Dear Eric,
> 
> 
> 
>       I agree with your comments. In fact, back in August 2003 we used
>       WS-Context as an example of how stateful interactions and/or
>       distributed units of work could be modelled. This was part of
our
>       proposals for a WSA-friendly framework for building Grid
> applications
>       (http://www.neresc.ac.uk/ws-gaf).
> 
> 
> 
>       Regards,
> 
>       --
>       Savas Parastatidis
>       http://savas.parastatidis.name
> 
> 
>       From: Newcomer, Eric [mailto:Eric.Newcomer@iona.com]
>       Sent: Thursday, January 22, 2004 6:28 PM
>       To: Mark Little; Savas Parastatidis; ws-caf@lists.oasis-open.org
>       Subject: RE: [ws-caf] WS-Resource Framework
> 
> 
> 
>       I have the general impression of the OGSA specs as the
equivalence
> of
>       CORBA.
> 
> 
> 
>       On the topic of the WS-Resource Framework in particular, I've
looked
>       through the specs and I think WS-Context could have been used,
and
>       it's unfortunate it wasn't.  I suppose the Resource Framework
effort
>       grew out of the Grid work however so it has a completely
independent
>       origin.
> 
> 
> 
>       I also agree that I can't see a practical difference between
context
>       management in transactions and the context management defined
for
> the
>       Resource Framework.
> 
> 
> 
>       It would be nice to try to converge these things at some point
and
> in
>       some organization - is that OASIS?
> 
> 
> _______________________________________________________________
> Ian Foster                    www.mcs.anl.gov/~foster
> Math & Computer Science Div.  Dept of Computer Science
> Argonne National Laboratory   The University of Chicago
> Argonne, IL 60439, U.S.A.     Chicago, IL 60637, U.S.A.
> Tel: 630 252 4619             Fax: 630 252 1997
>         Globus Alliance, www.globus.org
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]