<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Jonathan's Pancheria: More on toolkits reducing impedance mismatch by working with raw XML</title>
    <link>http://blog.dotbot.net/articles/2005/12/09/more-on-toolkits-reducing-impedance-mismatch-by-working-with-raw-xml</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>dotcom Thousandaire</description>
    <item>
      <title>More on toolkits reducing impedance mismatch by working with raw XML</title>
      <description>&lt;p&gt;Earlier, I &lt;a href="http://blog.dotbot.net/articles/2005/11/03/succinct-description-of-what-is-wrong-with-web-services-that-do-hard-rpc"&gt;posted&lt;/a&gt; about how not forcing all access to web services to go through objects that were serialized into and back out of &lt;span class="caps"&gt;XML&lt;/span&gt; but instead were &lt;span class="caps"&gt;XML&lt;/span&gt; documents that were designed to stand on their own made it easier to implement both web services and web services clients.&lt;/p&gt;


	&lt;p&gt;Elliotte Rusty Harold sets out a nice short example of the nature of the problem.  He summarizes the problem nicely &lt;a href="http://cafe.elharo.com/xml/pleasesir/"&gt;in this quote&lt;/a&gt;&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&amp;#8220;don&amp;#8217;t &amp;#8220;help&amp;#8221; users out by changing &lt;span class="caps"&gt;XML&lt;/span&gt; into something else, especially not objects. Don&amp;#8217;t assume you know what they&amp;#8217;re going to want to do with the data. Give them the &lt;span class="caps"&gt;XML&lt;/span&gt; and let them use the classes and objects that fit their needs, not the ones that fit your needs. &lt;span class="caps"&gt;XML&lt;/span&gt; is exchangeable. Objects are not.&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;Again, for the record: if I work with your web service, you do not know what data, data structures, or code artifacts I will have in place to access your web service.  Please don&amp;#8217;t try to guess by forcing me through your view of how the software artifacts should look.  Let me figure out how to make the raw message, and how to interpret what you send back.  &lt;span class="caps"&gt;SOAP&lt;/span&gt; toolkits that closely map &lt;span class="caps"&gt;XML&lt;/span&gt; to particular language-specific data structure constructs and back make this hard.&lt;/p&gt;</description>
      <pubDate>Fri, 09 Dec 2005 19:47:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:ecacb7db-23a5-4f7c-9f9f-df6a0c70864e</guid>
      <author>Jonathan Altman</author>
      <link>http://blog.dotbot.net/articles/2005/12/09/more-on-toolkits-reducing-impedance-mismatch-by-working-with-raw-xml</link>
      <category>technical</category>
      <category>SOAP</category>
      <category>web</category>
      <category>services</category>
      <category>SOA</category>
      <category>document-passing</category>
      <category>REST</category>
      <category>POX</category>
      <category>advocacy</category>
    </item>
  </channel>
</rss>
