<?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:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Softwaremaker - Service-Orientation</title>
    <link>http://www.softwaremaker.net/blog/</link>
    <description>&lt;Challenging Conventions /&gt;</description>
    <language>en-us</language>
    <copyright>William T</copyright>
    <lastBuildDate>Tue, 02 Oct 2007 08:13:20 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>itnews@softwaremaker.net</managingEditor>
    <webMaster>itnews@softwaremaker.net</webMaster>
    <item>
      <trackback:ping>http://www.softwaremaker.net/blog/Trackback.aspx?guid=3011e0c2-f61d-4f71-99a6-d73b1de1c304</trackback:ping>
      <pingback:server>http://www.softwaremaker.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.softwaremaker.net/blog/PermaLink,guid,3011e0c2-f61d-4f71-99a6-d73b1de1c304.aspx</pingback:target>
      <dc:creator>William Tay</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This is targetted at our Singapore Government Public Sector customers and obviously
this blog post is targetted at those customers who are reading this post. <img src="http://www.softwaremaker.net/pictures/swmemoticons/smile.gif" />.
</p>
        <p>
I will be speaking at the above event, which will be held at our office premises.
As to the topic I am speaking about, this area is something which I have been focusing
of late and it really is all about architecture and the alignment of it through businesss
and information technology.
</p>
        <p>
          <strong>
            <u>Aligning Business and IT for Greater Corporate Agility</u>
          </strong>
          <br />
For long, IT and Business has communicated. While they may be speaking in the same
language but are they speaking in the same "dialect”?  In this session, William
Tay will share his field experience as well as explore Microsoft's vision for service-oriented
architecture:
</p>
        <ul>
          <li>
What are the best implementation approaches so that instead of being led by the business,
IT strategies are driven by business needs 
</li>
          <li>
How Microsoft supports this vision by way of an integrated platform, etc.</li>
        </ul>
        <p>
If you are coming for <a href="http://www.softwaremaker.net/blog/SpeakingInTheEnterpriseArchitectureConference2007InSingapore.aspx" target="_blank">my
session at the Enterprise Architecture Summit 2007 (18th Oct 2007)</a>, which coincidentally,
is also targetted at the Public Sector customers (regionally, of course), the above
event on the 22nd Oct 2007 will be a good sequel to my Enterprise Architecture
Summit pitch where I will be discussing in greater details on the value of the Microsoft
platform to implement those business capabilities.
</p>
        <img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=3011e0c2-f61d-4f71-99a6-d73b1de1c304" />
        <br />
        <hr />
© William Tay 2012 | Swinging Technologist 
<br /><a href="http://www.softwaremaker.net/blog">http://www.softwaremaker.net/blog</a></body>
      <title>Speaking in our Singapore Government Public Sector Day - 22nd Oct 2007</title>
      <guid isPermaLink="false">http://www.softwaremaker.net/blog/PermaLink,guid,3011e0c2-f61d-4f71-99a6-d73b1de1c304.aspx</guid>
      <link>http://www.softwaremaker.net/blog/SpeakingInOurSingaporeGovernmentPublicSectorDay22ndOct2007.aspx</link>
      <pubDate>Tue, 02 Oct 2007 08:13:20 GMT</pubDate>
      <description>&lt;p&gt;
This is targetted at our Singapore Government Public Sector customers and obviously
this blog post is targetted at those customers who are reading this post. &lt;img src="http://www.softwaremaker.net/pictures/swmemoticons/smile.gif"&gt;.
&lt;/p&gt;
&lt;p&gt;
I will be speaking at the above event, which will be held at our office premises.
As to the topic I am speaking about, this area is something which I have been focusing
of late and it really is all about architecture and the alignment of it through businesss
and information technology.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;u&gt;Aligning Business and IT for Greater Corporate Agility&lt;/u&gt;&lt;/strong&gt;
&lt;br&gt;
For long, IT and Business has communicated. While they may be speaking in the same
language but are they speaking in the same "dialect”?&amp;nbsp; In this session, William
Tay will share his field experience as well as explore Microsoft's vision for service-oriented
architecture:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
What are the best implementation approaches so that instead of being led by the business,
IT strategies are driven by business needs 
&lt;li&gt;
How Microsoft supports this vision by way of an integrated platform, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
If you are coming for &lt;a href="http://www.softwaremaker.net/blog/SpeakingInTheEnterpriseArchitectureConference2007InSingapore.aspx" target=_blank&gt;my
session at the Enterprise Architecture Summit 2007 (18th Oct 2007)&lt;/a&gt;, which coincidentally,
is also targetted at the Public Sector customers (regionally, of course), the above
event on the 22nd Oct 2007&amp;nbsp;will be a good sequel to my Enterprise Architecture
Summit pitch where I will be discussing in greater details on the value of the Microsoft
platform to implement those business capabilities.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=3011e0c2-f61d-4f71-99a6-d73b1de1c304" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
© William Tay 2012 | Swinging Technologist 
&lt;br /&gt;
&lt;a href="http://www.softwaremaker.net/blog"&gt;http://www.softwaremaker.net/blog&lt;/a&gt;</description>
      <category>Presentations;Service-Orientation</category>
    </item>
    <item>
      <trackback:ping>http://www.softwaremaker.net/blog/Trackback.aspx?guid=142f6508-357f-483c-bd3c-be004ad9791d</trackback:ping>
      <pingback:server>http://www.softwaremaker.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.softwaremaker.net/blog/PermaLink,guid,142f6508-357f-483c-bd3c-be004ad9791d.aspx</pingback:target>
      <dc:creator>William Tay</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I have been involved in a couple of pretty good competitive bids in some public
tenders recently and am thoroughly enjoying it. I have come head-to-head with the
usual suspects of heavy hitters in the areas of collaboration, SOA / ESB and portal
plays such as IBM, Oracle and the likes.
</p>
        <p>
On another related note: Since I am in the compete space recently, I have been
keeping watch on what is coming out of the <a href="http://www.oasis-open.org/committees/wsbpel" target="_blank">standards
body</a> and I think that <a href="http://www.oasis-open.org/committees/download.php/22036/wsbpel-specification-draft%20candidate%20CD%20Jan%2025%2007.pdf" target="_blank">WS-BPEL</a> (which
was <a href="http://msdn2.microsoft.com/en-us/library/aa479359.aspx" target="_blank">BPEL4WS</a> ...)
should have their specifications ready by next month (March 2007). Having said that,
one of the points that will make Microsoft a even stronger challenger in the enterprise
space is what I believe will come out of the pipelines next month is that the next
version of <a href="http://msdn2.microsoft.com/en-us/netframework/aa663328.aspx" target="_blank">Windows
Workflow Foundation (WF)</a> (CTP) will support <a href="http://en.wikipedia.org/wiki/BPEL" target="_blank">BPEL</a> 1.1.
</p>
        <p>
Moving forward, I believe that the v.Next of <a href="http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx" target="_blank">Orcas</a> will
support BPEL 2.0 as well as BPEL 1.1 and that will be very important in the BizTalk
roadmap as well.
</p>
        <img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=142f6508-357f-483c-bd3c-be004ad9791d" />
        <br />
        <hr />
© William Tay 2012 | Swinging Technologist 
<br /><a href="http://www.softwaremaker.net/blog">http://www.softwaremaker.net/blog</a></body>
      <title>[Stay Tuned]: BPEL, Windows Worflow Foundation and BizTalk</title>
      <guid isPermaLink="false">http://www.softwaremaker.net/blog/PermaLink,guid,142f6508-357f-483c-bd3c-be004ad9791d.aspx</guid>
      <link>http://www.softwaremaker.net/blog/StayTunedBPELWindowsWorflowFoundationAndBizTalk.aspx</link>
      <pubDate>Fri, 09 Feb 2007 02:47:07 GMT</pubDate>
      <description>&lt;p&gt;
I have been involved&amp;nbsp;in a couple of pretty good competitive bids in some public
tenders recently and am thoroughly enjoying it. I have come head-to-head with the
usual suspects of heavy hitters in the areas of collaboration, SOA / ESB and portal
plays such as IBM, Oracle and the likes.
&lt;/p&gt;
&lt;p&gt;
On another related note: Since I&amp;nbsp;am in the compete space recently, I have been
keeping watch on what is coming out of the &lt;a href="http://www.oasis-open.org/committees/wsbpel" target=_blank&gt;standards
body&lt;/a&gt; and I think that &lt;a href="http://www.oasis-open.org/committees/download.php/22036/wsbpel-specification-draft%20candidate%20CD%20Jan%2025%2007.pdf" target=_blank&gt;WS-BPEL&lt;/a&gt; (which
was &lt;a href="http://msdn2.microsoft.com/en-us/library/aa479359.aspx" target=_blank&gt;BPEL4WS&lt;/a&gt;&amp;nbsp;...)
should have their specifications ready by next month (March 2007). Having said that,
one of the points that will make Microsoft a even stronger challenger in the enterprise
space is what I believe will come out of the pipelines next month is that the next
version of&amp;nbsp;&lt;a href=http://msdn2.microsoft.com/en-us/netframework/aa663328.aspx target=_blank&gt;Windows
Workflow Foundation (WF)&lt;/a&gt; (CTP) will support &lt;a href="http://en.wikipedia.org/wiki/BPEL" target=_blank&gt;BPEL&lt;/a&gt; 1.1.
&lt;/p&gt;
&lt;p&gt;
Moving forward, I believe that the v.Next of &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx" target=_blank&gt;Orcas&lt;/a&gt; will
support BPEL 2.0 as well as BPEL 1.1 and that will be very important in the BizTalk
roadmap as well.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=142f6508-357f-483c-bd3c-be004ad9791d" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
© William Tay 2012 | Swinging Technologist 
&lt;br /&gt;
&lt;a href="http://www.softwaremaker.net/blog"&gt;http://www.softwaremaker.net/blog&lt;/a&gt;</description>
      <category>Service-Orientation;Windows Workflow Foundation (WF)</category>
    </item>
    <item>
      <trackback:ping>http://www.softwaremaker.net/blog/Trackback.aspx?guid=6f31f2b0-8455-499f-a596-66c8b275cfca</trackback:ping>
      <pingback:server>http://www.softwaremaker.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.softwaremaker.net/blog/PermaLink,guid,6f31f2b0-8455-499f-a596-66c8b275cfca.aspx</pingback:target>
      <dc:creator>William Tay</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I recently had a chance to sit down with a client to discuss about software systems
as well as to find out what we can do for them in their new system proposal.
</p>
        <p>
I mentioned the <a href="http://www.captureplanning.com/articles/12908.cfm" target="_blank">80/20
rule</a> and explained to him what is was.
</p>
        <p>
Then, we talked about (Web) Services and he was aghast that we could still be using
(Web) Services even within his own LAN - and not connected to the WWW.
</p>
        <p>
"...but I thought you need to be using a browser and connected to the internet to
be using (Web) Services ? ..."
</p>
        <p>
Sigh. I have heard that one too many times. One of the recent <a href="http://www.google.com.sg/search?hl=en&amp;q=define%3A+misnomer&amp;meta=" target="_blank">misnomers</a>,
no doubt.
</p>
        <p>
Services, Services, Services. Code and Location is irrelevant. I had posted something
like <a href="http://www.dotnetjunkies.com/WebLog/softwaremaker/archive/2004/07/25/20245.aspx" target="_blank">this</a> a
while back. It is good that the industry is taking some steps to correct this. See
Point [1] of this <a href="http://www.softwaremaker.net/blog/SomethingSimpleCanGoAVeryLongWay.aspx" target="_blank">referenced
post</a>.
</p>
        <img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=6f31f2b0-8455-499f-a596-66c8b275cfca" />
        <br />
        <hr />
© William Tay 2012 | Swinging Technologist 
<br /><a href="http://www.softwaremaker.net/blog">http://www.softwaremaker.net/blog</a></body>
      <title>Proposing Software Systems and (Web) Services</title>
      <guid isPermaLink="false">http://www.softwaremaker.net/blog/PermaLink,guid,6f31f2b0-8455-499f-a596-66c8b275cfca.aspx</guid>
      <link>http://www.softwaremaker.net/blog/ProposingSoftwareSystemsAndWebServices.aspx</link>
      <pubDate>Fri, 20 Jan 2006 22:29:37 GMT</pubDate>
      <description>&lt;p&gt;
