• Feeds

    Subscribe in a reader

  • Ads

RefProps vs RefParams

There’sa good little back-and-forth between Omriand DaveOon the subject of Reference Properties and Reference Parameters inWS-Addressing.

I like to think that I understand the function and motivation for Reference Properties.Reference Properties are little blobs of state that you can include in anendpoint. Reference Properties contribute to the overall identity of an EPR,and are significant when it comes to determining EPR equality (if two EPR’shave different Reference Properties, they’re two different EPR’s).This feature allows services to dynamically construct groups of related endpointseasily, which can be quite handy. For example, WSE2 shows that it’spossible to use Reference Properties to attack the general problem of responsecorrelation by encoding a conversation ID within the ReplyTo EPR. Dispatch canstill be based on strict EPR equality, relying on the presence of the RefPropto disambiguate between multiple conversations happening simultaneously. It’sa good way of ensuring that the dispatch routine doesn’t accidentallyhand Thread B the response to Thread A’s request.

Reference Parameters, OTOH, are a different beast. They are not significantin equality comparisons and thus do not contribute to EPR identity. My bigquestions are: what are they used for? Who consumes them? Why would it beadvantageous to put these things inside of the Reference Parameters instead of someother place inside the message (either in a different header, or in the body?).If EPR’s are about determining identity, why is it good to include stuffin them that explicitly has no bearing on EPR identity?

I have yet to have the “aha!” moment with RefParams that I had withReference Properties.