﻿<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Clemens Vasters: Enterprise Development &amp; Alien Abductions</title>
    <link>http://staff.newtelligence.net/clemensv/</link>
    <description>Where The Press Comes For The News(tm)</description>
    <copyright>Clemens Vasters</copyright>
    <lastBuildDate>Sat, 24 Jul 2004 15:21:04 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.6.4121.0</generator>
    <managingEditor>clemensv@newtelligence.com</managingEditor>
    <webMaster>clemensv@newtelligence.com</webMaster>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=b6d6b110-62a1-49af-a0bd-4a94ed8ff3be</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=b6d6b110-62a1-49af-a0bd-4a94ed8ff3be</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=b6d6b110-62a1-49af-a0bd-4a94ed8ff3be</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=b6d6b110-62a1-49af-a0bd-4a94ed8ff3be</wfw:commentRss>
      <slash:comments>0</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.dotnetgerman.com/blogs/lennybacon/PermaLink.aspx?guid=6cb6f884-e757-44ea-9b97-b071f4d278d3">Daniel
      Fisher</a> aka "Lenny Bacon" joined the pack and is already having some fun.
   </p>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=b6d6b110-62a1-49af-a0bd-4a94ed8ff3be" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>New on board at newtelligence</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=b6d6b110-62a1-49af-a0bd-4a94ed8ff3be</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=b6d6b110-62a1-49af-a0bd-4a94ed8ff3be</link>
      <pubDate>Sat, 24 Jul 2004 15:21:04 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;a href="http://www.dotnetgerman.com/blogs/lennybacon/PermaLink.aspx?guid=6cb6f884-e757-44ea-9b97-b071f4d278d3"&gt;Daniel
   Fisher&lt;/a&gt; aka "Lenny Bacon" joined the pack and is already having some fun.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=b6d6b110-62a1-49af-a0bd-4a94ed8ff3be"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=b6d6b110-62a1-49af-a0bd-4a94ed8ff3be</comments>
      <category>newtelligence</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=c3f73593-4636-4906-bee7-a1f0e90159f7</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=c3f73593-4636-4906-bee7-a1f0e90159f7</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=c3f73593-4636-4906-bee7-a1f0e90159f7</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=c3f73593-4636-4906-bee7-a1f0e90159f7</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div class="Section1">
          <p>
         Microsoft Watch <a href="http://www.microsoft-watch.com/article2/0,1995,1625828,00.asp"><span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">highlights</span></a> the
         recently surfaced HP memo that speculates that Microsoft would start enforcing its
         patent portfolio on Open Source. How likely is it? It is an interesting question,
         indeed. Here’s what I think:
      </p>
          <p>
         The patent situation, especially on the middleware market, used to be very much like
         the cold war between the USSR and the USA in the last century. One side moves, everyone
         dies. My guess is that if Microsoft had gone out and dragged Sun to court over J2EE
         and Sun had countersued over .NET, things would have gotten really, really nasty.
         The very foundations of the J2EE stack are sitting right in the middle of a substantial
         Microsoft patent minefield covering what we know as MTS and COM+. The reverse doesn’t
         look much better. Now Sun and Microsoft <a href="http://www.directionsonmicrosoft.com/sample/DOMIS/update/2004/05may/0504sdsle.htm"><span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">made
         peace</span></a> on that front and are even looking to negotiate a broad IP cross-licensing
         deal to end that sort of arms race. Cross-licensing of patents is quite common in
         this industry and in most other industries as well. So where does that leave the grassroots
         Open Source movement? Not in a good place, for sure.
      </p>
          <p>
         If you do research and you pour millions or even billions into that research, there
         has to be some return on that investment. And there is a difference between academic
         research and research that yields commercial products. I am not saying that there
         is no close relationship between the two, but both are done with different goals.
         If you do research for commercial purposes, regardless of whether you do it in the
         automotive industry or in the pharmaceutical industry or even in the software industry,
         the results of your research deserve protection. At the same time, it is harmful to
         the society at-large, if everyone would keep all results of all research under wraps.
         So governments offer companies a deal: You disclose the results of your research and
         we grant you a limited-time monopoly to use that technology exclusively. If you decide
         to share the technology with other parties, you can be forced to allow third parties
         to license it on appropriate terms. And the German Patent law <a href="http://transpatent.com/gesetze/patg1.html#11">§11
         (1)</a> , for instance, explicitly states that patents do not cover noncommercial
         use of technology in a private environment.
      </p>
          <p>
         Now, if states offer that sort of system, a company that is built almost only on intellectual
         property (like Sun, IBM, Oracle, Apple, Microsoft and so forth) <b>must</b> play with
         the system. The must file for patents. If they don’t, they end of with something
         like the <a href="http://www.theregister.co.uk/2004/03/05/eolas%20web%20patent%20nullified/">Eolas
         mess</a> in their hands and that is not pretty. Even if some of the patents seem absolutely <a href="http://yro.slashdot.org/yro/04/06/02/2222258.shtml?tid=109&amp;tid=155&amp;tid=187&amp;tid=99">ridiculous</a>;
         if the patent lawyers at a large company figure out that a certain technology is not
         covered by an existing patent, they must go and protect it. Not necessarily to enforce
         it, but rather to avoid that someone else enforces it on them. And because a lot of
         these patents are indeed idiotic, such are rarely ever enforced and most often quite
         liberally licensed. Something similar is true for trademarks. Microsoft has no choice
         but to chase Lindows (now Linspire) or even poor “Mike Rowe Soft” because
         they <b>must</b> defend their trademarks, by law. If they don’t and let a case
         slip, they might lose them. It’s not about being nasty, it’s just following
         the rules that lawmakers have set.
      </p>
          <p>
         Now, if someone starts cheating on the research front and consumes IP from that system
         but never contributes IP to the system, it does indeed change the ballgame. If you
         don’t have a patent portfolio that is interesting enough for someone else to
         enter a (possibly scoped) cross-licensing deal with you and you don’t license
         such patents for money but instead break the other parties’ rightfully (it’s
         the law!) acquired, time-limited monopolies on commercial use of the respective technologies <b>and </b>you
         do so for profit, then you are simply violating the rules of the law. That’s
         as simple as it is. So, if I held Sun’s or Microsoft’s patent portfolio,
         would I ask those who profit from commercialization of those patents for my share?
         I really might give it some serious consideration. I think companies like Red Hat
         make wonderful targets, because they are commercial entities that profit greatly from
         a lot of IP that they do not (as I suspect) have properly licensed for commercial
         exploitation. The interesting this is that my reading of the (German) patent law is
         that the non-profit Apache Foundation can actually use patented technology without
         being at risk, but a for-profit company cannot adopt their results without being liable
         to acquire a license. Even giving away “free” software in order to benefit
         from the support services <b>is </b>commercialization<b>. </b>So if Red Hat includes
         some Apache project’s code that steps on patents, I’d say they are in
         trouble.
      </p>
          <p>
         Now, if someone were to “reimplement” a patented drug, the pharmaceutical
         company sitting on the patent would sue them out of existence the next second without
         even blinking. Unless I am really badly informed, the entire biotech industry is entirely
         built on IP protection. All these small biotech firms are doing research that eventually
         yields protected IP and that’s what they look to turn into profit. They’re
         not in the business of producing and distributing the resulting drugs on a world-wide
         scale, they look to share the wealth with the pharmaceutical giants that have the
         respective infrastructure. The software industry is a very, very tame place against
         what’s going on in other industries. So will Sun, IBM, Oracle, Apple, and/or
         Microsoft eventually become more serious about drawing profit from the rights they
         hold? Right now it would be a <i>very, very stupid</i> thing to do in terms of the
         resulting, adverse marketing effect. 
      </p>
          <p>
         Now imagine Sun’s unfortunate decline keeps going or some other technology company
         with a substantial patent portfolio (and not some weak copyright claims) falls into
         the hands of a litigious bunch of folks as in the case of SCO.  That’s
         when the shit is going to hit the fan. Big time.
      </p>
        </div>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=c3f73593-4636-4906-bee7-a1f0e90159f7" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>Microsoft enforcing its patent portfolio on Open Source? How likely is it that?</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=c3f73593-4636-4906-bee7-a1f0e90159f7</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=c3f73593-4636-4906-bee7-a1f0e90159f7</link>
      <pubDate>Thu, 22 Jul 2004 12:00:08 GMT</pubDate>
      <description>&lt;div class=Section1&gt;
   &lt;p&gt;
      Microsoft Watch &lt;a href="http://www.microsoft-watch.com/article2/0,1995,1625828,00.asp"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;highlights&lt;/span&gt;&lt;/a&gt; the
      recently surfaced HP memo that speculates that Microsoft would start enforcing its
      patent portfolio on Open Source. How likely is it? It is an interesting question,
      indeed. Here&amp;#8217;s what I think:
   &lt;/p&gt;
   &lt;p&gt;
      The patent situation, especially on the middleware market, used to be very much like
      the cold war between the USSR and the USA in the last century. One side moves, everyone
      dies. My guess is that if Microsoft had gone out and dragged Sun to court over J2EE
      and Sun had countersued over .NET, things would have gotten really, really nasty.
      The very foundations of the J2EE stack are sitting right in the middle of a substantial
      Microsoft patent minefield covering what we know as MTS and COM+. The reverse doesn&amp;#8217;t
      look much better. Now Sun and Microsoft &lt;a href="http://www.directionsonmicrosoft.com/sample/DOMIS/update/2004/05may/0504sdsle.htm"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;made
      peace&lt;/span&gt;&lt;/a&gt; on that front and are even looking to negotiate a broad IP cross-licensing
      deal to end that sort of arms race. Cross-licensing of patents is quite common in
      this industry and in most other industries as well. So where does that leave the grassroots
      Open Source movement? Not in a good place, for sure.
   &lt;/p&gt;
   &lt;p&gt;
      If you do research and you pour millions or even billions into that research, there
      has to be some return on that investment. And there is a difference between academic
      research and research that yields commercial products. I am not saying that there
      is no close relationship between the two, but both are done with different goals.
      If you do research for commercial purposes, regardless of whether you do it in the
      automotive industry or in the pharmaceutical industry or even in the software industry,
      the results of your research deserve protection. At the same time, it is harmful to
      the society at-large, if everyone would keep all results of all research under wraps.
      So governments offer companies a deal: You disclose the results of your research and
      we grant you a limited-time monopoly to use that technology exclusively. If you decide
      to share the technology with other parties, you can be forced to allow third parties
      to license it on appropriate terms. And the German Patent law &lt;a href="http://transpatent.com/gesetze/patg1.html#11"&gt;&amp;#167;11
      (1)&lt;/a&gt; , for instance, explicitly states that patents do not cover noncommercial
      use of technology in a private environment.
   &lt;/p&gt;
   &lt;p&gt;
      Now, if states offer that sort of system, a company that is built almost only on intellectual
      property (like Sun, IBM, Oracle, Apple, Microsoft and so forth) &lt;b&gt;must&lt;/b&gt; play with
      the system. The must file for patents. If they don&amp;#8217;t, they end of with something
      like the &lt;a href="http://www.theregister.co.uk/2004/03/05/eolas%20web%20patent%20nullified/"&gt;Eolas
      mess&lt;/a&gt; in their hands and that is not pretty. Even if some of the patents seem absolutely &lt;a href="http://yro.slashdot.org/yro/04/06/02/2222258.shtml?tid=109&amp;amp;tid=155&amp;amp;tid=187&amp;amp;tid=99"&gt;ridiculous&lt;/a&gt;;
      if the patent lawyers at a large company figure out that a certain technology is not
      covered by an existing patent, they must go and protect it. Not necessarily to enforce
      it, but rather to avoid that someone else enforces it on them. And because a lot of
      these patents are indeed idiotic, such are rarely ever enforced and most often quite
      liberally licensed. Something similar is true for trademarks. Microsoft has no choice
      but to chase Lindows (now Linspire) or even poor &amp;#8220;Mike Rowe Soft&amp;#8221; because
      they &lt;b&gt;must&lt;/b&gt; defend their trademarks, by law. If they don&amp;#8217;t and let a case
      slip, they might lose them. It&amp;#8217;s not about being nasty, it&amp;#8217;s just following
      the rules that lawmakers have set.
   &lt;/p&gt;
   &lt;p&gt;
      Now, if someone starts cheating on the research front and consumes IP from that system
      but never contributes IP to the system, it does indeed change the ballgame. If you
      don&amp;#8217;t have a patent portfolio that is interesting enough for someone else to
      enter a (possibly scoped) cross-licensing deal with you and you don&amp;#8217;t license
      such patents for money but instead break the other parties&amp;#8217; rightfully (it&amp;#8217;s
      the law!) acquired, time-limited monopolies on commercial use of the respective technologies &lt;b&gt;and &lt;/b&gt;you
      do so for profit, then you are simply violating the rules of the law. That&amp;#8217;s
      as simple as it is. So, if I held Sun&amp;#8217;s or Microsoft&amp;#8217;s patent portfolio,
      would I ask those who profit from commercialization of those patents for my share?
      I really might give it some serious consideration. I think companies like Red Hat
      make wonderful targets, because they are commercial entities that profit greatly from
      a lot of IP that they do not (as I suspect) have properly licensed for commercial
      exploitation. The interesting this is that my reading of the (German) patent law is
      that the non-profit Apache Foundation can actually use patented technology without
      being at risk, but a for-profit company cannot adopt their results without being liable
      to acquire a license. Even giving away &amp;#8220;free&amp;#8221; software in order to benefit
      from the support services &lt;b&gt;is &lt;/b&gt;commercialization&lt;b&gt;. &lt;/b&gt;So if Red Hat includes
      some Apache project&amp;#8217;s code that steps on patents, I&amp;#8217;d say they are in
      trouble.
   &lt;/p&gt;
   &lt;p&gt;
      Now, if someone were to &amp;#8220;reimplement&amp;#8221; a patented drug, the pharmaceutical
      company sitting on the patent would sue them out of existence the next second without
      even blinking. Unless I am really badly informed, the entire biotech industry is entirely
      built on IP protection. All these small biotech firms are doing research that eventually
      yields protected IP and that&amp;#8217;s what they look to turn into profit. They&amp;#8217;re
      not in the business of producing and distributing the resulting drugs on a world-wide
      scale, they look to share the wealth with the pharmaceutical giants that have the
      respective infrastructure. The software industry is a very, very tame place against
      what&amp;#8217;s going on in other industries. So will Sun, IBM, Oracle, Apple, and/or
      Microsoft eventually become more serious about drawing profit from the rights they
      hold? Right now it would be a &lt;i&gt;very, very stupid&lt;/i&gt; thing to do in terms of the
      resulting, adverse marketing effect. 
   &lt;/p&gt;
   &lt;p&gt;
      Now imagine Sun&amp;#8217;s unfortunate decline keeps going or some other technology company
      with a substantial patent portfolio (and not some weak copyright claims) falls into
      the hands of a litigious bunch of folks as in the case of SCO. &amp;nbsp;That&amp;#8217;s
      when the shit is going to hit the fan. Big time.
   &lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=c3f73593-4636-4906-bee7-a1f0e90159f7"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=c3f73593-4636-4906-bee7-a1f0e90159f7</comments>
      <category>IT Strategy</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=7ba96e03-1ec5-4a22-9042-57b96b6fa725</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=7ba96e03-1ec5-4a22-9042-57b96b6fa725</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=7ba96e03-1ec5-4a22-9042-57b96b6fa725</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=7ba96e03-1ec5-4a22-9042-57b96b6fa725</wfw:commentRss>
      <slash:comments>0</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div class="Section1">
          <p>
         Unless you enable the config setting below, WSE injects intentionally invalid “Via”
         routing information into ReplyTo and FaultTo addresses for security reasons and therefore
         you can’t just turn around and create, for instance, a <i>new SoapSender(SoapRequestContext.Address.ReplyTo)</i> at
         the receiving endpoint or set the reply envelope’s context like <i>envelope.Context.Addressing.Destination
         = SoapRequestContext.Address.ReplyTo.</i> Because “Via” trumps any other
         address in an endpoint reference for delivery, a reply to such an invalidated EPR
         will usually yield a 404. I fell into that hole for the second or third time now and
         it somehow never stuck in long-term memory, so this is the persisted “note to
         self”  ;-)
      </p>
          <p>
            <span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'">&lt;</span>
            <span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'">microsoft.web.services2</span>
            <span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'">&gt;<br /></span>
            <span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'">   <span style="COLOR: blue">&lt;</span><span style="COLOR: maroon">messaging</span><span style="COLOR: blue">&gt;<br /></span></span>
            <span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'">      <span style="COLOR: blue">&lt;</span><span style="COLOR: maroon">allowRedirectedResponses</span><span style="COLOR: fuchsia"></span><span style="COLOR: red">enabled</span><span style="COLOR: blue">="true"</span><span style="COLOR: fuchsia"></span><span style="COLOR: blue">/&gt;<br /></span></span>
            <span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'">   <span style="COLOR: blue">&lt;/</span><span style="COLOR: maroon">messaging</span><span style="COLOR: blue">&gt;<br /></span></span>
            <span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'">&lt;/</span>
            <span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'">microsoft.web.services2</span>
            <span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'">&gt;</span>
          </p>
        </div>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=7ba96e03-1ec5-4a22-9042-57b96b6fa725" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>Ah... THAT'S how to make WS-Addressing work in WSE 2.0</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=7ba96e03-1ec5-4a22-9042-57b96b6fa725</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=7ba96e03-1ec5-4a22-9042-57b96b6fa725</link>
      <pubDate>Thu, 22 Jul 2004 09:50:21 GMT</pubDate>
      <description>&lt;div class=Section1&gt;
   &lt;p&gt;
      Unless you enable the config setting below, WSE injects intentionally invalid &amp;#8220;Via&amp;#8221;
      routing information into ReplyTo and FaultTo addresses for security reasons and therefore
      you can&amp;#8217;t just turn around and create, for instance, a &lt;i&gt;new SoapSender(SoapRequestContext.Address.ReplyTo)&lt;/i&gt; at
      the receiving endpoint or set the reply envelope&amp;#8217;s context like &lt;i&gt;envelope.Context.Addressing.Destination
      = SoapRequestContext.Address.ReplyTo.&lt;/i&gt; Because &amp;#8220;Via&amp;#8221; trumps any other
      address in an endpoint reference for delivery, a reply to such an invalidated EPR
      will usually yield a 404. I fell into that hole for the second or third time now and
      it somehow never stuck in long-term memory, so this is the persisted &amp;#8220;note to
      self&amp;#8221;&amp;nbsp; ;-)
   &lt;/p&gt;
   &lt;p&gt;
      &lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'"&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'"&gt;microsoft.web.services2&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'"&gt;&amp;gt;&lt;br&gt;
      &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;messaging&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;br&gt;
      &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;allowRedirectedResponses&lt;/span&gt;&lt;span style="COLOR: fuchsia"&gt; &lt;/span&gt;&lt;span style="COLOR: red"&gt;enabled&lt;/span&gt;&lt;span style="COLOR: blue"&gt;="true"&lt;/span&gt;&lt;span style="COLOR: fuchsia"&gt; &lt;/span&gt;&lt;span style="COLOR: blue"&gt;/&amp;gt;&lt;br&gt;
      &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="COLOR: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;messaging&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;br&gt;
      &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'"&gt;microsoft.web.services2&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'"&gt;&amp;gt;&lt;/span&gt;
   &lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=7ba96e03-1ec5-4a22-9042-57b96b6fa725"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=7ba96e03-1ec5-4a22-9042-57b96b6fa725</comments>
      <category>Technology|Web Services</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=514bac78-5c4e-4c57-9c15-e7736c83aa1d</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=514bac78-5c4e-4c57-9c15-e7736c83aa1d</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=514bac78-5c4e-4c57-9c15-e7736c83aa1d</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=514bac78-5c4e-4c57-9c15-e7736c83aa1d</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I was a little off when I compared <a href="http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=1214e26d-674e-4a5c-b716-eaa07d327705">my
      problem here</a> to a tail call. <a href="http://www.eighty-twenty.net/blog/urn:www-eighty-twenty-net:1250.html">Gordon
      Weakliem</a> corrected me with the term "continuation".
   </p>
        <p>
      The fact that the post got 28 comments shows that this seems to be an interesting
      problem and, naming aside, it is indeed a tricky thing to implement in a
      framework when the programming language you use (C# in my case) doesn't support the
      construct. What's specifically tricky about the concrete case that I have
      is that I don't know where I am yielding control to at the time when I make the
      respective call. 
   </p>
        <p>
      I'll recap. Assume there is the following call
   </p>
        <p>
          <font size="4">
            <font face="Courier New">
              <font size="2">CustomerService cs = <font color="#0000ff">new</font></font>
            </font>
            <font face="Courier New" size="2"> CustomerService();<br /></font>
            <font size="2">
              <font face="Courier New">cs.FindCustomer(customerId);</font>
            </font>
          </font>
        </p>
        <p>
          <em>FindCustomer </em>is a call that will not return any result as a return value.
      Instead, the invoked service comes back into the caller's program at some
      completely different place such this:
   </p>
        <p>
          <font size="4">
            <font face="Courier New">
              <font size="2">[WebMethod]<br />
      public<font color="#000000"></font><font color="#0000ff">void</font></font>
            </font>
            <font face="Courier New">
              <font size="2">
                <font color="#000000"> FindCustomerReply(Customer[]
      result)<br /></font>{<br />
         ...<br /></font>
            </font>
            <font size="2">
              <font face="Courier New">}</font>
            </font>
          </font>
        </p>
        <p>
      So what we have here is a "duplex" conversation. The result of an operation initiated
      by an outbound message (call) is received, some time later, through an inbound
      message (call), but not on the same thread and not on the same "object". You
      could say that this is a callback, but that's not precisely what it is, because a
      "callback" usually happens while the initiating call (as above <em>FindCustomer</em>)
      has not yet returned back to its scope or at least while the initiating object (or
      an object passed by some sort of reference) is still alive. Here, instead, processing
      of the <em>FindCustomer</em> call may take a while and the initiating thread and the
      initiating object may be long gone when the answer is ready.
   </p>
        <p>
      Now, the additional issue I have is that at the time when the <em>FindCustomer</em> call
      is made, it is not known what "<em>FindCustomerReply</em>" message handler it
      going to be processing the result and it is really not know what's happening next.
      The decision about what happens next and which handler is chosen is dependent on several
      factors, including the time that it takes to receive the result. If the <em>FindCustomer</em> is
      called from a web-page and the service providing <em>FindCustomer</em> drops
      a result at the caller's doorstep within 2-3 seconds [1], the <em>FindCustomerReply</em> handler can
      go and hijack the initial call's thread (and HTTP context) and render a page
      showing the result. If the reply takes longer, the web-page (the caller) may lose
      its patience [2] and choose to continue by rendering a page that says "We are sending
      the result to your email account." and the message handler with not throw HTML into
      an HTTP response on an open socket, but rather render it to an email and send
      it via SMTP and maybe even alert the user through his/her Instant Messenger when/if
      the result arrives.
   </p>
        <p>
          <font size="4">
            <font face="Courier New">
              <font size="2">[1] HTTP Request =&gt; </font>
            </font>
            <font size="2">
              <font face="Courier New">FindCustomer()
      =?&gt; "<font color="#000000">FindCustomerReply" =&gt; yield to CustomerList.aspx
      =&gt; HTTP Response<br /><font color="#003300">[2] HTTP Request =&gt; </font><font size="2"><font face="Courier New"><font color="#003300">FindCustomer()
      =?&gt; </font><font color="#000000">Timeout!           
      =&gt; yield to YouWillGetMail.aspx =&gt; HTTP Response<br />
                                     T+n =?&gt;
      "FindCustomerReply" =&gt; SMTP Mail<br />
                                                                
      =&gt; IM Notification</font></font></font></font></font>
            </font>
          </font>
        </p>
        <p>
      So, in case [1] I need to correlate the reply with the request and continue processing
      on the original thread. In case [2], the original thread continues on a
      "default path" without an available reply and the reply is processed on (possibly
      two) independent threads and using two different notification channels.
   </p>
        <p>
      A slightly different angle. Consider a workflow application environment in a bank,
      where users are assigned tasks and simply fetch the next thing from the to-do
      list (by clicking a link in an HTML-rendered list). The reply that results from "<em>LookupAndDoNextTask</em>" is
      a message that contains the job that the user is supposed to do.  
   </p>
        <p>
          <font face="Courier New">[1] HTTP Request =&gt; LookupAndDoNextTask<font size="2">()
      =?&gt; Job: "<font color="#000000">Call Customer" =&gt; yield to CallCustomer.aspx =&gt;
      HTTP Response<br /></font></font></font>
          <font face="Courier New">[2] HTTP Request =&gt; LookupAndDoNextTask<font size="2">()
      =?&gt; Job: "<font color="#000000">Review Credit Offer" =&gt; yield to ReviewCredit.aspx =&gt;
      HTTP Response<br /><font color="#003300">[3] HTTP Request =&gt; LookupAndDoNextTask</font><font size="2"><font color="#003300">()
      =?&gt; Job: "</font><font color="#000000">Approve Mortgage" =&gt; yield to ApproveMortgage.aspx =&gt;
      HTTP Response<br /><font color="#003300">[4] HTTP Request =&gt; LookupAndDoNextTask</font><font size="2"><font color="#003300">()
      =?&gt; No Job / Timeout</font><font color="#000000"> =&gt; yield to Solitaire.aspx =&gt;
      HTTP Response</font></font></font></font></font></font></font>
        </p>
        <p>
      In all of these cases, calls to "FindCustomer()" and "LookupAndDoTask()" that are
      made from the code that deals with the incoming request will (at least in the theoretical
      model) never return to their caller and the thread will continue to execute in a different
      context that is "TBD" at the time of the call. By the time the call stack is
      unwound and the initiating call (like FindCustomer) indeed returns, the request
      is therefore fully processed and the caller may not perform any further
      actions. 
   </p>
        <p>
      So the issue at hand is to make that fact clear in the programming model. In ASP.NET,
      there is a single construct called "Server.Transfer()" for that sort of continuation,
      but it's very specific to ASP.NET and requires that the caller knows where you want
      to yield control to. In the case I have here, the caller knows that it is surrendering
      the thread to some other handler, but it doesn't know to to whom, because this is
      dynamically determined by the underlying frameworks. All that's visible and should
      be visible in the code is a "normal" method call.
   </p>
        <p>
          <font size="4">
            <font size="2">
              <font face="Courier New">cs.FindCustomer(customerId) </font>
              <font face="Verdana">might
      therefore not be a good name, because it looks "too normal". And of course I
      don't have the powers to invent a new statement for the C# language
      like </font>
              <font face="Courier New">
                <strong>continue(</strong>cs.FindCustomer(customerId)<strong>)</strong></font>
              <font face="Verdana"> that
      would result in a continuation that simply doesn't return to the call location. Since
      I can't do that, there has to be a different way to flag it. Sure, I could put an
      attribute on the method, but Intellisense wouldn't show that, would it? So it seems
      the best way is to have a convention of prefixing the method name.</font>
            </font>
          </font>
        </p>
        <p>
      There were a bunch of ideas in the comments for method-name prefixes. Here is a selection: 
   </p>
        <ul>
          <li>
            <font face="Courier New">cs.InitiateFindCustomer(customerId)</font>
          </li>
          <li>
            <font face="Courier New">cs.YieldFindCustomer(customerId)</font>
          </li>
          <li>
            <font face="Courier New">cs.YieldToFindCustomer(customerId)</font>
          </li>
          <li>
            <font face="Courier New">cs.InjectFindCustomer(customerId)</font>
          </li>
          <li>
            <font face="Courier New">cs.PlaceRequestFindCustomer(customerId)</font>
          </li>
          <li>
            <font face="Courier New">cs.PostRequestFindCustomer(customerId)</font>
          </li>
        </ul>
        <p>
      I've got most of the underlying correlation and dispatch infrastructure
      sitting here, but finding a good programming model for that sort of behavior
      is quite difficult. 
   </p>
        <p>
          <em>[Of course, this post won't make it on Microsoft Watch, eWeek or The
      Register]</em>
        </p>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=514bac78-5c4e-4c57-9c15-e7736c83aa1d" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>Naming and Continuations (continued)</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=514bac78-5c4e-4c57-9c15-e7736c83aa1d</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=514bac78-5c4e-4c57-9c15-e7736c83aa1d</link>
      <pubDate>Wed, 21 Jul 2004 08:24:16 GMT</pubDate>
      <description>&lt;p&gt;
   I&amp;nbsp;was a little off&amp;nbsp;when I&amp;nbsp;compared&amp;nbsp;&lt;a href="http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=1214e26d-674e-4a5c-b716-eaa07d327705"&gt;my
   problem here&lt;/a&gt; to a tail call. &lt;a href="http://www.eighty-twenty.net/blog/urn:www-eighty-twenty-net:1250.html"&gt;Gordon
   Weakliem&lt;/a&gt; corrected me with the term "continuation".
&lt;/p&gt;
&lt;p&gt;
   The fact that the post got 28 comments shows that this seems to be an interesting
   problem and, naming aside, it&amp;nbsp;is indeed a tricky thing to&amp;nbsp;implement in a
   framework when the programming language you use (C# in my case) doesn't support the
   construct.&amp;nbsp;What's specifically tricky about the&amp;nbsp;concrete case that I have
   is that I don't&amp;nbsp;know where I am yielding control to at the time when I make the
   respective call. 
&lt;/p&gt;
&lt;p&gt;
   I'll recap. Assume there is the following call
&lt;/p&gt;
&lt;p&gt;
   &lt;font size=4&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;CustomerService&amp;nbsp;cs = &lt;font color=#0000ff&gt;new&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt; CustomerService();&lt;br&gt;
   &lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;cs.FindCustomer(customerId);&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;FindCustomer &lt;/em&gt;is a&amp;nbsp;call that will not return any result as a return value.
   Instead,&amp;nbsp;the invoked service&amp;nbsp;comes back into the caller's program at some
   completely different place such this:
&lt;/p&gt;
&lt;p&gt;
   &lt;font size=4&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;[WebMethod]&lt;br&gt;
   public&lt;font color=#000000&gt; &lt;/font&gt;&lt;font color=#0000ff&gt;void&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;font color=#000000&gt; FindCustomerReply(Customer[]
   result)&lt;br&gt;
   &lt;/font&gt;{&lt;br&gt;
   &amp;nbsp;&amp;nbsp; ...&lt;br&gt;
   &lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   So what we have here is a "duplex" conversation. The result of an operation initiated
   by an outbound&amp;nbsp;message (call) is received, some time later,&amp;nbsp;through an inbound
   message&amp;nbsp;(call), but not on the same thread and not on the same "object".&amp;nbsp;You
   could say that this is a callback, but that's not precisely what it is, because&amp;nbsp;a
   "callback" usually happens&amp;nbsp;while the&amp;nbsp;initiating call (as above &lt;em&gt;FindCustomer&lt;/em&gt;)
   has not yet returned back to its scope or at least while the initiating object (or
   an object passed by some sort of reference) is still alive.&amp;nbsp;Here, instead,&amp;nbsp;processing
   of the &lt;em&gt;FindCustomer&lt;/em&gt; call may take a while and the initiating thread and the
   initiating object may be long gone when the answer is ready.
&lt;/p&gt;
&lt;p&gt;
   Now, the additional issue I have is that at the time when the &lt;em&gt;FindCustomer&lt;/em&gt; call
   is made, it is not&amp;nbsp;known what "&lt;em&gt;FindCustomerReply&lt;/em&gt;" message handler it
   going to be processing the result and it is really not know what's happening next.
   The decision about what happens next and which handler is chosen is dependent on several
   factors, including the time that it takes to receive the result. If the &lt;em&gt;FindCustomer&lt;/em&gt; is
   called from a web-page and the service providing &lt;em&gt;FindCustomer&lt;/em&gt;&amp;nbsp;drops
   a result at the caller's doorstep within 2-3 seconds [1], the &lt;em&gt;FindCustomerReply&lt;/em&gt; handler&amp;nbsp;can
   go and&amp;nbsp;hijack the initial call's thread (and HTTP context) and render a page
   showing the result. If the reply takes longer, the web-page (the caller) may lose
   its patience [2] and choose to continue by rendering a page that says "We are sending
   the result to your email account." and the message handler with not throw HTML into
   an&amp;nbsp;HTTP response on an open socket, but rather render it to an email and send
   it via SMTP and maybe even alert the user through his/her Instant Messenger&amp;nbsp;when/if
   the result arrives.
&lt;/p&gt;
&lt;p&gt;
   &lt;font size=4&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;[1] HTTP Request =&amp;gt; &lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;FindCustomer()
   =?&amp;gt; "&lt;font color=#000000&gt;FindCustomerReply" =&amp;gt; yield to CustomerList.aspx =&amp;gt;
   HTTP Response&lt;br&gt;
   &lt;font color=#003300&gt;[2] HTTP Request =&amp;gt; &lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;&lt;font color=#003300&gt;FindCustomer()
   =?&amp;gt; &lt;/font&gt;&lt;font color=#000000&gt;Timeout!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   =&amp;gt; yield to YouWillGetMail.aspx =&amp;gt; HTTP Response&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;T+n&amp;nbsp;=?&amp;gt;
   "FindCustomerReply" =&amp;gt; SMTP Mail&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   =&amp;gt; IM Notification&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   So, in case [1] I need to correlate the reply with the request and&amp;nbsp;continue processing
   on the original thread. In&amp;nbsp;case [2], the original thread continues&amp;nbsp;on&amp;nbsp;a
   "default path"&amp;nbsp;without an available reply and the reply is processed on (possibly
   two) independent threads and using two different notification channels.
&lt;/p&gt;
&lt;p&gt;
   A slightly different angle. Consider a workflow application environment in a bank,
   where users are assigned tasks and simply fetch the next thing&amp;nbsp;from the to-do
   list (by clicking a link in an HTML-rendered list). The reply that results from "&lt;em&gt;LookupAndDoNextTask&lt;/em&gt;"&amp;nbsp;is
   a message that contains the job that the user is supposed to do. &amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
   &lt;font face="Courier New"&gt;[1] HTTP Request =&amp;gt; LookupAndDoNextTask&lt;font size=2&gt;()
   =?&amp;gt; Job: "&lt;font color=#000000&gt;Call Customer" =&amp;gt; yield to CallCustomer.aspx&amp;nbsp;=&amp;gt;
   HTTP Response&lt;br&gt;
   &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;[2] HTTP Request =&amp;gt; LookupAndDoNextTask&lt;font size=2&gt;()
   =?&amp;gt; Job: "&lt;font color=#000000&gt;Review Credit Offer" =&amp;gt; yield to ReviewCredit.aspx&amp;nbsp;=&amp;gt;
   HTTP Response&lt;br&gt;
   &lt;font color=#003300&gt;[3] HTTP Request =&amp;gt; LookupAndDoNextTask&lt;/font&gt;&lt;font size=2&gt;&lt;font color=#003300&gt;()
   =?&amp;gt; Job: "&lt;/font&gt;&lt;font color=#000000&gt;Approve Mortgage" =&amp;gt; yield to ApproveMortgage.aspx&amp;nbsp;=&amp;gt;
   HTTP Response&lt;br&gt;
   &lt;font color=#003300&gt;[4] HTTP Request =&amp;gt; LookupAndDoNextTask&lt;/font&gt;&lt;font size=2&gt;&lt;font color=#003300&gt;()
   =?&amp;gt;&amp;nbsp;No Job / Timeout&lt;/font&gt;&lt;font color=#000000&gt;&amp;nbsp;=&amp;gt; yield to Solitaire.aspx&amp;nbsp;=&amp;gt;
   HTTP Response&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   In all of these cases, calls to "FindCustomer()" and "LookupAndDoTask()" that are
   made from the code that deals with the incoming request will (at least in the theoretical
   model) never return to their caller and the thread will continue to execute in a different
   context that is&amp;nbsp;"TBD" at the time of the call. By the time the call stack is
   unwound and the&amp;nbsp;initiating call (like FindCustomer) indeed returns, the request
   is therefore fully processed and the caller&amp;nbsp;may not&amp;nbsp;perform any further
   actions.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
   So the issue at hand is to make that fact clear in the programming model. In ASP.NET,
   there is a single construct called "Server.Transfer()" for that sort of continuation,
   but it's very specific to ASP.NET and requires that the caller knows where you want
   to yield control to.&amp;nbsp;In the case I have here, the caller knows that it is surrendering
   the thread to some other handler, but it doesn't know to to whom, because this is
   dynamically determined by the underlying frameworks. All that's visible and should
   be visible in the code is a "normal" method call.
&lt;/p&gt;
&lt;p&gt;
   &lt;font size=4&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;cs.FindCustomer(customerId)&amp;nbsp;&lt;/font&gt;&lt;font face=Verdana&gt;might
   therefore not be a good name, because&amp;nbsp;it looks "too normal". And of course I
   don't have the powers to&amp;nbsp;invent a new&amp;nbsp;statement&amp;nbsp;for the C# language
   like&amp;nbsp;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;strong&gt;continue(&lt;/strong&gt;cs.FindCustomer(customerId)&lt;strong&gt;)&lt;/strong&gt;&lt;/font&gt;&lt;font face=Verdana&gt;&amp;nbsp;that
   would result in a continuation that simply doesn't return to the call location. Since
   I can't do that, there has to be a different way to flag it. Sure, I could put an
   attribute on the method, but Intellisense wouldn't show that, would it? So it seems
   the best way is to have a convention of prefixing the method name.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   There were a bunch of ideas in the comments for method-name prefixes. Here is a selection: 
&lt;/p&gt;
&lt;ul&gt;
   &lt;li&gt;
      &lt;font face="Courier New"&gt;cs.InitiateFindCustomer(customerId)&lt;/font&gt; 
   &lt;li&gt;
      &lt;font face="Courier New"&gt;cs.YieldFindCustomer(customerId)&lt;/font&gt; 
   &lt;li&gt;
      &lt;font face="Courier New"&gt;cs.YieldToFindCustomer(customerId)&lt;/font&gt; 
   &lt;li&gt;
      &lt;font face="Courier New"&gt;cs.InjectFindCustomer(customerId)&lt;/font&gt; 
   &lt;li&gt;
      &lt;font face="Courier New"&gt;cs.PlaceRequestFindCustomer(customerId)&lt;/font&gt; 
   &lt;li&gt;
      &lt;font face="Courier New"&gt;cs.PostRequestFindCustomer(customerId)&lt;/font&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
   I've got most of the&amp;nbsp;underlying&amp;nbsp;correlation and dispatch infrastructure
   sitting here, but finding a good&amp;nbsp;programming model for that sort of behavior
   is quite difficult. 
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;[Of course, this post won't make it on Microsoft Watch,&amp;nbsp;eWeek&amp;nbsp;or The
   Register]&lt;/em&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=514bac78-5c4e-4c57-9c15-e7736c83aa1d"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=514bac78-5c4e-4c57-9c15-e7736c83aa1d</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=12693f85-3f44-48e9-8921-0d7ddaca88cf</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=12693f85-3f44-48e9-8921-0d7ddaca88cf</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=12693f85-3f44-48e9-8921-0d7ddaca88cf</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=12693f85-3f44-48e9-8921-0d7ddaca88cf</wfw:commentRss>
      <slash:comments>8</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      News is what is made news.
   </p>
        <p>
      Point in case: This <a href="http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=efeff509-deb0-4d66-b617-101430318c38">sentence
      on my blog</a> here: <em>"There's apparently a related project <span class="searchword">Boa</span> (another
      serpent name along the family line of Viper that was the original codename for MTS),
      including the business markup language BML (pronounced "Bimmel") that he's involved
      in and he talked a bit about that, but of course I'd be killed if I gave out more
      details."</em> now prompts, directly or indirectly, this here on <a href="http://www.microsoft-watch.com/article2/0,1995,1624775,00.asp">Microsoft
      Watch</a> and this on <a href="http://www.eweek.com/article2/0,1759,1624425,00.asp">eWeek</a>. 
   </p>
        <p>
      Nobody said that the project was software in product development. Nobody said it was
      about stuff that would eventually ship. Nobody really said anything that would be
      in any way relevant to technical or business decision makers today. What this
      shows is that there's a bit too much appetite for the next big thing while we're all
      still working on making the current big thing happen. Do you seriously think I am someone who'd casually leak
      Microsoft trade secrets on his blog? 
   </p>
        <p>
      And.... seriously.... go back and read the <strong>first six sentences</strong> on <a href="http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=efeff509-deb0-4d66-b617-101430318c38">that
      entry</a> with your brain switched into "active mode".
   </p>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=12693f85-3f44-48e9-8921-0d7ddaca88cf" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>Prankster. Ah. Right.</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=12693f85-3f44-48e9-8921-0d7ddaca88cf</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=12693f85-3f44-48e9-8921-0d7ddaca88cf</link>
      <pubDate>Mon, 19 Jul 2004 14:42:55 GMT</pubDate>
      <description>&lt;p&gt;
   News is what&amp;nbsp;is made news.
&lt;/p&gt;
&lt;p&gt;
   Point in case: This &lt;a href="http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=efeff509-deb0-4d66-b617-101430318c38"&gt;sentence
   on my blog&lt;/a&gt; here: &lt;em&gt;"There's apparently&amp;nbsp;a&amp;nbsp;related project &lt;span class=searchword&gt;Boa&lt;/span&gt;&amp;nbsp;(another
   serpent name along the family line of Viper that was the original codename for MTS),
   including the business markup language BML (pronounced "Bimmel")&amp;nbsp;that he's involved
   in and he talked a bit about that, but of course I'd be killed if I gave out more
   details."&lt;/em&gt;&amp;nbsp;now prompts, directly or indirectly,&amp;nbsp;this here on &lt;a href="http://www.microsoft-watch.com/article2/0,1995,1624775,00.asp"&gt;Microsoft
   Watch&lt;/a&gt; and this on &lt;a href="http://www.eweek.com/article2/0,1759,1624425,00.asp"&gt;eWeek&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
   Nobody said that the project was software in product development. Nobody said it was
   about stuff that would eventually ship. Nobody really said anything that would be
   in any way relevant to technical or business decision makers today.&amp;nbsp;What this
   shows is that there's a bit too much appetite for the next big thing while we're all
   still working on making the current big thing happen. Do you seriously think I am&amp;nbsp;someone&amp;nbsp;who'd&amp;nbsp;casually&amp;nbsp;leak
   Microsoft trade secrets on his blog? 
