[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