I recently had a chance to sit down with a client to discuss about software systems
as well as to find out what we can do for them in their new system proposal.
&lt;/p&gt;
&lt;p&gt;
I mentioned the &lt;a href="http://www.captureplanning.com/articles/12908.cfm" target=_blank&gt;80/20
rule&lt;/a&gt; and explained to him what is was.
&lt;/p&gt;
&lt;p&gt;
Then, we talked about (Web) Services and he was aghast that we could still be using
(Web) Services even within his own LAN - and not connected to the WWW.
&lt;/p&gt;
&lt;p&gt;
"...but I thought you need to be using a browser and connected to the internet to
be using (Web) Services ? ..."
&lt;/p&gt;
&lt;p&gt;
Sigh. I have heard that one too many times. One of the recent &lt;a href="http://www.google.com.sg/search?hl=en&amp;amp;q=define%3A+misnomer&amp;amp;meta=" target=_blank&gt;misnomers&lt;/a&gt;,
no doubt.
&lt;/p&gt;
&lt;p&gt;
Services, Services, Services. Code and Location is irrelevant. I had posted something
like &lt;a href="http://www.dotnetjunkies.com/WebLog/softwaremaker/archive/2004/07/25/20245.aspx" target=_blank&gt;this&lt;/a&gt; a
while back. It is good that the industry is taking some steps to correct this. See
Point [1] of this &lt;a href="http://www.softwaremaker.net/blog/SomethingSimpleCanGoAVeryLongWay.aspx" target=_blank&gt;referenced
post&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=6f31f2b0-8455-499f-a596-66c8b275cfca" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
© William Tay 2012 | Swinging Technologist 
&lt;br /&gt;
&lt;a href="http://www.softwaremaker.net/blog"&gt;http://www.softwaremaker.net/blog&lt;/a&gt;</description>
      <category>Service-Orientation;Technology;XML Services</category>
    </item>
    <item>
      <trackback:ping>http://www.softwaremaker.net/blog/Trackback.aspx?guid=5e03bc6a-e30b-435c-8146-5dda0ce4b170</trackback:ping>
      <pingback:server>http://www.softwaremaker.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.softwaremaker.net/blog/PermaLink,guid,5e03bc6a-e30b-435c-8146-5dda0ce4b170.aspx</pingback:target>
      <dc:creator>William Tay</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
On the back of <a href="http://www.softwaremaker.net/blog/PDC2005MyTopicIsSelectedForBOF.aspx">this</a>,
from <a href="http://paulfallon.com/" target="_blank">Paul Fallon's space</a><a href="http://paulfallon.com/2005/08/30/So+Whats+New+In+WSAtomicTransaction+WSBusinessActivity+And+WSCoordination.aspx" target="_blank">here</a>, <a href="http://blogs.msdn.com/esperpento" target="_blank">Max
Feingold</a> has a real good summary on <a href="http://blogs.msdn.com/esperpento/archive/2005/08/27/457252.aspx" target="_blank">Whats
New with WS-AT, WS-BA and WS-C</a>.
</p>
        <p>
Should make for some good reading on my l<em>ooooooooo</em>ng flight to LAX via the
Pacific Route.
</p>
        <img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=5e03bc6a-e30b-435c-8146-5dda0ce4b170" />
        <br />
        <hr />
© William Tay 2012 | Swinging Technologist 
<br /><a href="http://www.softwaremaker.net/blog">http://www.softwaremaker.net/blog</a></body>
      <title>More on WS Transaction Framework</title>
      <guid isPermaLink="false">http://www.softwaremaker.net/blog/PermaLink,guid,5e03bc6a-e30b-435c-8146-5dda0ce4b170.aspx</guid>
      <link>http://www.softwaremaker.net/blog/MoreOnWSTransactionFramework.aspx</link>
      <pubDate>Wed, 31 Aug 2005 01:56:50 GMT</pubDate>
      <description>&lt;p&gt;
On the back of &lt;a href="http://www.softwaremaker.net/blog/PDC2005MyTopicIsSelectedForBOF.aspx"&gt;this&lt;/a&gt;,
from &lt;a href="http://paulfallon.com/" target=_blank&gt;Paul Fallon's space&lt;/a&gt; &lt;a href="http://paulfallon.com/2005/08/30/So+Whats+New+In+WSAtomicTransaction+WSBusinessActivity+And+WSCoordination.aspx" target=_blank&gt;here&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/esperpento" target=_blank&gt;Max
Feingold&lt;/a&gt;&amp;nbsp;has a real good summary on &lt;a href="http://blogs.msdn.com/esperpento/archive/2005/08/27/457252.aspx" target=_blank&gt;Whats
New with WS-AT, WS-BA and WS-C&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Should make for some good reading on my l&lt;em&gt;ooooooooo&lt;/em&gt;ng flight to LAX via the
Pacific Route.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=5e03bc6a-e30b-435c-8146-5dda0ce4b170" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
© William Tay 2012 | Swinging Technologist 
&lt;br /&gt;
&lt;a href="http://www.softwaremaker.net/blog"&gt;http://www.softwaremaker.net/blog&lt;/a&gt;</description>
      <category>PDC2005_LA;Service-Orientation;Software Architectures</category>
    </item>
    <item>
      <trackback:ping>http://www.softwaremaker.net/blog/Trackback.aspx?guid=957bb9e7-f9bc-4f9d-bed0-fb8bdd06d191</trackback:ping>
      <pingback:server>http://www.softwaremaker.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.softwaremaker.net/blog/PermaLink,guid,957bb9e7-f9bc-4f9d-bed0-fb8bdd06d191.aspx</pingback:target>
      <dc:creator>William Tay</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
According to <a href="http://pluralsight.com/blogs/dbox" target="_blank">Don</a>'s
blog <a href="http://pluralsight.com/blogs/dbox/archive/2005/07/14/13352.aspx" target="_blank">here</a>: <a href="http://msdn.microsoft.com/Longhorn/understanding/pillars/Indigo/default.aspx" target="_blank">Indigo</a> has <a href="http://blogs.msdn.com/xmlteam/archive/2005/02/15/372982.aspx">support</a> for <a href="http://www.xfront.com/REST-Web-Services.html" target="_blank">REST</a> since
Day 1. In the same breadth, he disclosed that it will explicitly support HTTP PUT/POST/DELETE/GET
to please the REST purists out <a href="http://www.prescod.net/rest/rest_vs_soap_overview/" target="_blank">there</a>.
</p>
        <p>
Like <a href="http://www.hyperthink.net/blog" target="_blank">Steve</a> mentioned <a href="http://hyperthink.net/blog/PermaLink,guid,e5cbc9c2-6f8b-49f7-aa18-241588fb6b72.aspx" target="_blank">here</a>,
I, too, am not a fan of technology stacks that complete with their own ideologies.
To me, technology is there just to get a job done efficiently and effectively.
My post <a href="http://www.softwaremaker.net/blog/PermaLink,guid,3de723b2-8e23-4fa3-8e2f-359c0a6c9b44.aspx" target="_blank">here</a> attracted
quite a fair bit of hits and same-echo-sentiment emails. It even made to ZiffDavis
blog list <a href="http://blog.ziffdavis.com/devlife/archive/2005/07/08/15522.aspx" target="_blank">here</a>.
</p>
        <p>
As Steve has echoed as well, I am also even more convinced now that Indigo is going
to be the platform to beat when it comes to distributed communications. No doubt about
it.
</p>
        <p>
I am really glad that the Indigo team, whom I think comprises some of the brightest
minds in the software field, is all united to work towards a common goal of creating
a religion and ideology-agnostic product. If this is not innovation, I dont know what
is.
</p>
        <p>
Show me the money, Beta1
</p>
        <img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=957bb9e7-f9bc-4f9d-bed0-fb8bdd06d191" />
        <br />
        <hr />
© William Tay 2012 | Swinging Technologist 
<br /><a href="http://www.softwaremaker.net/blog">http://www.softwaremaker.net/blog</a></body>
      <title>Indigo will support REST EXPLICITLY in Beta1</title>
      <guid isPermaLink="false">http://www.softwaremaker.net/blog/PermaLink,guid,957bb9e7-f9bc-4f9d-bed0-fb8bdd06d191.aspx</guid>
      <link>http://www.softwaremaker.net/blog/IndigoWillSupportRESTEXPLICITLYInBeta1.aspx</link>
      <pubDate>Fri, 15 Jul 2005 04:40:50 GMT</pubDate>
      <description>&lt;p&gt;
According to&amp;nbsp;&lt;a href="http://pluralsight.com/blogs/dbox" target=_blank&gt;Don&lt;/a&gt;'s
blog&amp;nbsp;&lt;a href="http://pluralsight.com/blogs/dbox/archive/2005/07/14/13352.aspx" target=_blank&gt;here&lt;/a&gt;: &lt;a href="http://msdn.microsoft.com/Longhorn/understanding/pillars/Indigo/default.aspx" target="_blank"&gt;Indigo&lt;/a&gt; has &lt;a href="http://blogs.msdn.com/xmlteam/archive/2005/02/15/372982.aspx"&gt;support&lt;/a&gt; for &lt;a href="http://www.xfront.com/REST-Web-Services.html" target=_blank&gt;REST&lt;/a&gt; since
Day 1. In the same breadth, he disclosed that it will explicitly support HTTP PUT/POST/DELETE/GET
to please the REST purists out &lt;a href="http://www.prescod.net/rest/rest_vs_soap_overview/" target=_blank&gt;there&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Like &lt;a href="http://www.hyperthink.net/blog" target=_blank&gt;Steve&lt;/a&gt; mentioned &lt;a href="http://hyperthink.net/blog/PermaLink,guid,e5cbc9c2-6f8b-49f7-aa18-241588fb6b72.aspx" target=_blank&gt;here&lt;/a&gt;,
I, too, am not a fan of technology stacks that complete with their own ideologies.
To me, technology is there&amp;nbsp;just to get a job done efficiently and effectively.
My post &lt;a href="http://www.softwaremaker.net/blog/PermaLink,guid,3de723b2-8e23-4fa3-8e2f-359c0a6c9b44.aspx" target=_blank&gt;here&lt;/a&gt; attracted
quite a fair bit of hits and same-echo-sentiment emails. It even made to ZiffDavis
blog list &lt;a href="http://blog.ziffdavis.com/devlife/archive/2005/07/08/15522.aspx" target=_blank&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
As Steve has echoed as well, I am also even more convinced now that Indigo is going
to be the platform to beat when it comes to distributed communications. No doubt about
it.
&lt;/p&gt;
&lt;p&gt;
I am really glad that the Indigo team, whom I think comprises some of the brightest
minds in the software field, is all united to work towards a common goal of creating
a religion and ideology-agnostic product. If this is not innovation, I dont know what
is.
&lt;/p&gt;
&lt;p&gt;
Show me the money, Beta1
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=957bb9e7-f9bc-4f9d-bed0-fb8bdd06d191" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
© William Tay 2012 | Swinging Technologist 
&lt;br /&gt;
&lt;a href="http://www.softwaremaker.net/blog"&gt;http://www.softwaremaker.net/blog&lt;/a&gt;</description>
      <category>Service-Orientation;Software Architectures;Windows Communication Foundation (WCF) aka Indigo</category>
    </item>
    <item>
      <trackback:ping>http://www.softwaremaker.net/blog/Trackback.aspx?guid=318a70f2-3b0c-4f4b-8bc9-022aa450db88</trackback:ping>
      <pingback:server>http://www.softwaremaker.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.softwaremaker.net/blog/PermaLink,guid,318a70f2-3b0c-4f4b-8bc9-022aa450db88.aspx</pingback:target>
      <dc:creator>William Tay</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I have been invited by the <a href="http://www.ark-group.com" target="_blank">Ark
Group</a> to speak in one of their major technology management conferences in Singapore
on the 27th July 2005.
</p>
        <p>
          <a href="http://www.ark-group.com/home/events/event.asp?eventid=0704FD66-9BE1-40BE-A092-6473245C5232" target="_blank">This
conference</a> is themed around <strong>Planning and Implementing Service-Oriented
Architecture : <em>Developing SOA to Reduce the Cost of Integration, Leverage Legacy
Systems and Improve Business Agility.</em></strong></p>
        <p>
My 45-min presentation is titled:
</p>
        <p>
          <strong>
            <u>Design and Security Notes from the Field</u>
          </strong>
        </p>
        <ul>
          <li>
Distributed Computing 
<ul><li>
Thoughts 
</li><li>
When to use What 
</li><li>
More Thoughts</li></ul></li>
          <li>