&lt;/p&gt;
&lt;p&gt;
   And.... seriously.... go back and read the &lt;strong&gt;first six sentences&lt;/strong&gt; on &lt;a href="http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=efeff509-deb0-4d66-b617-101430318c38"&gt;that
   entry&lt;/a&gt;&amp;nbsp;with your brain switched into&amp;nbsp;"active mode".
&lt;/p&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=12693f85-3f44-48e9-8921-0d7ddaca88cf"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=12693f85-3f44-48e9-8921-0d7ddaca88cf</comments>
      <category>Blog</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=df15d983-cb2f-412d-8efc-83f1447b0a83</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=df15d983-cb2f-412d-8efc-83f1447b0a83</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=df15d983-cb2f-412d-8efc-83f1447b0a83</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=df15d983-cb2f-412d-8efc-83f1447b0a83</wfw:commentRss>
      <slash:comments>0</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      The recording of last week's .NET Rocks show on which I explained my view on the "services
      mindset" (at 4AM in the morning) is now available for download from <a href="http://www.franklins.net/dotnetrocks/">franklins.net</a></p>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=df15d983-cb2f-412d-8efc-83f1447b0a83" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>.NET Rocks Recording posted</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=df15d983-cb2f-412d-8efc-83f1447b0a83</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=df15d983-cb2f-412d-8efc-83f1447b0a83</link>
      <pubDate>Mon, 19 Jul 2004 07:07:26 GMT</pubDate>
      <description>&lt;p&gt;
   The recording of last week's .NET Rocks show on which I explained my view on the&amp;nbsp;"services
   mindset" (at 4AM in the morning) is now available for download&amp;nbsp;from&amp;nbsp;&lt;a href="http://www.franklins.net/dotnetrocks/"&gt;franklins.net&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=df15d983-cb2f-412d-8efc-83f1447b0a83"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=df15d983-cb2f-412d-8efc-83f1447b0a83</comments>
      <category>Architecture|SOA</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=a13d9b2b-f96d-4b24-a876-e52597e4b73a</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=a13d9b2b-f96d-4b24-a876-e52597e4b73a</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=a13d9b2b-f96d-4b24-a876-e52597e4b73a</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=a13d9b2b-f96d-4b24-a876-e52597e4b73a</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      AAMOF, BOA along with BML are PBS TLA's created when we were TUI
      and MSU while having a late dinner. TMA in this industry and way too much fuzzy
      MBS. TWOP! IAR, giving out SSI under NDA would get me into VDS,
      get me?.
   </p>
        <p>
      (You can speculate all you want in the comments section). 
   </p>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=a13d9b2b-f96d-4b24-a876-e52597e4b73a" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>BOA/BML</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=a13d9b2b-f96d-4b24-a876-e52597e4b73a</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=a13d9b2b-f96d-4b24-a876-e52597e4b73a</link>
      <pubDate>Fri, 16 Jul 2004 11:49:37 GMT</pubDate>
      <description>&lt;p&gt;
   AAMOF, BOA along with BML are PBS TLA's&amp;nbsp;created when&amp;nbsp;we&amp;nbsp;were&amp;nbsp;TUI
   and MSU while&amp;nbsp;having a late dinner. TMA in this industry and way too much fuzzy
   MBS. TWOP! IAR, giving out&amp;nbsp;SSI&amp;nbsp;under NDA&amp;nbsp;would get me into&amp;nbsp;VDS,
   get me?.
