[wsf-c-dev] [wsf-php] RM API]
Paul Fremantle
paul at wso2.com
Tue Feb 6 01:27:40 PST 2007
I've made some notes. I know these duplicate some things that are said
in the discussion below, but I wanted to pull it all together.
1) The default version should be 1.0. 1.1 is not yet a spec and
Microsoft don't yet support it in WCF. So making the default 1.1 will
just cause trouble for users interoping with MS.
2) If RM is on, it should automatically enable Addressing
3) Instead of Offer = true, lets use something that signifies what's
going on.
I propose TwoWayRM=true.
4) The client identifier is something that is pretty advanced. The
average PHP user will never use this. I would suggest we call it a
SequenceKey if we are going to expose it to the client. It should *not*
be called Identifier. The Identifier is a specific term used in the spec
and is different. I don't agree that we should send each message in a
separate sequence. The logical thing from a server perspective (like
with PHP) is that the server creates a single sequence to the RM
endpoint, and channels all messages to it. If we default to having a new
sequence for every message we will be incredibly inefficient. From the
user's perspective we should automatically create and expire sequences
as necessary, and ideally the user shouldn't need to be involved, except
to say that this client or server uses RM.
5) I think the most obvious programming construct for ending a sequence
would be to have an explicit call to terminate the sequence:
$wsclient->TerminateOutgoingRM();
I thought about just TerminateRM(), but the problem is that this really
should only terminate the outgoing sequence, and I don't want to make
users think that it will shut down both sequences.
6) For both the client and server it should be possible to set the
expiry time of the sequence.
7) I think it is possible to support 2-way in PHP. After all Microsoft
does it with .NET (yes - with a synchronous client). It isn't very
beautiful architecturally, but it seems to work.
What they do is to use the anonymous replay model. Basically the RM
client will block and keep resending requests until it gets a response.
You can talk to Chamikara about the model.
Paul
Damitha Kumarage wrote:
>
>>>>
>>>>
>>>> 3) Identifier for sequence
>>>>
>>>> "Identifier" => "unique identifier key"
>>>>
>>>> If this is not specified, a key will be generated internally.
>>>
>>> Why "Identifier" and not "identifier"? Again, I think identifier is
>>> too generic. It does not indicate it is an RM option. What if we use
>>> "sequence_identifier"?
>>
>> yes, I have made a mistake. it should be 'identifier'. I think
>> "sequence_identifier" is a better option.
>
> +1
> Damitha
>
>
> _______________________________________________
> Wsf-c-dev mailing list
> Wsf-c-dev at wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/wsf-c-dev
>
--
Paul Fremantle
VP/Technology and Partnerships, WSO2
OASIS WS-RX TC Co-chair
http://bloglines.com/blog/paulfremantle
paul at wso2.com
(646) 290 8050
"Oxygenating the Web Service Platform", www.wso2.com
More information about the Wsf-c-dev
mailing list