Distributed Security 
<ul><li>
Thoughts 
</li><li>
When to use What 
</li><li>
More Thoughts</li></ul></li>
        </ul>
        <p>
As usual to my presentation style, I tend to keep my topics interesting and a refreshing
experience. The conferences in this field has always been dominated by the academics,
researchers and technology vendors who sometimes lose touch of whats happening on
the ground. I will go against this bias and inject some field experience in there.
It should be an interesting conference for attendees and delegates. I think it will
even be much more interesting when I sit down with them for networking lunch. <img src="http://www.softwaremaker.net/pictures/swmemoticons/wink.gif" /></p>
        <p>
I hope to see you there.
</p>
        <img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=318a70f2-3b0c-4f4b-8bc9-022aa450db88" />
        <br />
        <hr />
© William Tay 2012 | Swinging Technologist 
<br /><a href="http://www.softwaremaker.net/blog">http://www.softwaremaker.net/blog</a></body>
      <title>Speaking on Design and Security Notes from the Field on Planning and Implementing an SO(A)</title>
      <guid isPermaLink="false">http://www.softwaremaker.net/blog/PermaLink,guid,318a70f2-3b0c-4f4b-8bc9-022aa450db88.aspx</guid>
      <link>http://www.softwaremaker.net/blog/SpeakingOnDesignAndSecurityNotesFromTheFieldOnPlanningAndImplementingAnSOA.aspx</link>
      <pubDate>Tue, 12 Jul 2005 22:11:01 GMT</pubDate>
      <description>&lt;p&gt;
I have been invited by the &lt;a href="http://www.ark-group.com" target=_blank&gt;Ark Group&lt;/a&gt; to
speak in one of their major technology management conferences in Singapore on the
27th July 2005.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.ark-group.com/home/events/event.asp?eventid=0704FD66-9BE1-40BE-A092-6473245C5232" target=_blank&gt;This
conference&lt;/a&gt; is themed around &lt;strong&gt;Planning and Implementing Service-Oriented
Architecture : &lt;em&gt;Developing SOA to Reduce the Cost of Integration, Leverage Legacy
Systems and Improve Business Agility.&lt;/em&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
My 45-min presentation is titled:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;u&gt;Design and Security Notes from the Field&lt;/u&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Distributed Computing 
&lt;ul&gt;
&lt;li&gt;
Thoughts 
&lt;li&gt;
When to use What 
&lt;li&gt;
More Thoughts&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Distributed Security 
&lt;ul&gt;
&lt;li&gt;
Thoughts 
&lt;li&gt;
When to use What 
&lt;li&gt;
More Thoughts&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
As usual to my presentation style, I tend to keep my topics interesting and a refreshing
experience. The conferences in this field has always been dominated by the academics,
researchers and technology vendors who sometimes lose touch of whats happening on
the ground. I will go against this bias and inject some field experience in there.
It should be an interesting conference for attendees and delegates. I think it will
even be much more interesting&amp;nbsp;when I sit down with them for networking lunch. &lt;img src="http://www.softwaremaker.net/pictures/swmemoticons/wink.gif"&gt;
&lt;/p&gt;
&lt;p&gt;
I hope to see you there.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=318a70f2-3b0c-4f4b-8bc9-022aa450db88" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
© William Tay 2012 | Swinging Technologist 
&lt;br /&gt;
&lt;a href="http://www.softwaremaker.net/blog"&gt;http://www.softwaremaker.net/blog&lt;/a&gt;</description>
      <category>Presentations;Service-Orientation;Software Architectures;Software Development</category>
    </item>
    <item>
      <trackback:ping>http://www.softwaremaker.net/blog/Trackback.aspx?guid=3de723b2-8e23-4fa3-8e2f-359c0a6c9b44</trackback:ping>
      <pingback:server>http://www.softwaremaker.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.softwaremaker.net/blog/PermaLink,guid,3de723b2-8e23-4fa3-8e2f-359c0a6c9b44.aspx</pingback:target>
      <dc:creator>William Tay</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I have been following the exchanges between <a href="http://savas.parastatidis.name/" target="_blank">Savas</a>, <a href="http://jim.webber.name/" target="_blank">Jim
Webber</a>, and Michi Henning <a href="http://jim.webber.name/2005/06/23/dbeede6f-4745-443a-bed3-3a556fcd3a36.aspx#ac06010a-8247-411a-b07a-278df15106e0" target="_blank">here</a> and <a href="http://savas.parastatidis.name/2005/07/03/f52bed61-6dd0-4c08-8b54-22987a2f1468.aspx" target="_blank">here</a>.
There are more links but I will leave it up to the interested reader to use a <a href="http://www.xfront.com/REST-Web-Services.html" target="_blank">RESTful
approach</a> to refer to those resources from the above 2 links. <img src="http://www.softwaremaker.net/pictures/swmemoticons/wink.gif" /></p>
        <p>
To be honest, this has been piped over the newsgroups, forums, conferences, etc for
some time now and it is really nothing interesting to debate about, really.
</p>
        <p>
All this noise has led to a lot of <a href="http://en.wikipedia.org/wiki/FUD" target="_blank">FUD</a> in
the field and I get a constant barrage of questions in any of the technology conferences
I speak in or attend. I work in the fields out there and therefore I tend to approach
technology unlike that of academics, trainers or vendors. I do what clients want in
the most efficient way (<em>read:cost_and_resource-effective</em>) possible. I have
met a few people from academics as well as from the product vendors who entered
the field thinking that just because they can point out which exact page number explains
the ds:SignedInfo in _WS-Security Specs_, they can convince and conquer the field
and have every single customer out there upgrade their existing technological infrastructure
every 6 years.
</p>
        <p>
Well, the Mainfraimes, the <a href="http://www.webopedia.com/TERM/C/CICS.html" target="_blank">CICS</a> and
the <a href="http://www.answers.com/topic/cobol" target="_blank">COBOL</a> wonks are
still out there. Still making a lot of money for its vendors and service providers. People
are still driving <a href="http://www.urbandictionary.com/define.php?term=lada" target="_blank">Lada</a>s
and these legacy will be there for some time, probably a long long time.
</p>
        <p>
We get a lot of younER developers who are very confused with all barrage of technologies
out there and sometimes people on the field (which means customers as well) get
the short end of the stick when these developers use the wrong technology in
the different parts of the technical solution. So, yes, some of the stuff you read
in <a href="http://thedailywtf.com/" target="_blank">the Daily WTF</a> is not ficticious.
</p>
        <p>
Sometimes, when I come across comments like these here from Savas's blog <a href="http://savas.parastatidis.name/2005/07/04/76affcec-2a1f-4090-b3e5-66ab76be73f8.aspx" target="_blank">here</a>:
</p>
        <p>
          <em>
            <font color="#808080">&gt; Microsoft is betting on SOAP and made it a key part
of its distributed computing platform, not DCOM.</font>
          </em>
        </p>
        <p>
          <em>
            <font color="#808080">Betting on SOAP? Hmmm... .NET remoting does not use SOAP.
It uses a binary protocol for performance reasons. So, I'm not sure that Microsoft
are "betting on SOAP". They certainly are not for their .NET remoting protocol. And
DCOM failed because it could not be made to scale, due to its misguided garbage collection
idea. And because DCOM, amazing as that may sound, was even more complex than CORBA.</font>
          </em>
        </p>
        <p>
Somehow, I either feel that I still dont get the picture or that irrationality is
clouding good judgement (still).
</p>
        <p>
Of course, .NET Remoting doesnt use SOAP. In fact, it used to and is <a href="http://blogs.msdn.com/mattavis/archive/2004/08/23/219200.aspx" target="_blank">deprecated</a> for
good reasons. It is a distributed <strong><em>object</em></strong> technology which implies
implicit method invocation. SOAP is not a distributed object technology. It is all
about services, all about standard schemas, being explicit in design and yes, it also
means dispatching these XML documents on a "hopeless transport" or the Lada of the
network protocol today. You cannot compare them just like you cannot compare the performance
of objects and services.
</p>
        <p>
Is this the best we can do ? Of course NOT. Should we all dump our existing heap
of scrap metal in our garage and get the shiniest and fastest aluminium today ? Of
course. Are we going to empty our bank account, forfeit and compensate on our current
loan arrangments to do it ? NO, NOPE, NADA ... This is a just a fact that
we have to deal with.
</p>
        <p>
Having said that, to me, both sets of distributed technologies will have its place
to stay, regardless of what the vendors say to sell more and the trainers sell to
teach more. Each have its place and their merits tend to show up best if used
and deployed wisely in the different layers, tiers and boundaries of a decent, usable
and viable solution. When I say Solution, I mean an entire composition of different
new and old systems that services a business program, initiative and ultimately a
goal. Isnt that what we are building systems for in the first place or have
I totally lost my mind and lost track of who my paymaster is ? Dont get me wrong,
progress is not possible without making full proof and implementations of the latest
rocket science or theories. But Progress can be measured in many ways. To most people,
progress is measured by how they can make legacy or existing technologies and architetures
last and endure given the rapidly evolving set of standards, protocols and environments
and how fast they can go home and spend time with their families as age increases
and <a href="http://www.webopedia.com/TERM/T/TTL.html" target="_blank">TTL</a> declines.
</p>
        <p>
COM+, DCOM, .NET Remoting is something we use very frequently on the field, and for
good reasons too. I am known to be a <a href="http://www.w3.org/TR/soap/" target="_blank">(W3C)
SOAP</a> Wonk BUT I will not give them up easily within the innards of my system and
I will use SOAP for the reasons it was designed for. In fact, to me, one
of the most important features in SOAP is the <strong><em>@role</em></strong> (<strong><em>@actor</em></strong>)
and the <strong><em>@mustUnderstand</em></strong>. Or else, I would just stick with
just plain old XML.
</p>
        <p>
Is Microsoft betting on SOAP ? You bet, and so is the entire industry. It is a well
known fact that while it is simplistic in design (in fact, this is one of the wierd
specification that becomes simpler as the newer iteration evolve. Let hope it remains
this way), getting across-the-board agreement is the costly element. In fact, it took
5 years from the original design meeting and prototype to become an “official” specification
and it (SOAP 1.1) is still not an official W3C Submission. The cost to each participating
organization easily crosses several million USD. The rough estimates to putting the
final WS-* specs to bed (if there is such a thing) would easily be more than 20 million
USD.
</p>
        <p>
Just like life, in the field of software engineering, compromise is something we need
to work with. I once had a straight-through exhaust pipe the circumference of a toilet
bowl fitted underneath my car as well as a wide-open air filter underneath the car
bonnet. After 3 months, I couldnt deal with the generated noise as well as the
(less-dense) hot air the air cone was taking in from all angles so I dumped both
of them. While it may take me slightly longer (by a few seconds, perhaps) to
reach the market to buy groceries, the brat in the younger me learnt to deal
with it. <img src="http://www.softwaremaker.net/pictures/swmemoticons/wink.gif" /></p>
        <p>
While, I have my own ideas on the Request/Reply MEP, RPC, Document-Literal Messaging,
etc and I like to share my research and thoughts with some of the brightest minds
in the industry over a hot cup of Java, it is not something I lose sleep or sweat
about. It just serves to keep my sanity in check when I still have to deal with OLE
and VB3 issues today and it does make good conversation with some of the most intelligent
geeks out there.
</p>
        <p>
Sometimes, I feel the point of technology is lost when people argue over stuff like
that. To these people, I recommend a good classic read: <a href="http://www.amazon.com/exec/obidos/tg/sim-explorer/explore-items/-/0679745408/0/101/1/none/purchase/ref%3Dpd%5Fsxp%5Fr0/102-1223873-2763357" target="_blank">Technopoly:
The surrender of Culture to Technology by Neil Postman</a></p>
        <img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=3de723b2-8e23-4fa3-8e2f-359c0a6c9b44" />
        <br />
        <hr />
© William Tay 2012 | Swinging Technologist 
<br /><a href="http://www.softwaremaker.net/blog">http://www.softwaremaker.net/blog</a></body>
      <title>The irrationality behind Technical Arguments</title>
      <guid isPermaLink="false">http://www.softwaremaker.net/blog/PermaLink,guid,3de723b2-8e23-4fa3-8e2f-359c0a6c9b44.aspx</guid>
      <link>http://www.softwaremaker.net/blog/TheIrrationalityBehindTechnicalArguments.aspx</link>
      <pubDate>Thu, 07 Jul 2005 04:40:24 GMT</pubDate>
      <description>&lt;p&gt;