&lt;/p&gt;
&lt;p&gt;
   (You can speculate all you want in the comments section). 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=a13d9b2b-f96d-4b24-a876-e52597e4b73a"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=a13d9b2b-f96d-4b24-a876-e52597e4b73a</comments>
      <category>Other Stuff</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=6215302e-b279-4e35-96ab-fc4d9bd4eedc</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=6215302e-b279-4e35-96ab-fc4d9bd4eedc</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=6215302e-b279-4e35-96ab-fc4d9bd4eedc</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=6215302e-b279-4e35-96ab-fc4d9bd4eedc</wfw:commentRss>
      <slash:comments>0</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div class="Section1">
          <p>
         newtelligence AG will be hosting an open <a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">workshop</a> on
         service-oriented development, covering principles, architecture ideas and implementation
         guidance on October 13-15 in Düsseldorf, Germany. 
      </p>
          <p>
         The workshop will be held in English, will be hosted by my partner and “Mr.
         Methodologies” Achim Oellers and myself, and is limited to just 15 (!) attendees
         to assure an interactive environment that maximizes everyone’s benefit. The
         cap on the number of attendees also allows us to adjust the content to individual
         needs to some extent. 
      </p>
          <p>
         We will cover the “services philosophy” and theoretical foundations of
         service-compatible transaction techniques, scalability and federation patterns, autonomy
         and other important aspects. And once we’ve shared our “services mind-set”,
         we will take the participants on a very intense “guided tour” through
         (a lot of) very real and production-level quality code (including the Proseware example
         application that newtelligence built for Microsoft Corporation) that turns the theory
         to practice on the Windows platform and shows that there’s no need to wait for
         some shiny future technology to come out in 2 year’s time to benefit from services
         today. 
      </p>
          <p>
         Regular pricing for the event is €2500.00 (plus applicable taxes) and includes: 
      </p>
          <ul>
            <li>
              <div style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in">3-day workshop in English from
               9:00 – 18:00 (or later depending on topic/evening) 
            </div>
            </li>
            <li>
              <div style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in">
                <span style="FONT-FAMILY: Symbol">
                  <span style="FONT: 7pt 'Times New Roman'"> </span>
                </span>2
               nights hotel stay (Oct 13<sup>th</sup> and 14<sup>th</sup>) 
            </div>
            </li>
            <li>
              <div style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in">Group dinner with the experts
               on the first night.  The 2<sup>nd</sup> night is at your disposal to enjoy Düsseldorf’s
               fabulous Altstadt at your own leisure 
            </div>
            </li>
            <li>
              <div style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in">Lunch (and snacks/drinks throughout
               the day) 
            </div>
            </li>
            <li>
              <div style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in">Printed materials (in English),
               as appropriate 
            </div>
            </li>
            <li>
              <div style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in">Post-Workshop CD containing
               all presentations and materials used/shown 
            </div>
            </li>
          </ul>
          <p>
         For registration inquiries, information about the prerequisites, as well as for group
         and early-bird discount options, please contact Mr. Fons Habes via <a href="mailto:training@newtelligence.com">training@newtelligence.com</a>.
         If the event is sold out at the time of your inquiry or if you are busy on this date,
         we will be happy to pre-register you for one of the upcoming event dates or arrange
         for an event at your site.
      </p>
        </div>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=6215302e-b279-4e35-96ab-fc4d9bd4eedc" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>A word from us, my sponsor: newtelligence SOA Workshop in Düsseldorf, October 13-15 2004</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=6215302e-b279-4e35-96ab-fc4d9bd4eedc</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=6215302e-b279-4e35-96ab-fc4d9bd4eedc</link>
      <pubDate>Fri, 16 Jul 2004 11:09:22 GMT</pubDate>
      <description>&lt;div class=Section1&gt;
   &lt;p&gt;
      newtelligence AG will be hosting an open &lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;workshop&lt;/a&gt; on
      service-oriented development, covering principles, architecture ideas and implementation
      guidance on October 13-15 in D&amp;#252;sseldorf, Germany. 
   &lt;/p&gt;
   &lt;p&gt;
      The workshop will be held in English, will be hosted by my partner and &amp;#8220;Mr.
      Methodologies&amp;#8221; Achim Oellers and myself, and is limited to just 15 (!) attendees
      to assure an interactive environment that maximizes everyone&amp;#8217;s benefit. The
      cap on the number of attendees also allows us to adjust the content to individual
      needs to some extent. 
   &lt;/p&gt;
   &lt;p&gt;
      We will cover the &amp;#8220;services philosophy&amp;#8221; and theoretical foundations of
      service-compatible transaction techniques, scalability and federation patterns, autonomy
      and other important aspects. And once we&amp;#8217;ve shared our &amp;#8220;services mind-set&amp;#8221;,
      we will take the participants on a very intense &amp;#8220;guided tour&amp;#8221; through
      (a lot of) very real and production-level quality code (including the Proseware example
      application that newtelligence built for Microsoft Corporation) that turns the theory
      to practice on the Windows platform and shows that there&amp;#8217;s no need to wait for
      some shiny future technology to come out in 2 year&amp;#8217;s time to benefit from services
      today. 
   &lt;/p&gt;
   &lt;p&gt;
      Regular pricing for the event is &amp;#8364;2500.00 (plus applicable taxes) and includes: 
   &lt;/p&gt;
   &lt;ul&gt;
      &lt;li&gt;
         &lt;div style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in"&gt;3-day workshop in English from
            9:00 &amp;#8211; 18:00 (or later depending on topic/evening)&amp;nbsp;
         &lt;/div&gt;
      &lt;/li&gt;
      &lt;li&gt;
         &lt;div style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;span style="FONT-FAMILY: Symbol"&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;2
            nights hotel stay (Oct 13&lt;sup&gt;th&lt;/sup&gt; and 14&lt;sup&gt;th&lt;/sup&gt;) 
         &lt;/div&gt;
      &lt;/li&gt;
      &lt;li&gt;
         &lt;div style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in"&gt;Group dinner with the experts
            on the first night. &amp;nbsp;The 2&lt;sup&gt;nd&lt;/sup&gt; night is at your disposal to enjoy D&amp;#252;sseldorf&amp;#8217;s
            fabulous Altstadt at your own leisure 
         &lt;/div&gt;
      &lt;/li&gt;
      &lt;li&gt;
         &lt;div style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in"&gt;Lunch (and snacks/drinks throughout
            the day) 
         &lt;/div&gt;
      &lt;/li&gt;
      &lt;li&gt;
         &lt;div style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in"&gt;Printed materials (in English),
            as appropriate 
         &lt;/div&gt;
      &lt;/li&gt;
      &lt;li&gt;
         &lt;div style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in"&gt;Post-Workshop CD containing
            all presentations and materials used/shown 
         &lt;/div&gt;
      &lt;/li&gt;
   &lt;/ul&gt;
   &lt;p&gt;
      For registration inquiries, information about the prerequisites, as well as for group
      and early-bird discount options, please contact Mr. Fons Habes via &lt;a href="mailto:training@newtelligence.com"&gt;training@newtelligence.com&lt;/a&gt;.
      If the event is sold out at the time of your inquiry or if you are busy on this date,
      we will be happy to pre-register you for one of the upcoming event dates or arrange
      for an event at your site.
   &lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=6215302e-b279-4e35-96ab-fc4d9bd4eedc"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=6215302e-b279-4e35-96ab-fc4d9bd4eedc</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=1214e26d-674e-4a5c-b716-eaa07d327705</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=1214e26d-674e-4a5c-b716-eaa07d327705</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=1214e26d-674e-4a5c-b716-eaa07d327705</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=1214e26d-674e-4a5c-b716-eaa07d327705</wfw:commentRss>
      <slash:comments>23</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      We have a bit of a wording problem. With what I am current building we have a
      bit (not precisely) a notion of "<a href="http://www.sidhe.org/~dan/blog/archives/000211.html">tail
      calls</a>". Here's an example:
   </p>
        <font color="#0000ff" size="4">
          <p>
            <font face="Courier New" size="2">public</font>
          </p>
        </font>
        <font face="Courier New">
          <font color="#000000">
          </font>
          <font color="#0000ff">void</font>
          <font color="#000000"> LookupMessage(int
   messageId)<br /></font>
        </font>
        <font face="Courier New">{<br />
      </font>
        <font face="Courier New">MessageStoreService messageStore = <font color="#0000ff">new</font></font>
        <font size="4">
          <font face="Courier New" size="2"> MessageStoreService();<br />
      </font>
          <font face="Courier New" size="2">messageStore.LookupMessage(messageId);<br /></font>
          <font face="Courier New" size="2">}</font>
        </font>
        <p>
          <font size="4">
            <font size="2">The call to LookupMessage() doesn't return anything
      as a return value or through output parameters. Instead, the resulting reply
      message surfaces moments later at a totally different place within the same application.
      At the same time, the object with the method you see here, surrenders all control
      to the (anonymous) receiver of the reply. It's a tiny bit like Server.Transfer() in
      ASP.NET.</font>
          </font>
        </p>
        <p>
          <font size="4">
            <font size="2">So the naming problem is that neither of "GetMessage()",
      "LookupMessage()", "RequestMessage()" sounds right and they all look odd if there's
      no request/response pattern. The current favorite is to prefix all such methods with
      "Yield" so that we'd have "YieldLookupMessage()". Or "LookupMessageAndYield()"? Or
      something else? </font>
          </font>
        </p>
        <p>
          <font size="4">
            <font size="2">
              <em>Update:</em> Also consider this</font>
          </font>
        </p>
        <p>
          <font size="4">
            <font face="Courier New">
              <font size="2">public<font color="#000000"></font><font color="#0000ff">void</font></font>
            </font>
            <font face="Courier New">
              <font size="2">
                <font color="#000000"> LookupCustomer(int
      customerId)<br /></font>{<br />
         CustomerService cs = <font color="#0000ff">new</font></font>
            </font>
            <font face="Courier New" size="2"> CustomerService();<br />
         </font>
            <font size="2">
              <font face="Courier New">cs.FindCustomer(customerId);<br /></font>
              <font face="Courier New">}</font>
            </font>
          </font>
        </p>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=1214e26d-674e-4a5c-b716-eaa07d327705" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>Looking for a word here ....</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=1214e26d-674e-4a5c-b716-eaa07d327705</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=1214e26d-674e-4a5c-b716-eaa07d327705</link>
      <pubDate>Thu, 15 Jul 2004 11:17:41 GMT</pubDate>
      <description>&lt;p&gt;
   We&amp;nbsp;have a bit of a wording problem. With what I am current building we have a
   bit (not precisely)&amp;nbsp;a notion of "&lt;a href="http://www.sidhe.org/~dan/blog/archives/000211.html"&gt;tail
   calls&lt;/a&gt;". Here's an example:
&lt;/p&gt;
&lt;font color=#0000ff size=4&gt; 
&lt;p&gt;
   &lt;font face="Courier New" size=2&gt;public&lt;/font&gt;
&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;font color=#0000ff&gt;void&lt;/font&gt;&lt;font color=#000000&gt; LookupMessage(int
messageId)&lt;br&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;{&lt;br&gt;
&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New"&gt;MessageStoreService messageStore = &lt;font color=#0000ff&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size=4&gt;&lt;font face="Courier New" size=2&gt; MessageStoreService();&lt;br&gt;
&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New" size=2&gt;messageStore.LookupMessage(messageId);&lt;br&gt;
&lt;/font&gt;&lt;font face="Courier New" size=2&gt;}&lt;/font&gt;&lt;/font&gt;&gt;
&lt;p&gt;
   &lt;font size=4&gt;&lt;font size=2&gt;The call to LookupMessage() doesn't return anything as a
   return value or through output parameters. Instead,&amp;nbsp;the resulting reply message
   surfaces moments later at a totally different place within the same application. At
   the same time, the object with the method you see here, surrenders all control to
   the (anonymous) receiver of the reply. It's a tiny bit like Server.Transfer() in ASP.NET.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font size=4&gt;&lt;font size=2&gt;So the naming problem is that neither of "GetMessage()",
   "LookupMessage()", "RequestMessage()" sounds right and they all look odd if there's
   no request/response pattern. The current favorite is to prefix all such methods with
   "Yield" so that we'd have "YieldLookupMessage()". Or "LookupMessageAndYield()"? Or
   something else? &lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font size=4&gt;&lt;font size=2&gt;&lt;em&gt;Update:&lt;/em&gt; Also consider this&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font size=4&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;public&lt;font color=#000000&gt; &lt;/font&gt;&lt;font color=#0000ff&gt;void&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;font color=#000000&gt; LookupCustomer(int
   customerId)&lt;br&gt;
   &lt;/font&gt;{&lt;br&gt;
   &amp;nbsp;&amp;nbsp; CustomerService&amp;nbsp;cs = &lt;font color=#0000ff&gt;new&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt; CustomerService();&lt;br&gt;
   &amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;cs.FindCustomer(customerId);&lt;br&gt;
   &lt;/font&gt;&lt;font face="Courier New"&gt;}&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&gt;&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=1214e26d-674e-4a5c-b716-eaa07d327705"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=1214e26d-674e-4a5c-b716-eaa07d327705</comments>
      <category>Architecture|SOA</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=c9e5630a-bf19-4187-b85b-cc825c6450c9</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=c9e5630a-bf19-4187-b85b-cc825c6450c9</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=c9e5630a-bf19-4187-b85b-cc825c6450c9</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=c9e5630a-bf19-4187-b85b-cc825c6450c9</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Carl invited me for <a href="http://www.franklins.net/calldotnetrocks/">.NET Rocks</a> on
      Thursday night. That is July 15th, 10 PM-Midnight Eastern Standard Time (U.S.) which
      is <strong>FOUR A.M. UNTIL SIX A.M.</strong> Central European Time (CET) on Friday
      morning. I am not sure whether my brain can properly operate at that time. The most
      fun thing would be to go out drinking Thursday night ;-)   I want to talk
      about <em>(guess what)</em> Services. Not Indigo, not WSE, not Enterprise Services,
      not SOAP, not XML. Services. Mindset first, tools later.
   </p>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=c9e5630a-bf19-4187-b85b-cc825c6450c9" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>An early, early morning for the .NET Rocks Show</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=c9e5630a-bf19-4187-b85b-cc825c6450c9</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=c9e5630a-bf19-4187-b85b-cc825c6450c9</link>
      <pubDate>Tue, 13 Jul 2004 19:53:18 GMT</pubDate>
      <description>&lt;p&gt;
   Carl invited me for &lt;a href="http://www.franklins.net/calldotnetrocks/"&gt;.NET Rocks&lt;/a&gt; on
   Thursday night. That is July 15th, 10 PM-Midnight Eastern Standard Time (U.S.) which
   is &lt;strong&gt;FOUR A.M. UNTIL SIX A.M.&lt;/strong&gt;&amp;nbsp;Central European Time (CET) on Friday
   morning. I am not sure whether my brain can properly operate at that time. The most
   fun thing would be to go out drinking Thursday night ;-)&amp;nbsp;&amp;nbsp; I want to talk
   about &lt;em&gt;(guess what)&lt;/em&gt; Services.&amp;nbsp;Not Indigo, not WSE, not Enterprise Services,
   not SOAP, not XML. Services. Mindset first, tools later.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=c9e5630a-bf19-4187-b85b-cc825c6450c9"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=c9e5630a-bf19-4187-b85b-cc825c6450c9</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=4f0b8ed6-8180-4b57-934a-91649211dbb1</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=4f0b8ed6-8180-4b57-934a-91649211dbb1</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=4f0b8ed6-8180-4b57-934a-91649211dbb1</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=4f0b8ed6-8180-4b57-934a-91649211dbb1</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Marcus Mac Innes has a <a href="http://www.styledesign.biz/weblogs/macinnesm/archive/2004/07/05/181.aspx">funny
      collage</a> of our TechEd show. I've spoken to the folks at MSDN and there's a good
      chance that the video recording will show up on <a href="http://channel9.msdn.com/">Channel9</a> soon.
   </p>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=4f0b8ed6-8180-4b57-934a-91649211dbb1" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>The Nerd, The Suit and The Fortune Teller</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=4f0b8ed6-8180-4b57-934a-91649211dbb1</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=4f0b8ed6-8180-4b57-934a-91649211dbb1</link>
      <pubDate>Tue, 13 Jul 2004 05:38:52 GMT</pubDate>
      <description>&lt;p&gt;
   Marcus Mac Innes has a &lt;a href="http://www.styledesign.biz/weblogs/macinnesm/archive/2004/07/05/181.aspx"&gt;funny
   collage&lt;/a&gt; of our TechEd show. I've spoken to the folks at MSDN and there's a good
   chance that the video recording will show up on &lt;a href="http://channel9.msdn.com/"&gt;Channel9&lt;/a&gt; soon.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=4f0b8ed6-8180-4b57-934a-91649211dbb1"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=4f0b8ed6-8180-4b57-934a-91649211dbb1</comments>
      <category>Talks|TechEd Europe</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=f24c4e77-c717-4dca-9d75-495688048ff5</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=f24c4e77-c717-4dca-9d75-495688048ff5</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=f24c4e77-c717-4dca-9d75-495688048ff5</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=f24c4e77-c717-4dca-9d75-495688048ff5</wfw:commentRss>
      <slash:comments>0</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I might be blind to not have seen that before, but this here hit me over the
      third Guinness at an Irish Pub while answering a sudden technical question from
      my buddy Bart:
   </p>
        <p>
      &lt;wsa:ReplyTo xmlns:wsa="<a href="http://schemas.xmlsoap.org/ws/2004/03/addressing">http://schemas.xmlsoap.org/ws/2004/03/addressing</a>"&gt;<br />
       &lt;wsa:Address&gt;http://server/service_second_intermediary&lt;/wsa:Address&gt;<br />
       &lt;wsa:ReferenceProperties&gt;<br />
        &lt;wsa:ReplyTo&gt;<br />
         &lt;wsa:Address&gt;http://server/service_first_intermediary&lt;/wsa:Address&gt;<br />
         &lt;wsa:ReferenceProperties&gt;<br />
          &lt;wsa:ReplyTo&gt;<br />
           &lt;wsa:Address&gt;http://server/service_outer_caller&lt;/wsa:Address&gt;<br />
          &lt;/wsa:ReplyTo&gt;<br />
         &lt;/wsa:ReferenceProperties&gt;<br />
        &lt;/wsa:ReplyTo&gt;<br />
       &lt;/wsa:ReferenceProperties&gt;<br />
      &lt;/wsa:ReplyTo&gt;
   </p>
        <p>
      Read the EPR binding rules section 2.3 in the <a href="http://msdn.microsoft.com/library/en-us/dnglobspec/html/ws-addressing.asp?frame=true">WS-Addressing</a> spec
      and you'll find out just like me how distributed "call-stacks" work with WS-Addressing,
      if your choice of communication pattern is the far more flexible <a href="http://hyperthink.net/blog/PermaLink,guid,97b52cfb-2863-4e8f-a604-706eb07d63b8.aspx">duplex</a> (or <a href="http://msdn.microsoft.com/longhorn/archive/default.aspx?pull=/library/en-us/dnlingo/html/indigolingo_03102004.asp">here</a>)
      pattern for datagram-based message conversations instead of the rather
      simplistic request/response model. Of course, any endpoint-reference can
      be stacked in the same way. I always wondered where the (deprecated) <a href="http://msdn.microsoft.com/webservices/default.aspx?pull=/library/en-us/dnglobspec/html/ws-routing.asp">WS-Routing</a> "path"
      went, which allowed specifying source routes. I think I ran into it.
   </p>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=f24c4e77-c717-4dca-9d75-495688048ff5" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>Addressing insight over beer</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=f24c4e77-c717-4dca-9d75-495688048ff5</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=f24c4e77-c717-4dca-9d75-495688048ff5</link>
      <pubDate>Mon, 12 Jul 2004 13:46:49 GMT</pubDate>
      <description>&lt;p&gt;
   I might be blind to not have seen that before, but this here hit me over&amp;nbsp;the
   third&amp;nbsp;Guinness at an Irish Pub while answering a sudden technical question from
   my buddy Bart:
&lt;/p&gt;
&lt;p&gt;
   &amp;lt;wsa:ReplyTo xmlns:wsa="&lt;a href="http://schemas.xmlsoap.org/ws/2004/03/addressing"&gt;http://schemas.xmlsoap.org/ws/2004/03/addressing&lt;/a&gt;"&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;lt;wsa:Address&amp;gt;http://server/service_second_intermediary&amp;lt;/wsa:Address&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;lt;wsa:ReferenceProperties&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;lt;wsa:ReplyTo&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;wsa:Address&amp;gt;http://server/service_first_intermediary&amp;lt;/wsa:Address&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;wsa:ReferenceProperties&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;wsa:ReplyTo&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;wsa:Address&amp;gt;http://server/service_outer_caller&amp;lt;/wsa:Address&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/wsa:ReplyTo&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/wsa:ReferenceProperties&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;lt;/wsa:ReplyTo&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;lt;/wsa:ReferenceProperties&amp;gt;&lt;br&gt;
   &amp;lt;/wsa:ReplyTo&amp;gt;
&lt;/p&gt;
&lt;p&gt;
   Read the EPR binding rules section 2.3 in the &lt;a href="http://msdn.microsoft.com/library/en-us/dnglobspec/html/ws-addressing.asp?frame=true"&gt;WS-Addressing&lt;/a&gt; spec
   and you'll find out just like me&amp;nbsp;how distributed "call-stacks" work with WS-Addressing,
   if your choice of communication pattern&amp;nbsp;is the far more flexible&amp;nbsp;&lt;a href="http://hyperthink.net/blog/PermaLink,guid,97b52cfb-2863-4e8f-a604-706eb07d63b8.aspx"&gt;duplex&lt;/a&gt; (or &lt;a href="http://msdn.microsoft.com/longhorn/archive/default.aspx?pull=/library/en-us/dnlingo/html/indigolingo_03102004.asp"&gt;here&lt;/a&gt;)
   pattern for&amp;nbsp;datagram-based&amp;nbsp;message conversations&amp;nbsp;instead of the rather
   simplistic request/response model.&amp;nbsp;Of course, any&amp;nbsp;endpoint-reference can
   be stacked in the same way. I always wondered where the (deprecated) &lt;a href="http://msdn.microsoft.com/webservices/default.aspx?pull=/library/en-us/dnglobspec/html/ws-routing.asp"&gt;WS-Routing&lt;/a&gt; "path"
   went, which allowed specifying source routes. I think I ran into it.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=f24c4e77-c717-4dca-9d75-495688048ff5"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=f24c4e77-c717-4dca-9d75-495688048ff5</comments>
      <category>Technology|Web Services</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=f3ee8c60-c912-4c6e-ae5d-7179bf4a879b</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=f3ee8c60-c912-4c6e-ae5d-7179bf4a879b</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=f3ee8c60-c912-4c6e-ae5d-7179bf4a879b</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=f3ee8c60-c912-4c6e-ae5d-7179bf4a879b</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I've had several <a href="http://dictionary.reference.com/search?q=epiphany">epiphanies</a> in
      the 12 months or so. I don't know how it is for other people, but the way my
      thinking evolves is that I've got some inexpressible "thought clouds" going around
      in my head for months that I can't really get on paper or talk about in any coherent
      way. And then, at some point, there's some catalyst and "bang", it all comes together
      and suddenly those clouds start raining ideas and my thinking very rapidly goes through
      an actual paradigm shift. 
   </p>
        <p>
      The first important epiphany occurred when <a href="http://www.thearchitectexchange.com/asehmi">Arvindra</a> gave
      me a compact explanation of his very pragmatic view on Agent Technology and Queueing
      Networks, which booted the FABRIQ effort. Once I saw what Arvindra had done in
      his previous projects and I put that together with my thinking about services,
      a lot of things clicked. The insight that formed from there was that
      RPC'ish request/response interactions are very restrictive exceptions in a much
      larger picture where one-way messages and much more complex message flow-patterns
      possibly involving an arbitrary number of parties are the norm. 
   </p>
        <p>
      The second struck me <em>while on stage</em> in Amsterdam and during the "<a href="http://www.t-kramer.de/album/teched2004/pages/06290030.htm">The
      Nerd, The Suit, and the Fortune Teller</a>" play as <a href="http://www.pathelland.com">Pat</a> and
      myself were discussing Service Oriented User Interaction. (You need to understand
      that we had very limited time for preparation and hence we had a good outline,
      but the rest of the script essentially said "go with the flow" and so most
      of it was pure improvisation theater). The insight that formed can (with all
      due respect) be shortened "the user is just another service". Not only users
      shall drive the interaction by issuing messages (commands) to a systems for which
      they expect one or more out of a set of possible replies, but there should
      also be a way how systems can be drive an interaction by issuing messages to
      users expecting one or more out of a set of possible replies. There is no good
      reason why any of these two directions of driving the interaction should receive
      preferred treatment. There is no client and there is no server. There are just roles
      in interactions. That moment, the 3-layer/3-tier model of building applications
      died a quick and painless death in my head. I think I have a new one, but
      the clouds are still raining ideas. Too early for details. Come back and
      ask in a few months.
   </p>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=f3ee8c60-c912-4c6e-ae5d-7179bf4a879b" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>Epiphanies</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=f3ee8c60-c912-4c6e-ae5d-7179bf4a879b</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=f3ee8c60-c912-4c6e-ae5d-7179bf4a879b</link>
      <pubDate>Mon, 12 Jul 2004 13:07:23 GMT</pubDate>
      <description>&lt;p&gt;
   I've had several &lt;a href="http://dictionary.reference.com/search?q=epiphany"&gt;epiphanies&lt;/a&gt; in
   the&amp;nbsp;12 months or so. I don't know how it is for other people, but the way my
   thinking evolves is that I've got some inexpressible "thought clouds" going around
   in my head for months that I can't really get on paper or talk about in any coherent
   way. And then, at some point, there's some catalyst and "bang", it all comes together
   and suddenly those clouds start raining ideas and my thinking very rapidly goes through
   an actual paradigm shift. 
