Hi Gary,
Tully, Gary wrote:
I have been toying around with my default servant test cases and
implementing as I go. My test case determines if Numbers are even by
accessing a particular Number instance from a NumberFactory (via create)
and using the returned reference to invoke the isEven() operation.
Trivial but illustrative I hope.
To make the implementation work/scale on the Server, a single stateless
servant represents all possible numbers and determines its current
identity based on the details of its current/target Endpoint Reference.
[...]
Bernd, does this nail your use case?
Yes, it does. Your implementation (MultiplexDestination) makes sense as well,
especially
the freedom of using WS-A, HTTP URL parameters, or something else to
identify the target. I'm looking forward to seeing this in the CXF trunk!
Best regards,
Bernd.
All, Does it make sense?
Comments appreciated, I would like to further this into a proposal in
the near future.
Thanks,
Gary.
-----Original Message-----
From: Bernd Schuller [mailto:[EMAIL PROTECTED]
Sent: 23 March 2007 13:13
To: [email protected]
Subject: Re: Support for stateful services in CXF
Hi Gary,
thanks a lot for your reply.
Tully, Gary wrote:
Only yesterday I started to investigate providing simple
support for a
single instance service that can represent many WS-addressing
identities.
What I am after at the moment is a simpler version of what is
supported by @Stateful in the JAX-WS RI. The only state is
a unique-id
that is encapsulated in the WS-Address.
That looks like a starting point...
[...]
At the moment I am capturing the FactoryPattern use-case as
a system
test in order to provide a starting proof-point for an
implementation.
The use of WS-Context (thanks Sergey) or HTTP session
information as a
means of determining unique id would be neat but I think this is
orthogonal.
agreed.
From a WS-RF point of view, what are the usage scenarios
that you will
need? Do they lend them selves to capture as system tests?
The basic scenario is approximately
- allow for instance creation on a stateful service, for
example using a
Factory service
- deal with state, e.g. persist instances to some permanent storage
- manage instance lifecycle, manage their lifetime, destroy them
- allow clients to access instances by EPR / WS-Addressing
This can be captured by system tests, I guess.
Like you, I am learning as I go here, so any input is appreciated,
especially your ideas on improving @Stateful and your experiences
doing something similar with Xfire.
My main improvements on the JAX-WS RI @Stateful would be to
try and make the whole instance resolving process, instance
lifecycle management and EPR creation much more flexible, and
give more control to the application programmer.
Of course all this should fit in as nicely as possible in the
CXF environment, which I unfortunately don't know much about yet...
In my XFire implementation, things were fairly easy, because
I could hook into the mechanism that XFire uses to get the
service object (the Invoker). Figure out the unique id from
the message context, re-create the requested service instance
from permanent storage, restore its state, and invoke the operation.
Maybe something similar can be done in CXF.
As I am only starting on my quest for a design, you may as
well give
it a try from your perspective. We can swap ideas or experiences to
come up with a working solution. It need not be a race :-)
Perfect!
Thanks, and best regards,
Bernd.
-----Original Message-----
From: Bernd Schuller [mailto:[EMAIL PROTECTED]
Sent: 23 March 2007 07:36
To: CXF devel
Subject: Support for stateful services in CXF [...] I was
wondering
about whether you think it is a good idea to add support
for stateful
services to CXF.
[...]
--
Dr. Bernd Schuller
Central Institute for Applied Mathematics Forschungszentrum
Juelich GmbH
mail [EMAIL PROTECTED]
phone +49 2461 61 8736
fax +49 2461 61 6656
blog http://www.jroller.com/page/gridhaus
--
Dr. Bernd Schuller
Central Institute for Applied Mathematics
Forschungszentrum Juelich GmbH
mail [EMAIL PROTECTED]
phone +49 2461 61 8736
fax +49 2461 61 6656
blog http://www.jroller.com/page/gridhaus