I have been following the exchanges between &lt;a href="http://savas.parastatidis.name/" target=_blank&gt;Savas&lt;/a&gt;, &lt;a href="http://jim.webber.name/" target=_blank&gt;Jim
Webber&lt;/a&gt;, and Michi Henning &lt;a href="http://jim.webber.name/2005/06/23/dbeede6f-4745-443a-bed3-3a556fcd3a36.aspx#ac06010a-8247-411a-b07a-278df15106e0" target=_blank&gt;here&lt;/a&gt;&amp;nbsp;and &lt;a href="http://savas.parastatidis.name/2005/07/03/f52bed61-6dd0-4c08-8b54-22987a2f1468.aspx" target=_blank&gt;here&lt;/a&gt;.
There are more links but I will leave it up to the interested reader to use a &lt;a href="http://www.xfront.com/REST-Web-Services.html" target=_blank&gt;RESTful
approach&lt;/a&gt; to refer to those resources from the above 2 links. &lt;img src="http://www.softwaremaker.net/pictures/swmemoticons/wink.gif"&gt;
&lt;/p&gt;
&lt;p&gt;
To be honest, this has been piped over the newsgroups, forums, conferences, etc for
some time now and it is really nothing interesting to debate about, really.
&lt;/p&gt;
&lt;p&gt;
All this noise has led to a lot of &lt;a href="http://en.wikipedia.org/wiki/FUD" target=_blank&gt;FUD&lt;/a&gt;&amp;nbsp;in
the field and I get a constant barrage of questions in any of the technology conferences
I speak in or attend. I work in the fields out there and therefore I tend to approach
technology unlike that of academics, trainers or vendors. I do what clients want in
the most efficient way (&lt;em&gt;read:cost_and_resource-effective&lt;/em&gt;) possible. I have
met a few people from academics&amp;nbsp;as well as from the product vendors who entered
the field thinking that just because they can point out which exact page number explains
the ds:SignedInfo in&amp;nbsp;_WS-Security Specs_, they can convince and conquer the field
and have every single customer out there upgrade their existing technological infrastructure
every 6 years.
&lt;/p&gt;
&lt;p&gt;
Well, the Mainfraimes, the &lt;a href="http://www.webopedia.com/TERM/C/CICS.html" target=_blank&gt;CICS&lt;/a&gt; and
the &lt;a href="http://www.answers.com/topic/cobol" target=_blank&gt;COBOL&lt;/a&gt; wonks are
still out there. Still making a lot of money for its vendors and service providers.&amp;nbsp;People
are still driving &lt;a href="http://www.urbandictionary.com/define.php?term=lada" target=_blank&gt;Lada&lt;/a&gt;s
and these legacy will be there for some time, probably a long long time.
&lt;/p&gt;
&lt;p&gt;
We get a lot of younER developers who are very confused with all barrage of technologies
out there&amp;nbsp;and sometimes people on the field (which means customers as well) get
the short end of the stick&amp;nbsp;when these developers use the wrong technology in
the different parts of the technical solution. So, yes, some of the stuff you read
in &lt;a href="http://thedailywtf.com/" target=_blank&gt;the Daily WTF&lt;/a&gt; is not ficticious.
&lt;/p&gt;
&lt;p&gt;
Sometimes, when I come across comments like these here from Savas's blog &lt;a href="http://savas.parastatidis.name/2005/07/04/76affcec-2a1f-4090-b3e5-66ab76be73f8.aspx" target=_blank&gt;here&lt;/a&gt;:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&lt;font color=#808080&gt;&amp;gt; Microsoft is betting on SOAP and made it a key part of
its distributed computing platform, not DCOM.&lt;/font&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&lt;font color=#808080&gt;Betting on SOAP? Hmmm... .NET remoting does not use SOAP.
It uses a binary protocol for performance reasons. So, I'm not sure that Microsoft
are "betting on SOAP". They certainly are not for their .NET remoting protocol. And
DCOM failed because it could not be made to scale, due to its misguided garbage collection
idea. And because DCOM, amazing as that may sound, was even more complex than CORBA.&lt;/font&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Somehow, I either feel that I still dont get the picture or that irrationality is
clouding good judgement (still).
&lt;/p&gt;
&lt;p&gt;
Of course, .NET Remoting doesnt use SOAP. In fact, it used to and is &lt;a href="http://blogs.msdn.com/mattavis/archive/2004/08/23/219200.aspx" target=_blank&gt;deprecated&lt;/a&gt; for
good reasons. It is a distributed &lt;strong&gt;&lt;em&gt;object&lt;/em&gt;&lt;/strong&gt; technology which&amp;nbsp;implies
implicit method invocation. SOAP is not a distributed object technology. It is all
about services, all about standard schemas, being explicit in design and yes, it also
means dispatching these XML documents on a "hopeless transport" or the Lada of the
network protocol today. You cannot compare them just like you cannot compare the performance
of objects and services.
&lt;/p&gt;
&lt;p&gt;
Is this the best we can do ?&amp;nbsp;Of course NOT. Should we all dump our existing heap
of scrap metal in our garage and get the shiniest and fastest aluminium today ? Of
course. Are we going to empty our bank account, forfeit and compensate on our current
loan arrangments to do it ?&amp;nbsp;NO, NOPE, NADA ...&amp;nbsp;This is a just a fact&amp;nbsp;that
we have to deal with.
&lt;/p&gt;
&lt;p&gt;
Having said that, to me, both sets of distributed technologies will have its place
to stay, regardless of what the vendors say to sell more and the trainers sell to
teach&amp;nbsp;more. Each have its place and their merits tend to show up best if used
and deployed wisely in the different layers, tiers and boundaries of a decent, usable
and viable solution. When I say Solution, I mean an entire composition of different
new and old systems that services a business program, initiative and ultimately a
goal.&amp;nbsp;Isnt that what we are building systems&amp;nbsp;for in the first place or have
I totally lost my mind and lost track of who my paymaster is ? Dont get me wrong,
progress is not possible without making full proof and implementations of the latest
rocket science or theories. But Progress can be measured in many ways. To most people,
progress is measured by how they can make legacy or existing technologies and architetures
last and endure given the rapidly evolving set of standards, protocols and environments
and how fast they can go home and spend time with their families as age increases
and &lt;a href="http://www.webopedia.com/TERM/T/TTL.html" target=_blank&gt;TTL&lt;/a&gt; declines.
&lt;/p&gt;
&lt;p&gt;
COM+, DCOM, .NET Remoting is something we use very frequently on the field, and for
good reasons too. I am known to be a&amp;nbsp;&lt;a href="http://www.w3.org/TR/soap/" target="_blank"&gt;(W3C)
SOAP&lt;/a&gt; Wonk BUT I will not give them up easily within the innards of my system and
I will use SOAP for the reasons it&amp;nbsp;was designed&amp;nbsp;for. In fact, to me, one
of the most important features in SOAP is the &lt;strong&gt;&lt;em&gt;@role&lt;/em&gt;&lt;/strong&gt; (&lt;strong&gt;&lt;em&gt;@actor&lt;/em&gt;&lt;/strong&gt;)
and the &lt;strong&gt;&lt;em&gt;@mustUnderstand&lt;/em&gt;&lt;/strong&gt;. Or else, I would&amp;nbsp;just stick&amp;nbsp;with
just plain old XML.
&lt;/p&gt;
&lt;p&gt;
Is Microsoft betting on SOAP ? You bet, and so is the entire industry. It is a well
known fact that while it is simplistic in design (in fact, this is one of the wierd
specification that becomes simpler as the newer iteration evolve. Let hope it remains
this way), getting across-the-board agreement is the costly element. In fact, it took
5 years from the original design meeting and prototype to become an “official” specification
and it (SOAP 1.1) is still not an official W3C Submission. The cost to each participating
organization easily crosses several million USD. The rough estimates to putting the
final WS-* specs to bed (if there is such a thing) would easily be more than 20 million
USD.
&lt;/p&gt;
&lt;p&gt;
Just like life, in the field of software engineering, compromise is something we need
to work with. I once had a straight-through exhaust pipe the circumference of a toilet
bowl fitted underneath my car as well as a wide-open air filter underneath the car
bonnet. After 3 months,&amp;nbsp;I couldnt deal with the generated noise as well as the
(less-dense) hot air the air cone was taking in from all angles so I dumped&amp;nbsp;both
of them. While it may take me slightly longer (by a few seconds, perhaps)&amp;nbsp;to
reach the market to buy groceries,&amp;nbsp;the brat in the younger me learnt to deal
with it. &lt;img src="http://www.softwaremaker.net/pictures/swmemoticons/wink.gif"&gt;
&lt;/p&gt;
&lt;p&gt;
While, I have my own ideas on the Request/Reply MEP, RPC, Document-Literal Messaging,
etc&amp;nbsp;and I like to share my research and thoughts with some of the brightest minds
in the industry over a hot cup of Java, it is not something I lose sleep or sweat
about. It just serves to keep my sanity in check when I still have to deal with OLE
and VB3 issues today and it does make good conversation with some of the most intelligent
geeks out there.
&lt;/p&gt;
&lt;p&gt;
Sometimes, I feel the point of technology is lost when people argue over stuff like
that. To these people, I recommend a good classic read: &lt;a href="http://www.amazon.com/exec/obidos/tg/sim-explorer/explore-items/-/0679745408/0/101/1/none/purchase/ref%3Dpd%5Fsxp%5Fr0/102-1223873-2763357" target=_blank&gt;Technopoly:
The surrender of Culture to Technology by Neil Postman&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=3de723b2-8e23-4fa3-8e2f-359c0a6c9b44" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
© William Tay 2012 | Swinging Technologist 
&lt;br /&gt;
&lt;a href="http://www.softwaremaker.net/blog"&gt;http://www.softwaremaker.net/blog&lt;/a&gt;</description>
      <category>Random Musings;Service-Orientation;Software Architectures;Technology;XML Services</category>
    </item>
    <item>
      <trackback:ping>http://www.softwaremaker.net/blog/Trackback.aspx?guid=d3a66c9e-9e3b-490c-8ccd-51fb067ab8d8</trackback:ping>
      <pingback:server>http://www.softwaremaker.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.softwaremaker.net/blog/PermaLink,guid,d3a66c9e-9e3b-490c-8ccd-51fb067ab8d8.aspx</pingback:target>
      <dc:creator>William Tay</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Fellow <a href="http://msdn.microsoft.com/isv/rd/default.aspx" target="_blank" title="Microsoft Regional Director">Microsoft
Regional Director</a> and a software legend, <a href="http://www.lhotka.net/WeBlog" target="_blank">Rocky
Lhotka</a> posted an interesting entry on Message-based WebMethod "overloading" <a href="http://www.lhotka.net/WeBlog/PermaLink.aspx?guid=2a5e2d14-3cf5-4cea-a296-24b894228f5d" target="_blank">here</a>.
</p>
        <p>
In it, he recommends (and I quote) that service methods use a request/response
or just request method signature: 
</p>
        <p>
          <font face="Georgia" color="#808080">
            <em>   response = f(request)</em>
          </font>
        </p>
        <p>
          <font face="Georgia" color="#808080">
            <em>or</em>
          </font>
        </p>
        <p>
          <font face="Georgia" color="#808080">
            <em>   f(request)</em>
          </font>
        </p>
        <p>
          <font face="Georgia" color="#808080">
            <em> "request" and "response" are both messages,
defined by a type or schema (with a little "s", not necessarily XSD).</em>
          </font>
        </p>
        <p>
          <font face="Georgia" color="#808080">
            <em>The actual procedure, f, is then implemented
as a Message Router, routing each call to an appropriate handler method depending
on the specific type of the request message.</em>
          </font>
        </p>
        <p>
I couldnt agree more. While easier to comprehend, the practice of passing parameters
to a Web Method call often sends the wrong messages across as <a href="http://www.w3.org/TR/soap/" target="_blank">(W3C)
SOAP</a> as just another RPC. Ultimately, if you have no idea and dont even want to
grok the innards of the <a href="http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemXmlSerializationXmlSerializerClassTopic" target="_blank">XMLSerializer</a>,
you would really think you are passing method parameters across or worse, think that
you are ferrying objects across the wire.
</p>
        <p>
Therefore, I firmly believe that it is for the good of all if you explicity specify
that you are expecting a XMLDocument / XMLElement / XMLNode and you will dispatch
the same on your endpoint. What you do at your implementation (whether it is serializing from
a type to deserializing from one) is placed squarely at the mercy of the tools in
your hand or the knowledge in your head.
</p>
        <p>