&lt;/p&gt;
&lt;p&gt;
   The first&amp;nbsp;important epiphany&amp;nbsp;occurred when &lt;a href="http://www.thearchitectexchange.com/asehmi"&gt;Arvindra&lt;/a&gt;&amp;nbsp;gave
   me a compact explanation of his very pragmatic view on Agent Technology and Queueing
   Networks, which booted the FABRIQ effort. Once&amp;nbsp;I saw what Arvindra had done in
   his previous projects and I put that together with&amp;nbsp;my&amp;nbsp;thinking about services,
   a lot of things clicked.&amp;nbsp;The&amp;nbsp;insight that&amp;nbsp;formed from there was&amp;nbsp;that
   RPC'ish request/response interactions are very restrictive exceptions&amp;nbsp;in a much
   larger picture where one-way messages and much more complex message flow-patterns
   possibly involving&amp;nbsp;an arbitrary number of&amp;nbsp;parties are the norm. 
&lt;/p&gt;
&lt;p&gt;
   The second struck me&amp;nbsp;&lt;em&gt;while on stage&lt;/em&gt; in Amsterdam and during the "&lt;a href="http://www.t-kramer.de/album/teched2004/pages/06290030.htm"&gt;The
   Nerd, The Suit, and the Fortune Teller&lt;/a&gt;" play as &lt;a href="http://www.pathelland.com"&gt;Pat&lt;/a&gt; and
   myself&amp;nbsp;were discussing&amp;nbsp;Service Oriented User Interaction. (You need to understand
   that we had&amp;nbsp;very limited time for preparation and hence we had a good outline,
   but the rest of the script&amp;nbsp;essentially said&amp;nbsp;"go with the flow" and so&amp;nbsp;most
   of it was pure improvisation theater). The insight that formed&amp;nbsp;can (with all
   due respect) be shortened&amp;nbsp;"the user is just another service". Not only users
   shall drive the interaction by issuing messages (commands) to a systems for which
   they expect&amp;nbsp;one or more out of a set of&amp;nbsp;possible replies, but there should
   also be a way how systems can be drive an interaction&amp;nbsp;by issuing messages to
   users expecting&amp;nbsp;one or more out of a set of possible replies. There is no good
   reason why any of these two directions of driving&amp;nbsp;the interaction should receive
   preferred treatment. There is no client and there is no server. There are just roles
   in interactions.&amp;nbsp;That moment, the 3-layer/3-tier model of building applications
   died a&amp;nbsp;quick and painless&amp;nbsp;death in my head. I think I have a new one, but
   the clouds are still raining ideas. Too early&amp;nbsp;for details.&amp;nbsp;Come back and
   ask in a few months.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=f3ee8c60-c912-4c6e-ae5d-7179bf4a879b"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=f3ee8c60-c912-4c6e-ae5d-7179bf4a879b</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=f6a0ff09-2c85-4bc7-b278-659d96f78eee</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=f6a0ff09-2c85-4bc7-b278-659d96f78eee</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=f6a0ff09-2c85-4bc7-b278-659d96f78eee</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=f6a0ff09-2c85-4bc7-b278-659d96f78eee</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Jimmy Nilsson is really good at <a href="http://www.jnsk.se/weblog/posts/toclemens.htm">spotting</a> flamebait.
   </p>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=f6a0ff09-2c85-4bc7-b278-659d96f78eee" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>Got caught</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=f6a0ff09-2c85-4bc7-b278-659d96f78eee</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=f6a0ff09-2c85-4bc7-b278-659d96f78eee</link>
      <pubDate>Fri, 09 Jul 2004 09:10:16 GMT</pubDate>
      <description>&lt;p&gt;
   Jimmy Nilsson is really good at &lt;a href="http://www.jnsk.se/weblog/posts/toclemens.htm"&gt;spotting&lt;/a&gt; flamebait.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=f6a0ff09-2c85-4bc7-b278-659d96f78eee"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=f6a0ff09-2c85-4bc7-b278-659d96f78eee</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=cf1bc0c7-05e4-4aec-a47a-7127ac849bf9</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=cf1bc0c7-05e4-4aec-a47a-7127ac849bf9</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=cf1bc0c7-05e4-4aec-a47a-7127ac849bf9</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=cf1bc0c7-05e4-4aec-a47a-7127ac849bf9</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div class="Section1">
          <p>
         Adieu, Userland. 
      </p>
          <p>
         Ladies, if you haven’t switched your feeds to this address yet (it’s a
         year now), now’s the time.
      </p>
          <p>
            <em>
              <strong>UPDATE: </strong>I've </em>
            <a href="http://staff.newtelligence.net/clemensv/radio/stories/index.html">
              <em>mirrored
         a few old stories</em>
            </a>
            <em> from over there. The rest of the content is here anyways.</em>
          </p>
          <p>
         -----Original Message-----<br />
         From: customerservice@userland.com [mailto:customerservice@userland.com] 
         <br />
         Sent: Friday, July 09, 2004 12:10 AM<br />
         To: Clemens F. Vasters<br />
         Subject: Radio UserLand Renewal Reminder
      </p>
          <p>
         Greetings from the community server for Radio UserLand 8. This is a reminder that
         your Radio UserLand serial number will expire soon.
      </p>
          <p>
         This is the third renewal-reminder email. You will receive two subsequent reminders,
         one the day before your serial number expires, and one when your serial number has
         actually expired.
      </p>
          <p>
         At any time you can visit the UserLand store [1] to renew your license for $39.95,
         so that you can continue to receive software updates and store content on UserLand's
         community server.
      </p>
          <p>
         You have 2 days remaining in your Radio UserLand license for the XXXX-XXXX-XXXX serial
         number.
      </p>
          <p>
         If you have any questions or concerns, please review the Radio UserLand website [2],
         or post questions on the mail list [3], or discussion group [4]; or simply respond
         to this email.
      </p>
          <p>
         And thanks from all of us at UserLand for using Radio UserLand. We sincerely hope
         you like it and use it well.
      </p>
          <p>
         [1] http://radio.userland.com/howToRenew<br />
         [2] http://radio.userland.com/<br />
         [3] http://groups.yahoo.com/group/radio-userland/<br />
         [4] http://radio.userland.com/discuss/
      </p>
        </div>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=cf1bc0c7-05e4-4aec-a47a-7127ac849bf9" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>http://radio.weblogs.com/0108971 soon out of business</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=cf1bc0c7-05e4-4aec-a47a-7127ac849bf9</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=cf1bc0c7-05e4-4aec-a47a-7127ac849bf9</link>
      <pubDate>Thu, 08 Jul 2004 22:16:34 GMT</pubDate>
      <description>&lt;div class=Section1&gt;
   &lt;p&gt;
      Adieu, Userland. 
   &lt;/p&gt;
   &lt;p&gt;
      Ladies, if you haven&amp;#8217;t switched your feeds to this address yet (it&amp;#8217;s a
      year now), now&amp;#8217;s the time.
   &lt;/p&gt;
   &lt;p&gt;
      &lt;em&gt;&lt;strong&gt;UPDATE: &lt;/strong&gt;I've &lt;/em&gt;&lt;a href="http://staff.newtelligence.net/clemensv/radio/stories/index.html"&gt;&lt;em&gt;mirrored
      a few old stories&lt;/em&gt;&lt;/a&gt;&lt;em&gt; from over there. The rest of the content is here anyways.&lt;/em&gt;
   &lt;/p&gt;
   &lt;p&gt;
      -----Original Message-----&lt;br&gt;
      From: customerservice@userland.com [mailto:customerservice@userland.com] 
      &lt;br&gt;
      Sent: Friday, July 09, 2004 12:10 AM&lt;br&gt;
      To: Clemens F. Vasters&lt;br&gt;
      Subject: Radio UserLand Renewal Reminder
   &lt;/p&gt;
   &lt;p&gt;
      Greetings from the community server for Radio UserLand 8. This is a reminder that
      your Radio UserLand serial number will expire soon.
   &lt;/p&gt;
   &lt;p&gt;
      This is the third renewal-reminder email. You will receive two subsequent reminders,
      one the day before your serial number expires, and one when your serial number has
      actually expired.
   &lt;/p&gt;
   &lt;p&gt;
      At any time you can visit the UserLand store [1] to renew your license for $39.95,
      so that you can continue to receive software updates and store content on UserLand's
      community server.
   &lt;/p&gt;
   &lt;p&gt;
      You have 2 days remaining in your Radio UserLand license for the XXXX-XXXX-XXXX serial
      number.
   &lt;/p&gt;
   &lt;p&gt;
      If you have any questions or concerns, please review the Radio UserLand website [2],
      or post questions on the mail list [3], or discussion group [4]; or simply respond
      to this email.
   &lt;/p&gt;
   &lt;p&gt;
      And thanks from all of us at UserLand for using Radio UserLand. We sincerely hope
      you like it and use it well.
   &lt;/p&gt;
   &lt;p&gt;
      [1] http://radio.userland.com/howToRenew&lt;br&gt;
      [2] http://radio.userland.com/&lt;br&gt;
      [3] http://groups.yahoo.com/group/radio-userland/&lt;br&gt;
      [4] http://radio.userland.com/discuss/
   &lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=cf1bc0c7-05e4-4aec-a47a-7127ac849bf9"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=cf1bc0c7-05e4-4aec-a47a-7127ac849bf9</comments>
      <category>Blog</category>
    </item>
    <item>
      <trackback:ping>http://staff.newtelligence.net/clemensv/Trackback.aspx?guid=e37002f1-7d22-4270-aa9f-487417237b66</trackback:ping>
      <pingback:server>http://staff.newtelligence.net/clemensv/pingback.aspx</pingback:server>
      <pingback:target>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=e37002f1-7d22-4270-aa9f-487417237b66</pingback:target>
      <wfw:comment>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=e37002f1-7d22-4270-aa9f-487417237b66</wfw:comment>
      <wfw:commentRss>http://staff.newtelligence.net/clemensv/SyndicationService.asmx/GetEntryCommentsRss?guid=e37002f1-7d22-4270-aa9f-487417237b66</wfw:commentRss>
      <slash:comments>5</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Do I do this because I want to or do I do this because I need to?
   </p>
        <img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=e37002f1-7d22-4270-aa9f-487417237b66" />
        <br />
        <hr />
   (c)2002-2004 Clemens Vasters.<hr /><b>You want to build service oriented applications on the Microsoft .NET Framework
   and are not quite sure how?</b><br /><a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4">newtelligence
   Workshops</a> get you going with concrete, pragmatic guidance on today's shipping
   technology stack, keeping tomorrow in perspective. Available on-site, world-wide. <a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!">Tell
   me more!</a></body>
      <title>Architect's Introspection</title>
      <guid>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=e37002f1-7d22-4270-aa9f-487417237b66</guid>
      <link>http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=e37002f1-7d22-4270-aa9f-487417237b66</link>
      <pubDate>Thu, 08 Jul 2004 12:48:11 GMT</pubDate>
      <description>&lt;p&gt;
   Do I do this because I want to or do I do this because I need to?
&lt;/p&gt;
&lt;img width="0" height="0" src="http://staff.newtelligence.net/clemensv/aggbug.ashx?id=e37002f1-7d22-4270-aa9f-487417237b66"&gt;
&lt;br&gt;
&lt;hr&gt;
(c)2002-2004 Clemens Vasters.&lt;hr /&gt;
&lt;b&gt;You want to build service oriented applications on the Microsoft .NET Framework
and are not quite sure how?&lt;/b&gt;
&lt;br /&gt;
&lt;a href="http://www.newtelligence.net/PermaLink.aspx?guid=c9fd0897-8702-4e1b-8aa9-2dbcf66051b4"&gt;newtelligence
Workshops&lt;/a&gt; get you going with concrete, pragmatic guidance on today's shipping
technology stack, keeping tomorrow in perspective. Available on-site, world-wide. &lt;a href="mailto:training@newtelligence.com?subject=Tell%20me%20more!"&gt;Tell
me more!&lt;/a&gt;</description>
      <comments>http://staff.newtelligence.net/clemensv/CommentView.aspx?guid=e37002f1-7d22-4270-aa9f-487417237b66</comments>
      <category>Architecture</category>
    </item>
  </channel>
</rss>