{"id":715,"date":"2005-02-18T21:45:00","date_gmt":"2005-02-19T06:45:00","guid":{"rendered":"http:\/\/www.cloudidentity.com\/blog\/2005\/02\/18\/ws-reliablemessaging-2005-whats-new\/"},"modified":"2013-03-16T11:00:11","modified_gmt":"2013-03-16T20:00:11","slug":"376276","status":"publish","type":"post","link":"https:\/\/www.cloudidentity.com\/blog\/2005\/02\/18\/376276\/","title":{"rendered":"WS-ReliableMessaging 2005: what&#8217;s new"},"content":{"rendered":"<p>Scatter list of new or (IMHO) notable features of the <a href=\"http:\/\/msdn.microsoft.com\/library\/en-us\/dnglobspec\/html\/WS-ReliableMessaging.pdf\">2005 version of WS-ReliableMessaging<\/a>. Overall I&#8217;d say that it changed very little, promising symptom of maturity of the specification. <\/p>\n<ol>\n<li>Elements at the header level are now called &#8220;header block&#8221;\n<li>Example Message Exchange (s2.4): sequence explicit creation (2,3) and termination (11,12) are no longer declared as optional steps\n<li><font face=\"Courier New\">Sequence<\/font> (s3) now includes a more pervasive<font face=\"Courier New\"> <\/font><a><font face=\"Courier New\">\/@any<\/font><\/a> extension mechanism. Extensions must not contradict the semantic of the spec element. If a receiver doen&#8217;t understand an extension, it should ignore it.\n<li>(s3.1) Say goodbye to the <font face=\"Courier New\">Expires<\/font> element\n<li>(s3.1) There is now the chance to send a message with empty body, a <font face=\"Courier New\">Sequence<\/font> with just a <font face=\"Courier New\">LastMessage<\/font> child and a special Action (<a href=\"http:\/\/schemas.xmlsoap.org\/ws\/2005\/02\/rm\/LastMessage\">http:\/\/schemas.xmlsoap.org\/ws\/2005\/02\/rm\/LastMessage<\/a>) in the case in which you wish to close the sequence but you don&#8217;t have any more application data to send.\n<li>(s3.4) As suspected in the example, explicit outbound sequence creation is now mandatory. An inbound sequence can be &#8220;invited&#8221; by sending an explicit offer. More below.\n<li>(s3.4) <font face=\"Courier New\">CreateSequence<\/font> underwent heavy restyling. it has now the following children:\n<ol>\n<li>&nbsp;<font face=\"Courier New\">AcksTo<\/font>: the EP which is supposed to listen to communications like acks and faults\n<li>&nbsp;<font face=\"Courier New\">Expires<\/font>: it just moved, after all? No, there&#8217;s more. Destination can accept the value or use a shorter one. There&#8217;s a special value for &#8220;no expiration&#8221; (P0S). If you don&#8217;t specify an <font face=\"Courier New\">Expires<\/font>, P0S will be the default value.\n<li>&nbsp;<font face=\"Courier New\">Offer<\/font>: the source offers the destination a &#8220;return queue&#8221;, that&#8217;s to say an inbound sequence. <font face=\"Courier New\">Offer<\/font> must contain the <font face=\"Courier New\">Identifier<\/font> of the inbound sequence, and may contain <font face=\"Courier New\">Expires<\/font> (same semantic as above)\n<li>&nbsp;<font face=\"Courier New\">SecurityTokenReference<\/font>: nice new trick, which may associate a security context to the sequence(s, if <font face=\"Courier New\">Offer<\/font> is present).<\/li>\n<\/ol>\n<li>(s3.4) <font face=\"Courier New\">SequenceResponse<\/font> carries the <font face=\"Courier New\">Identifier<\/font> of the created sequence, as usual. Now it is explicitly forbidden to use that element as a header block. new children:\n<ol>\n<li>&nbsp;<font face=\"Courier New\">Expires<\/font>: as above.\n<li>&nbsp;<font face=\"Courier New\">Accept<\/font>: declares that destination is willing to dance with source and accepts its <font face=\"Courier New\">Offer<\/font>. It contains <font face=\"Courier New\">AcksTo<\/font>, which is the endpoint on the destination which will listen to the acks\/faults from the source about the offered sequence.<\/li>\n<\/ol>\n<li>(s3.5) If you exceptuate explicit prohibition of travelling as a header block, <font face=\"Courier New\">SequenceTermination<\/font> seems pretty much unchanged\n<li>(old s4) As <A href=\"http:\/\/blogs.msdn.com\/vbertocci\/archive\/2005\/02\/17\/375678.aspx\">stated yesterday<\/a>, all policy moved to another house. Some got lost in the way, like <font face=\"Courier New\">SequenceRef<\/font>.\n<li>(s4) Faults section now refers explicitly WS-Addressing, and makes full use of its features.\n<li>(old s6.7) Being Sequence creation now explicit, Sequence Refused got extint.\n<li>(s5) Security Considerations is pretty much unchanged, which surprises me a little: I would have expected some elaboration of the new <font face=\"Courier New\">SecurityTokenReference<\/font> in <font face=\"Courier New\">CreateSequence<\/font>.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<div style=\"clear:both\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Scatter list of new or (IMHO) notable features of the 2005 version of WS-ReliableMessaging. Overall I&#8217;d say that it changed very little, promising symptom of maturity of the specification. Elements at the header level are now called &#8220;header block&#8221; Example Message Exchange (s2.4): sequence explicit creation (2,3) and termination (11,12) are no longer&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"categories":[61],"tags":[],"class_list":["post-715","post","type-post","status-publish","format-standard","hentry","category-architecture-ws"],"_links":{"self":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/715","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/comments?post=715"}],"version-history":[{"count":1,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/715\/revisions"}],"predecessor-version":[{"id":1875,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/715\/revisions\/1875"}],"wp:attachment":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/media?parent=715"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/categories?post=715"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/tags?post=715"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}