With the current state of tools (or lack there-of) today, I sit on the same camp as <a href="http://pluralsight.com/blogs/aaron/default.aspx" target="_blank">Aaron
Skonnard</a> and <a href="http://weblogs.asp.net/cweyer/" target="_blank">Christian
Weyer</a> (plus others, I believe) as I believe firmly in the contract-first approach.
Good devs should dig what is going on as close to the wire as possible, <strong><em>at
least once</em></strong>. Then they can use all the wizards and helpers they want.
This will help them understand better what is going on if they should need to troubleshoot
later (leaky abstractions) or find other ways to improve performance.
</p>
        <p>
This is just something that my team and me here have gathered over the years esp when
I have got many developers out there working on the same solution offshore in different
countries.
</p>
        <p>
While I agree that not many people out there enjoy or want to grok the angle brackets
and that the lack of tools out there is hugely to be blamed, tools make a productive
developer but not necessarily a proficient one.
</p>
        <p>
Until today, I still come across developers that still think Web Services are still
about transferring an object across the wire. Having terms like "Web References" and
"proxies", even deemed to be more abstract and dev-friendly, does potray the wrong
ideas across.
</p>
        <p>
I have always recommended young<em>er </em>developers who are interested in learning
about Web Services / ASMX and SOAP to try out the (<em>just-now-defunct</em>) <a href="http://msdn.microsoft.com/webservices/building/soaptk/default.aspx" target="_blank">Microsoft
SOAP Toolkit</a> first before moving on. I find that to be a great interesting
way to learn about XML SOAP Services as abstractions are kept to a minimum. Another
great SOAP Toolkit in the face of Microsoft's non-supporting stance of its own is <a href="http://www.pocketsoap.com/weblog/index.html" target="_blank">Simon
Fell</a>'s <a href="http://www.pocketsoap.com/" target="_blank">PocketSOAP</a>.
</p>
        <p>
Another fellow Regional Director, <a href="http://www.srtsolutions.com/public/blog/20574?model=user/myst/user-srt-corporate&amp;style=user/myst/srt-corporate&amp;scheme=green" target="_blank">Bill
Wagner</a> (who authored an very impressive book "<a href="http://www.awprofessional.com/title/0321245660" target="_blank">Effective
C#</a>") posted his solution to Rocky's post <a href="http://www.srtsolutions.com/public/item/91025" target="_blank">here</a>. I
have used the same sort of approach that Bill had documented before and it is
good and does serve its purpose. However (<em>and please correct me if I am wrong</em>),
it bounds the message contracts and datatypes tightly to the WSDL. If I am going to
add a third Request / Response pair of classes, it will render my initial WSDL invalid
(unless of course, if I am willing to add an additional endpoint)
</p>
        <p>
I worked on a project before which specify that (newer) datatypes are to be added
in phases and therefore, we had to decouple the XSD from the WSDL (which is in accordance
with one of the <a href="http://devresource.hp.com/drc/slide_presentations/schemaWSDL/index.jsp" target="_blank">best
practice of WSDL Deployments</a> -- modular and the separation of concerns). Oh, by
the way, this is practiced in <a href="http://msdn.microsoft.com/Longhorn/understanding/pillars/Indigo/default.aspx" target="_blank">Indigo</a>. 
</p>
        <p>
I don't know if there is a way to decouple the XSDs from the WSDL in VS2003 today.
Even if there is, I am guessing it is a difficult hack at best. So, what I did was
to create the XSDs for each datatype as they come along and do a XSD import in my
WSDL. At my message exchange contract, I used an <a href="http://www.xfront.com/ExtensibleContentModels.html" target="_blank">open
content type with xsd:any</a>. Thereafter, I author my own WSDL with the help of Christian's
and <a href="http://www.thinktecture.com/" target="_blank">Thinktecture</a>'s <a href="http://www.thinktecture.com/Resources/Software/WSContractFirst/default.html" target="_blank">WSContractFirst</a>.
Since the message and the datatype XSDs are all imported, the wsdl actually has a
small footprint now. With the wsdl /server switch, xsd:any becomes an XMLElement type.
For abstraction within my service, I changed it to an object in my implementation
detail.
</p>
        <p>
          <strong>
            <em>Note: .NET 1.1's WSDL.exe /server switch, in my mind, is still
fairly limited and comes with a couple of annoying things I didn't like BUT I will
expand this in detail later.</em>
          </strong>
        </p>
        <p>
[System.Xml.Serialization.XmlTypeAttribute([Namespace]:="urn:softwaremaker-n<br />
et.swmstoreexchangemessages"]&gt; _<br />
Public Class Response<br />
  Public Result As Result<br />
End Class
</p>
        <p>
[System.Xml.Serialization.XmlTypeAttribute([Namespace]:="urn:softwaremaker-n<br />
et.swmstoreexchangemessages")] _<br />
Public Class Result<br />
  [System.Xml.Serialization.XmlElement(ElementName:="Book",<br />
Type:=GetType(BookType),<br />
Namespace:="urn:softwaremaker-net.swmstoreextendedtypes"), _<br />
  System.Xml.Serialization.XmlElement(ElementName:="CD",<br />
Type:=GetType(CDType),<br />
Namespace:="urn:softwaremaker-net.swmstoreextendedtypes"), _<br />
  System.Xml.Serialization.XmlElement(ElementName:="Anything",<br />
Type:=GetType(AnyType),<br />
Namespace:="urn:softwaremaker-net.swmstoreextendedtypes")] _<br />
  Public Any As Object<br />
End Class
</p>
        <p>
  Public Function<br />
ProcessRequest([System.Xml.Serialization.XmlElementAttribute([Namespace]:="u<br />
rn:softwaremaker-net.swmstoreexchangemessages")] ByVal Request As Object) As [System.Xml.Serialization.XmlElementAttribute("Response",<br />
[Namespace]:="urn:softwaremaker-net.swmstoreexchangemessages")] Response<br />
   '...<br />
   End Function
</p>
        <p>
Once the consumer points to my wsdl (I turned off documentation of asmx by default),
all the XSDs are imported by VS2003 as well (and that is a good thing). The xsd:any
is still an XMLElement over at their end and we leave it as it is since we cannot
control what they do there. The consumer can choose to deal with the raw XML if they
want to OR do an xsd.exe imported.xsd /c and let the XMLSerializer do its (<em>limited</em>)
magic <img src="http://www.softwaremaker.net/pictures/swmemoticons/wink.gif" />.
</p>
        <p>
In this sense, no matter how many more datatypes I add or remove, my wire-contract
remains the same. I just let the endpoints serialize / deserialize the open-content
xml (xsd:any). In my project I had mentioned earlier, I have one asmx endpoint servicing
multiple consumers each sending different messages that conforms to different XSDs
(For example, GroupA sends BookType and GroupB sends the CDType as well as a
GroupC next time that sends a type that is unknown to me today). The thing I need
to take care of is to send the appropriate datatype xsd to the appropriate groups
so they can serialize / deserialize into the appropriate types. As you can see from
the code snippet above, at my asmx, I will just add any new datatypes that come along.
</p>
        <p>
While, this may seem like too much compared to Bill's solution above, it was necessary
to decouple the datatypes from my wsdl in that project and the XSD Editor (codenamed:
daVinci ?) in VS.NET2003 was the best tool I had in hand at that time. Developers
are too comfortable with objects. This is obviously natural with the decade-long evolution
of Object-Orientation and the power of abstractions the OO tools and languages bring
today.
</p>
        <p>
However, other factors like time, extensibility, standardization make abstractions
expensive...and among others, these are all factors that make up the principles of
the move towards Service-Orientation. Now, if we have to make and designed services
to be explicit, this means that devs need to know they are explicity invoking a service
across the wire, how far can the tools go to hide all the plumbings and yet not hide
the fact that the service is <em>on the other side</em> and not just a mere shadow
copy of a <a href="http://www.devx.com/dotnet/Article/7002/0/page" target="_blank">remoting</a> object
that seems to reside on the same application domain.
</p>
        <p>
Will Service-Orientation fail to hit the mainstream because of this ? I dont know.
I guess only time will tell.
</p>
        <img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=d3a66c9e-9e3b-490c-8ccd-51fb067ab8d8" />
        <br />
        <hr />
© William Tay 2012 | Swinging Technologist 
<br /><a href="http://www.softwaremaker.net/blog">http://www.softwaremaker.net/blog</a></body>
      <title>Contract First: Message-based WebMethod "overloading"</title>
      <guid isPermaLink="false">http://www.softwaremaker.net/blog/PermaLink,guid,d3a66c9e-9e3b-490c-8ccd-51fb067ab8d8.aspx</guid>
      <link>http://www.softwaremaker.net/blog/ContractFirstMessagebasedWebMethodOverloading.aspx</link>
      <pubDate>Thu, 05 May 2005 02:22:18 GMT</pubDate>
      <description>&lt;p&gt;
Fellow&amp;nbsp;&lt;a href="http://msdn.microsoft.com/isv/rd/default.aspx" target="_blank" title="Microsoft Regional Director"&gt;Microsoft
Regional Director&lt;/a&gt;&amp;nbsp;and a software legend, &lt;a href="http://www.lhotka.net/WeBlog" target=_blank&gt;Rocky
Lhotka&lt;/a&gt;&amp;nbsp;posted an interesting entry on Message-based WebMethod "overloading" &lt;a href="http://www.lhotka.net/WeBlog/PermaLink.aspx?guid=2a5e2d14-3cf5-4cea-a296-24b894228f5d" target=_blank&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
In it, he recommends&amp;nbsp;(and I quote) that service methods use a request/response
or just request method signature:&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;font face=Georgia color=#808080&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp; response = f(request)&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face=Georgia color=#808080&gt;&lt;em&gt;or&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face=Georgia color=#808080&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp; f(request)&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face=Georgia color=#808080&gt;&lt;em&gt;&amp;nbsp;"request" and "response" are both messages,
defined by a type or schema (with a little "s", not necessarily XSD).&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face=Georgia color=#808080&gt;&lt;em&gt;The actual procedure, f, is then implemented
as a Message Router, routing each call to an appropriate handler method depending
on the specific type of the request message.&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
I couldnt agree more. While easier to comprehend, the practice of passing parameters
to a Web Method call often sends the wrong messages across as &lt;a href="http://www.w3.org/TR/soap/" target="_blank"&gt;(W3C)
SOAP&lt;/a&gt; as just another RPC. Ultimately, if you have no idea and dont even want to
grok the innards of the &lt;a href="http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemXmlSerializationXmlSerializerClassTopic" target=_blank&gt;XMLSerializer&lt;/a&gt;,
you would really think you are passing method parameters across or worse, think that
you are ferrying objects across the wire.
&lt;/p&gt;
&lt;p&gt;
Therefore, I firmly believe that it is for the good of all if you explicity specify
that you are expecting a XMLDocument / XMLElement / XMLNode and you will dispatch
the same on your endpoint. What you do at your implementation (whether it is serializing&amp;nbsp;from
a type to deserializing from one) is placed squarely at the mercy of the tools in
your hand or the knowledge in your head.
&lt;/p&gt;
&lt;p&gt;
With the current state of tools (or lack there-of) today, I sit on the same camp as &lt;a href="http://pluralsight.com/blogs/aaron/default.aspx" target=_blank&gt;Aaron
Skonnard&lt;/a&gt; and &lt;a href="http://weblogs.asp.net/cweyer/" target=_blank&gt;Christian
Weyer&lt;/a&gt; (plus others, I believe) as I believe firmly in the contract-first approach.
Good devs should dig what is going on as close to the wire as possible, &lt;strong&gt;&lt;em&gt;at
least once&lt;/em&gt;&lt;/strong&gt;. Then they can use all the wizards and helpers they want.
This will help them understand better what is going on if they should need to troubleshoot
later (leaky abstractions) or find other ways to improve performance.
&lt;/p&gt;
&lt;p&gt;
This is just something that my team and me here have gathered over the years esp when
I have got many developers out there working on the same solution offshore in different
countries.
&lt;/p&gt;
&lt;p&gt;
While I agree that not many people out there enjoy or want to grok the angle brackets
and that the lack of tools out there is hugely to be blamed, tools make a productive
developer but not necessarily a proficient one.
&lt;/p&gt;
&lt;p&gt;
Until today, I still come across developers that still think Web Services are still
about transferring an object across the wire. Having terms like "Web References" and
"proxies", even deemed to be more abstract and dev-friendly, does potray the wrong
ideas across.
&lt;/p&gt;
&lt;p&gt;
I have always recommended young&lt;em&gt;er &lt;/em&gt;developers who are interested in learning
about Web Services / ASMX and SOAP to try out the (&lt;em&gt;just-now-defunct&lt;/em&gt;) &lt;a href="http://msdn.microsoft.com/webservices/building/soaptk/default.aspx" target=_blank&gt;Microsoft
SOAP Toolkit&lt;/a&gt;&amp;nbsp;first before moving on. I find that to be a great interesting
way to learn about XML SOAP Services as abstractions are kept to a minimum. Another
great SOAP Toolkit in the face of Microsoft's non-supporting stance of its own is &lt;a href="http://www.pocketsoap.com/weblog/index.html" target=_blank&gt;Simon
Fell&lt;/a&gt;'s &lt;a href="http://www.pocketsoap.com/" target=_blank&gt;PocketSOAP&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Another fellow Regional Director, &lt;a href="http://www.srtsolutions.com/public/blog/20574?model=user/myst/user-srt-corporate&amp;amp;style=user/myst/srt-corporate&amp;amp;scheme=green" target=_blank&gt;Bill
Wagner&lt;/a&gt;&amp;nbsp;(who authored an very impressive book "&lt;a href="http://www.awprofessional.com/title/0321245660" target=_blank&gt;Effective
C#&lt;/a&gt;") posted his solution to Rocky's post &lt;a href="http://www.srtsolutions.com/public/item/91025" target=_blank&gt;here&lt;/a&gt;.&amp;nbsp;I
have used the same sort of approach that Bill had documented&amp;nbsp;before and it is
good and does serve its purpose. However (&lt;em&gt;and please correct me if I am wrong&lt;/em&gt;),
it bounds the message contracts and datatypes tightly to the WSDL. If I am going to
add a third Request / Response pair of classes, it will render my initial WSDL invalid
(unless of course, if I am willing to add an additional endpoint)
&lt;/p&gt;
&lt;p&gt;
I worked on a project before which specify that (newer) datatypes are to be added
in phases and therefore, we had to decouple the XSD from the WSDL (which is in accordance
with one of the &lt;a href="http://devresource.hp.com/drc/slide_presentations/schemaWSDL/index.jsp" target=_blank&gt;best
practice of WSDL Deployments&lt;/a&gt; -- modular and the separation of concerns). Oh, by
the way, this is practiced in &lt;a href="http://msdn.microsoft.com/Longhorn/understanding/pillars/Indigo/default.aspx" target="_blank"&gt;Indigo&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
I don't know if there is a way to decouple the XSDs from the WSDL in VS2003 today.
Even if there is, I am guessing it is a difficult hack at best. So, what I did was
to create the XSDs for each datatype as they come along and do a XSD import in my
WSDL. At my message exchange contract, I used an &lt;a href="http://www.xfront.com/ExtensibleContentModels.html" target=_blank&gt;open
content type with xsd:any&lt;/a&gt;. Thereafter, I author my own WSDL with the help of Christian's
and &lt;a href="http://www.thinktecture.com/" target=_blank&gt;Thinktecture&lt;/a&gt;'s &lt;a href="http://www.thinktecture.com/Resources/Software/WSContractFirst/default.html" target=_blank&gt;WSContractFirst&lt;/a&gt;.
Since the message and the datatype XSDs are all imported, the wsdl actually has a
small footprint now. With the wsdl /server switch, xsd:any becomes an XMLElement type.
For abstraction within my service, I changed it to an object in my implementation
detail.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;Note:&amp;nbsp;.NET 1.1's&amp;nbsp;WSDL.exe /server switch, in my mind, is still
fairly limited and comes with a couple of annoying things I didn't like BUT I will
expand this in detail later.&lt;/em&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
[System.Xml.Serialization.XmlTypeAttribute([Namespace]:="urn:softwaremaker-n&lt;br&gt;
et.swmstoreexchangemessages"]&amp;gt; _&lt;br&gt;
Public Class Response&lt;br&gt;
&amp;nbsp; Public Result As Result&lt;br&gt;
End Class
&lt;/p&gt;
&lt;p&gt;
[System.Xml.Serialization.XmlTypeAttribute([Namespace]:="urn:softwaremaker-n&lt;br&gt;
et.swmstoreexchangemessages")] _&lt;br&gt;
Public Class Result&lt;br&gt;
&amp;nbsp; [System.Xml.Serialization.XmlElement(ElementName:="Book",&lt;br&gt;
Type:=GetType(BookType),&lt;br&gt;
Namespace:="urn:softwaremaker-net.swmstoreextendedtypes"), _&lt;br&gt;
&amp;nbsp; System.Xml.Serialization.XmlElement(ElementName:="CD",&lt;br&gt;
Type:=GetType(CDType),&lt;br&gt;
Namespace:="urn:softwaremaker-net.swmstoreextendedtypes"), _&lt;br&gt;
&amp;nbsp; System.Xml.Serialization.XmlElement(ElementName:="Anything",&lt;br&gt;
Type:=GetType(AnyType),&lt;br&gt;
Namespace:="urn:softwaremaker-net.swmstoreextendedtypes")] _&lt;br&gt;
&amp;nbsp; Public Any As Object&lt;br&gt;
End Class
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; Public Function&lt;br&gt;
ProcessRequest([System.Xml.Serialization.XmlElementAttribute([Namespace]:="u&lt;br&gt;
rn:softwaremaker-net.swmstoreexchangemessages")] ByVal Request As Object) As [System.Xml.Serialization.XmlElementAttribute("Response",&lt;br&gt;
[Namespace]:="urn:softwaremaker-net.swmstoreexchangemessages")] Response&lt;br&gt;
&amp;nbsp;&amp;nbsp; '...&lt;br&gt;
&amp;nbsp;&amp;nbsp; End Function
&lt;/p&gt;
&lt;p&gt;
Once the consumer points to my wsdl (I turned off documentation of asmx by default),
all the XSDs are imported by VS2003 as well (and that is a good thing). The xsd:any
is still an XMLElement over at their end and we leave it as it is since we cannot
control what they do there. The consumer can choose to deal with the raw XML if they
want to OR do an xsd.exe imported.xsd /c and let the XMLSerializer do its (&lt;em&gt;limited&lt;/em&gt;)
magic &lt;img src="http://www.softwaremaker.net/pictures/swmemoticons/wink.gif"&gt;.
&lt;/p&gt;
&lt;p&gt;
In this sense, no matter how many more datatypes I add or remove, my wire-contract
remains the same. I just let the endpoints serialize / deserialize the open-content
xml (xsd:any). In my project I had mentioned earlier, I have one asmx endpoint servicing
multiple consumers each sending different messages that conforms to different XSDs
(For example, GroupA sends BookType and GroupB sends the CDType as&amp;nbsp;well as&amp;nbsp;a
GroupC next time that sends a type that is unknown to me today). The thing I need
to take care of is to send the appropriate datatype xsd to the appropriate groups
so they can serialize / deserialize into the appropriate types. As you can see from
the code snippet above, at my asmx, I will just add any new datatypes that come along.
&lt;/p&gt;
&lt;p&gt;
While, this may seem like too much compared to Bill's solution above, it was necessary
to decouple the datatypes from my wsdl in that project and the XSD Editor (codenamed:
daVinci ?) in VS.NET2003 was the best tool I had in hand at that time. Developers
are too comfortable with objects. This is obviously natural with the decade-long evolution
of Object-Orientation and the power of abstractions the OO tools and languages bring
today.
&lt;/p&gt;
&lt;p&gt;
However, other factors like time, extensibility, standardization make abstractions
expensive...and among others, these are all factors that make up the principles of
the move towards Service-Orientation. Now, if we have to make and designed services
to be explicit, this means that devs need to know they are explicity invoking a service
across the wire, how far can the tools go to hide all the plumbings and yet not hide
the fact that the service is &lt;em&gt;on the other side&lt;/em&gt; and not just a mere&amp;nbsp;shadow
copy of a &lt;a href="http://www.devx.com/dotnet/Article/7002/0/page" target=_blank&gt;remoting&lt;/a&gt; object
that seems to reside on the same application domain.
&lt;/p&gt;
&lt;p&gt;
Will Service-Orientation fail to hit the mainstream because of this ? I dont know.
I guess only time will tell.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=d3a66c9e-9e3b-490c-8ccd-51fb067ab8d8" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
© William Tay 2012 | Swinging Technologist 
&lt;br /&gt;
&lt;a href="http://www.softwaremaker.net/blog"&gt;http://www.softwaremaker.net/blog&lt;/a&gt;</description>
      <category>Service-Orientation;Software Architectures;Software Development;XML Services</category>
    </item>
    <item>
      <trackback:ping>http://www.softwaremaker.net/blog/Trackback.aspx?guid=c8988021-3ee2-4f4f-af5d-5ca4a09b802d</trackback:ping>
      <pingback:server>http://www.softwaremaker.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.softwaremaker.net/blog/PermaLink,guid,c8988021-3ee2-4f4f-af5d-5ca4a09b802d.aspx</pingback:target>
      <dc:creator>William Tay</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.webservices.org/index.php/ws/content/view/full/50093" target="_blank">Michael
Liebow</a>, VP of Web Services at IBM Global Services has a great <a href="http://www.webservices.org/index.php/ws/content/view/full/53909" target="_blank">entry</a> on
his weblog where he asked if "<em><font color="#ff0000">Customers really want an SOA</font></em>".
This is really a great post and I couldnt agree more.
</p>
        <p>
He stated that Service Oriented Modeling and Architecture (<b>SOMA</b>) provides
an approach to building an SOA that aligns to the business goals. It helps customers
tie business processes to underlying applications to help the business realize benefits
more rapidly. However, the key differentiator for SOMA is where the discussion starts.
It's with the business problem.
</p>
        <p>
He makes a few quoteworthy notes worth repeating:
</p>
        <ol>
          <li>
            <font color="#006400">
              <em>"...businesses need better visibility into their business
processes. Breaking the business down into component view -- from a discrete process
or the business processes supporting the entire enterprise -- is critical to achieving
business improvement and growth..."</em>
            </font>
          </li>
          <li>
            <font color="#006400">
              <em>"...Business process modeling will map out a companies'
business processes and help determine which business processes provide strategic differentiation
over competitors, what processes are core and what business processes may not be considered
strategic..."</em>
            </font>
          </li>
          <li>
            <font color="#006400">
              <em>"...Once the business process change or enhancement aimed
at growth has been identified, the technology conversation can now begin..."</em>
            </font>
          </li>
          <li>
            <font color="#006400">
              <em>"...Customers need to approach building an SOA based on
the needs of the business. A detailed identification and prioritization of services
that a business needs to develop or expose to support improved business processes
must be developed..."</em>
            </font>
          </li>
          <li>
            <font color="#006400">
              <em>"...Evolving an SOA across the enterprise frees up IT resources
and helps to ensure that investments in technology are focused on core capabilities
aimed at growing the business..."</em>
            </font>
          </li>
          <li>
            <em>
              <font color="#006400">"...An SOA is a roadmap. It's a means to an end. What they
are demanding is flexibility..."</font>
            </em>
          </li>
        </ol>
        <p>
Like what I have always been saying in my presentation and consulting rounds, and
many-a-times conflicting to what a lot of people believe, when what they all
want is just to implement XML and SOAP Services OR to be seen jumping on the
SO(A) bandwagon so to look and seen to be in-tune with the times. Sometimes,
people think they are implementing a SO(A) when all they are doing is just implement
a SOAP interface to their data-element-layer. In other words, this isn't any
different from implementing an n-tier architecture.
</p>
        <p>
--- The goal of every business should be to build an <strong><em>agile</em></strong> business
system framework to better adapt itself to its ever-changing business environments;
And like what Mike mentioned in point [6] above, an SO(A) is the current best approach
to build that <strong><em>agility</em></strong>.
</p>
        <img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=c8988021-3ee2-4f4f-af5d-5ca4a09b802d" />
        <br />
        <hr />
© William Tay 2012 | Swinging Technologist 
<br /><a href="http://www.softwaremaker.net/blog">http://www.softwaremaker.net/blog</a></body>
      <title>Michael Liebow questions customers' need for SO(A) </title>
      <guid isPermaLink="false">http://www.softwaremaker.net/blog/PermaLink,guid,c8988021-3ee2-4f4f-af5d-5ca4a09b802d.aspx</guid>
      <link>http://www.softwaremaker.net/blog/MichaelLiebowQuestionsCustomersNeedForSOA.aspx</link>
      <pubDate>Mon, 07 Feb 2005 15:51:27 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.webservices.org/index.php/ws/content/view/full/50093" target=_blank&gt;Michael
Liebow&lt;/a&gt;, VP of Web Services at&amp;nbsp;IBM Global Services has a great &lt;a href="http://www.webservices.org/index.php/ws/content/view/full/53909" target=_blank&gt;entry&lt;/a&gt; on
his weblog where he asked if "&lt;em&gt;&lt;font color=#ff0000&gt;Customers really want an SOA&lt;/font&gt;&lt;/em&gt;".
This is really a great post and I couldnt agree more.
&lt;/p&gt;
&lt;p&gt;
He&amp;nbsp;stated that Service Oriented Modeling and Architecture (&lt;b&gt;SOMA&lt;/b&gt;) provides
an approach to building an SOA that aligns to the business goals. It helps customers
tie business processes to underlying applications to help the business realize benefits
more rapidly. However, the key differentiator for SOMA is where the discussion starts.
It's with the business problem.
&lt;/p&gt;
&lt;p&gt;
He makes a few quoteworthy notes worth repeating:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;font color=#006400&gt;&lt;em&gt;"...businesses need better visibility into their business
processes. Breaking the business down into component view -- from a discrete process
or the business processes supporting the entire enterprise -- is critical to achieving
business improvement and growth..."&lt;/em&gt; &lt;/font&gt; 
&lt;li&gt;
&lt;font color=#006400&gt;&lt;em&gt;"...Business process modeling will map out a companies' business
processes and help determine which business processes provide strategic differentiation
over competitors, what processes are core and what business processes may not be considered
strategic..."&lt;/em&gt; &lt;/font&gt; 
&lt;li&gt;
&lt;font color=#006400&gt;&lt;em&gt;"...Once the business process change or enhancement aimed
at growth has been identified, the technology conversation can now begin..."&lt;/em&gt; &lt;/font&gt; 
&lt;li&gt;
&lt;font color=#006400&gt;&lt;em&gt;"...Customers need to approach building an SOA based on the
needs of the business. A detailed identification and prioritization of services that
a business needs to develop or expose to support improved business processes must
be developed..."&lt;/em&gt; &lt;/font&gt; 
&lt;li&gt;
&lt;font color=#006400&gt;&lt;em&gt;"...Evolving an SOA across the enterprise frees up IT resources
and helps to ensure that investments in technology are focused on core capabilities
aimed at growing the business..."&lt;/em&gt; &lt;/font&gt; 
&lt;li&gt;
&lt;em&gt;&lt;font color=#006400&gt;"...An SOA is a roadmap. It's a means to an end. What they
are demanding is flexibility..."&lt;/font&gt;&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Like what I have always been saying in my presentation and consulting rounds, and
many-a-times conflicting to what a lot of people believe, when what&amp;nbsp;they all
want is just to implement XML and SOAP Services&amp;nbsp;OR to be seen jumping on the
SO(A) bandwagon so to look&amp;nbsp;and seen to be in-tune with the times. Sometimes,
people think they are implementing&amp;nbsp;a SO(A) when all they are doing is just implement
a SOAP interface&amp;nbsp;to their data-element-layer. In other words, this isn't any
different from implementing an n-tier architecture.
&lt;/p&gt;
&lt;p&gt;
--- The goal of every business should be to build an &lt;strong&gt;&lt;em&gt;agile&lt;/em&gt;&lt;/strong&gt;&amp;nbsp;business
system framework to better adapt itself to&amp;nbsp;its ever-changing business environments;
And like what Mike mentioned in point [6] above, an SO(A) is the current best approach
to build that &lt;strong&gt;&lt;em&gt;agility&lt;/em&gt;&lt;/strong&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=c8988021-3ee2-4f4f-af5d-5ca4a09b802d" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
© William Tay 2012 | Swinging Technologist 
&lt;br /&gt;
&lt;a href="http://www.softwaremaker.net/blog"&gt;http://www.softwaremaker.net/blog&lt;/a&gt;</description>
      <category>Service-Orientation</category>
    </item>
    <item>
      <trackback:ping>http://www.softwaremaker.net/blog/Trackback.aspx?guid=0addacde-3722-4925-a793-b5c72bfd392a</trackback:ping>
      <pingback:server>http://www.softwaremaker.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.softwaremaker.net/blog/PermaLink,guid,0addacde-3722-4925-a793-b5c72bfd392a.aspx</pingback:target>
      <dc:creator>William Tay</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Mike Champion has a great post <a href="http://weblogs.asp.net/mikechampion/archive/2004/12/28/338998.aspx" target="_blank">here</a> on
the overheads of XML.
</p>
        <p>
IMHO, I think a binary representation of XML brings on a whole different set of issues,
namely removing the abstraction it is supposed to represent.
</p>
        <p>
On a slightly different perspective and from a designing front, I have been advocating
against the use of XML in all layers of a enterprise application esp. when tightly
bound object technology is much more desired. In my presentations on SO(A), I have
always preach on best using service-messaging as communication b/w applications, NOT
between tiers of an application.
</p>
        <p>
However, many businesses are using XML Services as a communication mechanism JUST
SO they can be seen as implementing an SO(A)... and of course, for all the wrong reasons.
</p>
        <p>
Hence, many of them complain when performance suffers.
</p>
        <p>
What do they expect when they are making verbose, chatty calls to their own Data
Access Layer via SOAP ?
</p>
        <img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=0addacde-3722-4925-a793-b5c72bfd392a" />
        <br />
        <hr />
© William Tay 2012 | Swinging Technologist 
<br /><a href="http://www.softwaremaker.net/blog">http://www.softwaremaker.net/blog</a></body>
      <title>XML and Overheads</title>
      <guid isPermaLink="false">http://www.softwaremaker.net/blog/PermaLink,guid,0addacde-3722-4925-a793-b5c72bfd392a.aspx</guid>
      <link>http://www.softwaremaker.net/blog/XMLAndOverheads.aspx</link>
      <pubDate>Wed, 29 Dec 2004 12:23:13 GMT</pubDate>
      <description>&lt;p&gt;
Mike Champion has a great&amp;nbsp;post &lt;a href="http://weblogs.asp.net/mikechampion/archive/2004/12/28/338998.aspx" target=_blank&gt;here&lt;/a&gt;&amp;nbsp;on
the overheads of XML.
&lt;/p&gt;
&lt;p&gt;
IMHO, I think a binary representation of XML brings on a whole different set of issues,
namely removing the abstraction it is supposed to represent.
&lt;/p&gt;
&lt;p&gt;
On a slightly different perspective and from a designing front, I have been advocating
against the use of XML in all layers of a enterprise application esp. when tightly
bound object technology is much more desired. In my presentations on SO(A), I have
always preach on best using service-messaging as communication b/w applications, NOT
between tiers of an application.
&lt;/p&gt;
&lt;p&gt;
However, many businesses are using XML Services as a communication mechanism JUST
SO they can be seen as implementing an SO(A)... and of course, for all the wrong reasons.
&lt;/p&gt;
&lt;p&gt;
Hence, many of them complain when performance suffers.
&lt;/p&gt;
&lt;p&gt;
What do they expect when they are making verbose, chatty&amp;nbsp;calls to their own Data
Access Layer via SOAP ?
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=0addacde-3722-4925-a793-b5c72bfd392a" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
© William Tay 2012 | Swinging Technologist 
&lt;br /&gt;
&lt;a href="http://www.softwaremaker.net/blog"&gt;http://www.softwaremaker.net/blog&lt;/a&gt;</description>
      <category>Service-Orientation;Software Architectures;XML Services</category>
    </item>
    <item>
      <trackback:ping>http://www.softwaremaker.net/blog/Trackback.aspx?guid=b01ff393-28f1-4c66-b527-6c8a1a26cfad</trackback:ping>
      <pingback:server>http://www.softwaremaker.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.softwaremaker.net/blog/PermaLink,guid,b01ff393-28f1-4c66-b527-6c8a1a26cfad.aspx</pingback:target>
      <dc:creator>William Tay</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I have noticed Rich Salz's absence for a rather long time and he comes back to
give <a href="http://www.w3.org/TR/wsdl20/" target="_blank">WSDL 2.0</a> a <a href="http://www.xml.com/pub/a/2004/11/17/salz.html" target="_blank">kick
in the head</a>.
</p>
        <p>
Looks like I have to reserve my comments until I read through those specs.
</p>
        <p>
Frankly though, I am rather disappointed with the handling of the later XML Services
Specs by W3C and this is not just the beef I have to pick with W3C.
</p>
        <p>
W3C's definition of SOA goes like this:
</p>
        <p>
          <strong>“A set of components which can be invoked and whose interface descriptions
can be published and discovered”</strong>
        </p>
        <p>
Hell, why not they just say its XML Web Services ? This is just a plain crappy, poorly
thought of definition.
</p>
        <p>
And it contributes to all the market <em><strong>mis</strong></em>-definitions of
_SO(A)_ where the terms SO(A) and XML Web Services, although tightly-linked, are NOT <strong>synonymous.</strong></p>
        <img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=b01ff393-28f1-4c66-b527-6c8a1a26cfad" />
        <br />
        <hr />
© William Tay 2012 | Swinging Technologist 
<br /><a href="http://www.softwaremaker.net/blog">http://www.softwaremaker.net/blog</a></body>
      <title>Giving WSDL 2.0 a whooping</title>
      <guid isPermaLink="false">http://www.softwaremaker.net/blog/PermaLink,guid,b01ff393-28f1-4c66-b527-6c8a1a26cfad.aspx</guid>
      <link>http://www.softwaremaker.net/blog/GivingWSDL20AWhooping.aspx</link>
      <pubDate>Sun, 21 Nov 2004 07:48:41 GMT</pubDate>
      <description>&lt;p&gt;
I have noticed Rich Salz's absence&amp;nbsp;for a rather long time and he comes back to
give &lt;a href="http://www.w3.org/TR/wsdl20/" target=_blank&gt;WSDL 2.0&lt;/a&gt; a &lt;a href="http://www.xml.com/pub/a/2004/11/17/salz.html" target=_blank&gt;kick
in the head&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Looks like I have to reserve my comments until I read through those specs.
&lt;/p&gt;
&lt;p&gt;
Frankly though, I am rather disappointed with the handling of the later XML Services
Specs by W3C and this is not just the beef I have to pick with W3C.
&lt;/p&gt;
&lt;p&gt;
W3C's definition of SOA goes like this:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&amp;#8220;A set of components which can be invoked and whose interface descriptions
can be published and discovered&amp;#8221;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Hell, why not they just say its XML Web Services ? This is just a plain crappy, poorly
thought of definition.
&lt;/p&gt;
&lt;p&gt;
And it contributes to all the market &lt;em&gt;&lt;strong&gt;mis&lt;/strong&gt;&lt;/em&gt;-definitions of
_SO(A)_ where the terms SO(A) and XML Web Services, although tightly-linked, are NOT &lt;strong&gt;synonymous.&lt;/strong&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=b01ff393-28f1-4c66-b527-6c8a1a26cfad" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
© William Tay 2012 | Swinging Technologist 
&lt;br /&gt;
&lt;a href="http://www.softwaremaker.net/blog"&gt;http://www.softwaremaker.net/blog&lt;/a&gt;</description>
      <category>Service-Orientation;WS-Splat Specs;XML Services</category>
    </item>
    <item>
      <trackback:ping>http://www.softwaremaker.net/blog/Trackback.aspx?guid=df9ebacd-895b-46c2-a7c9-13ac3fecf9f6</trackback:ping>
      <pingback:server>http://www.softwaremaker.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.softwaremaker.net/blog/PermaLink,guid,df9ebacd-895b-46c2-a7c9-13ac3fecf9f6.aspx</pingback:target>
      <dc:creator>William Tay</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
While a lot of people have been caught up with the recent advancements of Web Services
Standards of <a href="http://www.ws-i.org" target="_blank" title="Web Services Interoperability Organization">WS-I</a>, <a href="http://www.oasis-open.org" target="_blank">OASIS</a>, <a href="http://www.w3.org/" target="_blank">W3C</a> (the
advanced communication standard protocols, the framework, etc), that is just the tip
of the Web Services iceberg.
</p>
        <p>
Once (not if) XML Web Services becomes the de-facto standards for cross
domain communication for enterprise mission-critical connected distributed systems
(EMCCDS) in the future, the focus <em><strong>will be</strong></em> on the IT Infrastructure.
Why ? Well, someone or something has to keep it up and make sure it stays running
;) Messages of Service-Orientation are supposed to be self-contained and independent
so the BUS must be there to make sure the dispatch doesnt fail.
</p>
        <p>
Infrastructure-level Web services are XML services that implement part of the
distributed computing infrastructure. They support other Web services communicate
with each other. In particular, these <strong><em>robust</em></strong> services (<em>and
not necessarily WEB Services in any way</em>) are the ones that makes or breaks the
communication framework. They provide such functionality as:
</p>
        <ul>
          <li>
            <em>
              <font color="#000080">
                <strong>Provisioning</strong>
              </font>
            </em>
          </li>
          <li>
            <em>
              <font color="#000080">
                <strong>Performance Managment</strong> (Message Payload,
Response Time, etc) </font>
            </em>
          </li>
          <li>
            <em>
              <font color="#000080">
                <strong>Operational Management</strong>
              </font>
            </em>
          </li>
          <li>
            <em>
              <font color="#000080">
                <strong>Usage Metering</strong>
              </font>
            </em>
          </li>
          <li>
            <em>
              <font color="#000080">
                <strong>Billing and Payments</strong>
              </font>
            </em>
          </li>
          <li>
            <em>
              <font color="#000080">
                <strong>Routing</strong> (XML-Aware HW Appliances such
as Routers and Firewalls, SW Routers) </font>
            </em>
          </li>
          <li>
            <em>
              <font color="#000080">
                <strong>Orchestration</strong> (Workflows, Business Processes,
etc) </font>
            </em>
          </li>
          <li>
            <em>
              <font color="#000080">
                <strong>Advertisement and Discovery</strong> (WS-Discovery
is key) </font>
            </em>
          </li>
          <li>
            <em>
              <font color="#000080">
                <strong>Caching</strong> (Implementing different techniques
and patterns for Caching, etc) </font>
            </em>
          </li>
          <li>
            <em>
              <font color="#000080">
                <strong>Queuing</strong> (For added Reliability) </font>
            </em>
          </li>
          <li>
            <em>
              <font color="#000080">
                <strong>State Management and Persistence</strong> (Transactional,
2-Phase Committ, Co-ordination, etc)</font>
            </em>
          </li>
        </ul>
        <p>
To understand this a bit further, now with more of a federated approach to services,
there will be more applications and servers to enable the use of Identity Management,
Authorization, Directory and other shared services. What follows next are supporting
services and application hookups. Supporting services are especially important in
crowded IT environments. “Retrofitting” has to be considered to improve
extensibility (afterall, much money has been sunk in to create standards-based interfaces
to reusable code). This puts further weight on the current infrastructure. Connectivity
is very vital here as monolithic solutions are being <a href="http://www.thefreedictionary.com/cleave" target="_blank">cleaved</a> apart
to form intelligent shared services, then <a href="http://www.thefreedictionary.com/cleave" target="_blank">cleaved</a> together
again via connections to form a logical virtual composite system.
</p>
        <p>
Very importantly, all these are very much tied to <strong><em><font color="#000080">Service
Level Agreements (SLAs)</font></em></strong> and <strong><em><font color="#000080">Quality
of Service (QoS)</font></em></strong> which will form the basis of the <strong><em><font color="#000080">business
returns and implications of Web Services in Service-Orientation</font></em></strong>.
</p>
        <p>
          <a href="http://www.burtongroup.com/weblogs/annethomasmanes/" target="_blank">Anne
Thomas Manes</a>, one the leading thought thinkers on Web Services, has an article
that talks about Infrastructure Level Web Services <a href="http://www.sys-con.com/webservices/articleprint.cfm?id=627" target="_blank">here</a>.
</p>
        <p>
I am presently head-down and knee-deep working on writing a white paper that explains
how XML Services and Service-Orientation will eventually empower the IT
Infrastructure and some of the design considerations as we move forward to greater
adoption of messaging-based solutions in the EMCCDS.<br /></p>
        <img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=df9ebacd-895b-46c2-a7c9-13ac3fecf9f6" />
        <br />
        <hr />
© William Tay 2012 | Swinging Technologist 
<br /><a href="http://www.softwaremaker.net/blog">http://www.softwaremaker.net/blog</a></body>
      <title>Service Orientation == Empowerment of the IT Infrastructure</title>
      <guid isPermaLink="false">http://www.softwaremaker.net/blog/PermaLink,guid,df9ebacd-895b-46c2-a7c9-13ac3fecf9f6.aspx</guid>
      <link>http://www.softwaremaker.net/blog/ServiceOrientationEmpowermentOfTheITInfrastructure.aspx</link>
      <pubDate>Thu, 04 Nov 2004 01:20:27 GMT</pubDate>
      <description>&lt;p&gt;
While a lot of people have been caught up with the recent advancements of Web Services
Standards of &lt;a href="http://www.ws-i.org" target="_blank" title="Web Services Interoperability Organization"&gt;WS-I&lt;/a&gt;, &lt;a href="http://www.oasis-open.org" target="_blank"&gt;OASIS&lt;/a&gt;, &lt;a href="http://www.w3.org/" target="_blank"&gt;W3C&lt;/a&gt; (the
advanced communication standard protocols, the framework, etc), that is just the tip
of the Web Services iceberg.
&lt;/p&gt;
&lt;p&gt;
Once (not if)&amp;nbsp;XML Web&amp;nbsp;Services becomes the de-facto standards for cross
domain communication for enterprise mission-critical connected distributed&amp;nbsp;systems
(EMCCDS) in the future, the focus &lt;em&gt;&lt;strong&gt;will be&lt;/strong&gt;&lt;/em&gt; on the IT Infrastructure.
Why ? Well, someone or something has to keep it up and make sure it stays running
;) Messages of Service-Orientation are supposed to be self-contained and independent
so the BUS must be there to make sure the dispatch doesnt fail.
&lt;/p&gt;
&lt;p&gt;
Infrastructure-level Web services are&amp;nbsp;XML services that implement part of the
distributed computing infrastructure. They&amp;nbsp;support other Web services communicate
with each other. In particular, these &lt;strong&gt;&lt;em&gt;robust&lt;/em&gt;&lt;/strong&gt; services&amp;nbsp;(&lt;em&gt;and
not necessarily WEB Services in any way&lt;/em&gt;) are the ones that makes or breaks the
communication framework. They provide such functionality as:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;&lt;font color=#000080&gt;&lt;strong&gt;Provisioning&lt;/strong&gt; &lt;/font&gt;&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;&lt;font color=#000080&gt;&lt;strong&gt;Performance Managment&lt;/strong&gt; (Message Payload, Response
Time, etc) &lt;/font&gt;&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;&lt;font color=#000080&gt;&lt;strong&gt;Operational Management&lt;/strong&gt; &lt;/font&gt;&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;&lt;font color=#000080&gt;&lt;strong&gt;Usage Metering&lt;/strong&gt; &lt;/font&gt;&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;&lt;font color=#000080&gt;&lt;strong&gt;Billing and Payments&lt;/strong&gt; &lt;/font&gt;&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;&lt;font color=#000080&gt;&lt;strong&gt;Routing&lt;/strong&gt;&amp;nbsp;(XML-Aware HW Appliances such
as Routers and Firewalls, SW Routers) &lt;/font&gt;&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;&lt;font color=#000080&gt;&lt;strong&gt;Orchestration&lt;/strong&gt; (Workflows, Business Processes,
etc) &lt;/font&gt;&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;&lt;font color=#000080&gt;&lt;strong&gt;Advertisement and Discovery&lt;/strong&gt; (WS-Discovery
is key) &lt;/font&gt;&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;&lt;font color=#000080&gt;&lt;strong&gt;Caching&lt;/strong&gt; (Implementing different techniques
and patterns for Caching, etc) &lt;/font&gt;&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;&lt;font color=#000080&gt;&lt;strong&gt;Queuing&lt;/strong&gt; (For added Reliability) &lt;/font&gt;&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;&lt;font color=#000080&gt;&lt;strong&gt;State Management and Persistence&lt;/strong&gt; (Transactional,
2-Phase Committ, Co-ordination, etc)&lt;/font&gt;&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
To understand this a bit further,&amp;nbsp;now with more of a federated approach to services,
there will be more&amp;nbsp;applications and servers to enable the use of Identity Management,
Authorization, Directory and other shared services. What follows next are supporting
services and application hookups. Supporting services are especially important in
crowded IT environments. &amp;#8220;Retrofitting&amp;#8221; has to be considered to improve
extensibility (afterall, much money has been sunk in to create standards-based interfaces
to reusable code). This puts further weight on the current infrastructure. Connectivity
is very vital here as monolithic solutions are being &lt;a href="http://www.thefreedictionary.com/cleave" target=_blank&gt;cleaved&lt;/a&gt; apart
to form intelligent shared services, then &lt;a href="http://www.thefreedictionary.com/cleave" target=_blank&gt;cleaved&lt;/a&gt; together
again via connections to form a logical virtual composite system.
&lt;/p&gt;
&lt;p&gt;
Very importantly, all these are very much tied to &lt;strong&gt;&lt;em&gt;&lt;font color=#000080&gt;Service
Level Agreements (SLAs)&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;&lt;font color=#000080&gt;Quality
of Service (QoS)&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; which will form the basis of the &lt;strong&gt;&lt;em&gt;&lt;font color=#000080&gt;business
returns and implications of Web Services in Service-Orientation&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.burtongroup.com/weblogs/annethomasmanes/" target=_blank&gt;Anne Thomas
Manes&lt;/a&gt;, one the leading thought thinkers on Web Services, has an article that talks
about Infrastructure Level Web Services &lt;a href="http://www.sys-con.com/webservices/articleprint.cfm?id=627" target=_blank&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
I am presently head-down and knee-deep working on writing a white paper that explains
how&amp;nbsp;XML Services&amp;nbsp;and Service-Orientation will eventually empower the IT
Infrastructure and some of the design considerations as we move forward to greater
adoption of&amp;nbsp;messaging-based solutions&amp;nbsp;in the EMCCDS.&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=df9ebacd-895b-46c2-a7c9-13ac3fecf9f6" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
© William Tay 2012 | Swinging Technologist 
&lt;br /&gt;
&lt;a href="http://www.softwaremaker.net/blog"&gt;http://www.softwaremaker.net/blog&lt;/a&gt;</description>
      <category>Service-Orientation;Software Architectures;XML Services</category>
    </item>
    <item>
      <trackback:ping>http://www.softwaremaker.net/blog/Trackback.aspx?guid=c13cb1ca-e0d3-4859-ab1d-434442b63496</trackback:ping>
      <pingback:server>http://www.softwaremaker.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.softwaremaker.net/blog/PermaLink,guid,c13cb1ca-e0d3-4859-ab1d-434442b63496.aspx</pingback:target>
      <dc:creator>William Tay</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://dotnetjunkies.com/WebLog/softwaremaker/category/1370.aspx" target="_blank">My
previous blogs on Service-Orientation</a>
        </p>
        <img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=c13cb1ca-e0d3-4859-ab1d-434442b63496" />
        <br />
        <hr />
© William Tay 2012 | Swinging Technologist 
<br /><a href="http://www.softwaremaker.net/blog">http://www.softwaremaker.net/blog</a></body>
      <title>Previously, on Softwaremaker - Service-Orientation</title>
      <guid isPermaLink="false">http://www.softwaremaker.net/blog/PermaLink,guid,c13cb1ca-e0d3-4859-ab1d-434442b63496.aspx</guid>
      <link>http://www.softwaremaker.net/blog/PreviouslyOnSoftwaremakerServiceOrientation.aspx</link>
      <pubDate>Fri, 29 Oct 2004 15:16:24 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href=http://dotnetjunkies.com/WebLog/softwaremaker/category/1370.aspx target="_blank"&gt;My
previous blogs on Service-Orientation&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/aggbug.ashx?id=c13cb1ca-e0d3-4859-ab1d-434442b63496" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
© William Tay 2012 | Swinging Technologist 
&lt;br /&gt;
&lt;a href="http://www.softwaremaker.net/blog"&gt;http://www.softwaremaker.net/blog&lt;/a&gt;</description>
      <category>Service-Orientation</category>
    </item>
  </channel>
</rss>