<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>createTank &#187; Software Development</title>
	<atom:link href="http://createtank.com/category/software-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://createtank.com</link>
	<description></description>
	<lastBuildDate>Thu, 28 Jan 2010 13:10:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A Web Service Description for REST</title>
		<link>http://createtank.com/2009/02/a-web-service-description-for-rest/</link>
		<comments>http://createtank.com/2009/02/a-web-service-description-for-rest/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 21:49:28 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://createtank.com/2009/02/09/a-web-service-description-for-rest/</guid>
		<description><![CDATA[Much has been written concerning the need for a description language for REST based web services.  Much of the writing has assumed that REST does not have a defined description language.  Much of the discussion has revolved around REST&#8217;s proponents assertions that the request query parameters are the themselves the description.  Some have also noted [...]]]></description>
			<content:encoded><![CDATA[<p>Much has been written concerning the need for a description language for REST based web services.  Much of the writing has assumed that REST does not have a defined description language.  Much of the discussion has revolved around REST&#8217;s proponents assertions that the request query parameters are the themselves the description.  Some have also noted WADL as a possible solution.</p>
<p><strong>The HTML Form is The Answer<br />
</strong></p>
<p>I assert that REST already has a full web service description language built into it in the <strong>HTML Form</strong>.  In the most normal of cases, that of human web browsing itself, the HTML Form is already used in a manner declaring the exact parameters to be passed and matching the parameter to its user defined, dynamic value.  The HTML Form provides a standardized format to the definition of what query parameters are required for a given service.  For though the query parameters may be said to be self descriptive (REST proponents typically assert this, and SOAP advocates cite this as an argument against REST), without an HTML Form, a user or client will have no prior insight into the full set of parameters required or optional to invoke the service.  The HTML Form as RESTful service descriptor adheres to the text of the <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm" target="_blank">Fielding REST definition</a> itself, where hyperlinks provide the “engine of application state.”  The HTML Form <em>action</em> parameter provides the hyperlink required to direct the transfer of state from the client to the service.</p>
<p>As for the common desire to automatically generate a service from a given HTML Form, taken as a web service description, we should look no further than the myriad of CGI languages and frameworks available, from Perl to C to Java to .NET to Struts and more, all of which provide to the developer a simple key/value pair for everything passed in the request.</p>
<p><strong>WADL is Not the Solution</strong></p>
<p>Why don&#8217;t I see WADL as a solution?  Because it assumes that the typical SOAP implementation of code/class generation and the corresponding marshalling and unmarshalling is what is wanted or needed.  I would assert that the reason that the number of RESTful web services implementations is growing and the reason that the web itself has been so successful is that RESTful services (or web pages themselves) are very simple and very scalable.  Simple in a way that WSDL, WADL, or any other heavy description language will never be.  Scalable by default in a way for which SOAP implementations must intentionally strive.</p>
<p><strong>XForms</strong></p>
<p>What about XML payloads then?  Well, you could of course declare an XML type for a parameter in an HTML Form, but that would not really meet the expectations of those that will otherwise develop SOAP based enterprise services, desiring a strongly typed description language.  The solution as it turns out is the successor to the HTML Form, <strong>XForms.</strong>  XForms provides a full MVC approach to web application or web service description.  An XForm can be represented as a simple HTML Form, or may take on much more complex capabilities, such as defining specific XML parameter types and sending XML directly to the server.  In this manner, XForms may be transformed to provide a human readable interface to a service, or may also be read by a machine in raw XML form to determine proper parameters and service location.</p>
<p>Concerning REST service descriptions:</p>
<ul>
<li><a href="http://www.infoq.com/news/2007/06/rest-description-language" target="_blank">Debate: Does REST Need a Description Language?<br />
</a></li>
<li><a href="http://microformats.org/wiki/rest/description">REST Service Description Conventions (RSDC)</a></li>
<li><a href="http://www.pacificspirit.com/blog/2005/09/29/criticism_of_complicated_specs_and_wsdl_20_rest_description">A discussion of the use of WSDL 2.0 to describe REST web services</a></li>
<li><a href="http://www.ibm.com/developerworks/webservices/library/ws-restwsdl/">Describe REST Web services with WSDL 2.0</a></li>
<li><a href="http://plasmasturm.org/log/460/">Does REST need a service description language? &#8211; [asserts that a WSDL like language is not needed for REST]</a></li>
<li><a href="http://www.infoq.com/news/2007/03/WADL">WADL REST API description language getting some attention</a></li>
<li><a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm" target="_blank">Representational State Transfer (REST) Architectural Style</a></li>
</ul>
<p>Concerning XForms:</p>
<ul>
<li><a href="http://www.w3.org/MarkUp/Forms/" target="_blank">W3C Forms Working Group</a></li>
<li><a href="http://www.w3.org/MarkUp/Forms/2003/xforms-faq.html" target="_blank">XForms FAQ</a></li>
<li><a href="http://xformsinstitute.com/essentials/browse/book.php" target="_blank">XForms Essentials</a></li>
<li><a href="http://www.w3schools.com/xforms/default.asp" target="_blank">XForms Tutorial</a></li>
</ul>
<p>Also interesting:</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/XForms#XForms_as_part_of_the_XRX_Application_Architecture" target="_blank"><span class="toctext">XForms as part of the XRX Application Architecture</span></a>  [Forms on the client, REST interfaces and XQuery on the server]</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2009/02/a-web-service-description-for-rest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When to use Solaris vs. Linux?</title>
		<link>http://createtank.com/2009/01/solaris-vs-linux/</link>
		<comments>http://createtank.com/2009/01/solaris-vs-linux/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 13:24:26 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://createtank.com/2009/01/14/solaris-vs-linux/</guid>
		<description><![CDATA[In When to use Solaris vs. Linux: Operating system comparison, I&#8217;d agree with a lot of the points made, particularly the wrap-up:
While I applaud Sun for getting on the bandwagon, and while it is true that imitation is the best form of flattery, I&#8217;m not sure if Sun might be a little too late to [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://searchenterpriselinux.techtarget.com/tip/0,289483,sid39_gci1343812,00.html?track=NL-306&amp;ad=682453&amp;asrc=EM_USC_5480868&amp;uid=6455863" target="_blank"><em>When to use Solaris vs. Linux: Operating system comparison</em></a>, I&#8217;d agree with a lot of the points made<span id="more-77"></span>, particularly the wrap-up:</p>
<blockquote><p>While I applaud Sun for getting on the bandwagon, and while it is true that imitation is the best form of flattery, I&#8217;m not sure if Sun might be a little too late to the dance. Linux just has too much momentum today, and trying to re invent Unix this way seems like a long-shot. Linux today is a real enterprise solution, used by almost all of corporate America, and the only OS that is actually growing in sales. On the one hand, while it is the hope of open system aficionados everywhere that this Sun venture succeeds, I&#8217;m not certain that as a company, Sun would have been smarter to stay with pure Solaris and their SPARC-based architecture and played to their strengths. This is what IBM has done around their System p architecture and it has served them very well in recent years. At the end of the day, you are what you are. <strong>I&#8217;m not certain that Sun really knows where they are today. </strong></p></blockquote>
<p>In my opinion, Sun&#8217;s objective has generally been to get or stay in various markets by competing with Linux as a presumably valuable open source option.  This has led to a seeming corporate schizophrenia at <a href="http://finance.google.com/finance?q=java">Sun</a>, with separate and aided missions to also sell proprietary hardware and a proprietary UNIX.  Sun has provided many great open products, yet has a lot of trouble relinquishing control.  Only recently have they decided that they loved Java and Solaris enough to really set them free.  They would probably be better off making OpenSolaris interoperable with Linux by kernel and user space contribution.  If Sun were to concentrate on providing better tools for Linux, we&#8217;d probably see a value added advantage for Sun, placing it in a good position for the future &#8212; If.</p>
<p>If you absolutely <em>have</em> to run Solaris I&#8217;d recommend OpenSolaris.  Otherwise and always, I&#8217;d recommend Linux (which distro would be up for debate), as Linux is the agile answer.  Linux is the answer that you will wish you had made in years to come, as everything will run on it, and it will run on everything.  Efficiency and optimization should not come into play, as next month&#8217;s hardware  will outpace tenfold the few and minor empirical differences in efficiency that can be argued for Solaris over Linux.</p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2009/01/solaris-vs-linux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Education of the Architect</title>
		<link>http://createtank.com/2009/01/the-education-of-the-architect/</link>
		<comments>http://createtank.com/2009/01/the-education-of-the-architect/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 12:20:42 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Career]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://createtank.com/2009/01/13/the-education-of-the-architect/</guid>
		<description><![CDATA[This is a little esoteric, but I believe in it fully&#8230;
In Vitruvius&#8217; Ten Book on Architecture, Chapter 1, The Education of the Architect, Vitruvius calls for a wide foundation of knowledge for the architect, including art, math, history, philosophy, music, and medicine.  That a good architect should strive for a breadth of applicable knowledge.
He also [...]]]></description>
			<content:encoded><![CDATA[<p>This is a little esoteric, but I believe in it fully&#8230;<span id="more-74"></span></p>
<p>In Vitruvius&#8217; <em>Ten Book on Architecture</em>, Chapter <span>1, <a href="http://www.gutenberg.org/files/20239/20239-h/29239-h.htm#Page_5" target="_blank">The Education of the Architect</a>, Vitruvius calls for a wide foundation of knowledge for the architect, including art, math, history, philosophy, music, and medicine.  That a good architect should strive for a breadth of applicable knowledge.</span></p>
<p>He also points out the usefulness of understanding the nature of practice and theory in all of these subjects, that a balance should be maintained.</p>
<p style="margin-left: 40px"><em>2. It follows, therefore, that architects who have aimed at acquiring manual skill without scholarship have never been able to reach a position of authority to correspond to their pains, while those who relied only upon theories and scholarship were obviously hunting the shadow, not the substance. But those who have a thorough knowledge of both, like men armed at all points, have the sooner attained their object and carried authority with them.</em></p>
<p><span>I would argue that the same logic is very well applied to our occupation today, in that over-specialization is not particularly suited to success.  That is, EA practitioners are IMHO better as generalists, with a breadth of knowledge, both technical, and non-technical.</span></p>
<p>For my part, I typically look for experience and success in the following areas:</p>
<ul>
<li><span>business (corporate and entrepreneurial)</span></li>
<li><span>software development (multiple languages and types [OO, functional])</span></li>
<li><span>systems administration</span></li>
<li><span>creativity and problem solving skills<br />
</span></li>
<li><span>engineering<br />
</span></li>
<li><span>open source</span></li>
<li><span>open standards</span></li>
<li><span>development methodology<br />
</span></li>
<li><span>Unix/Linux<br />
</span></li>
<li><span>marketing</span></li>
<li><span>writing</span></li>
<li><span>speaking/presenting</span></li>
<li><span>more&#8230;<br />
</span></li>
</ul>
<p><span>In the real world, I see too many architects relying upon theory alone (</span><span><em>hunting the shadow</em> as it were)</span><span>, create problems for themselves and their teams.  For this reason, I&#8217;m a big fan of the people at <a href="http://www.codingthearchitecture.com/" target="_blank">CodingTheArchitecture</a>.</span></p>
<p><em>Ten Books on Architecture</em> from Project Gutenberg:<br />
<a href="http://www.gutenberg.org/files/20239/20239-h/29239-h.htm" target="_blank">http://www.gutenberg.org/<wbr></wbr>files/20239/20239-h/29239-h.<wbr></wbr>htm</a></p>
<p><em>Originally Posted by john joseph roets at <a href="http://groups.google.com/group/the-enterprise-architecture-network?hl=en" target="_blank">the-enterprise-architecture-network</a> Google group, an example of reuse in writing.</em></p>
<p>Post in complete context here:<br />
<a href="http://tinyurl.com/a8w5tk" target="_blank">http://tinyurl.com/a8w5tk</a></p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2009/01/the-education-of-the-architect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developer Games</title>
		<link>http://createtank.com/2008/12/developer-games/</link>
		<comments>http://createtank.com/2008/12/developer-games/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 15:53:17 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://createtank.com/2008/12/31/developer-games/</guid>
		<description><![CDATA[Some descriptions of games to add incentive to development team activity&#8230;We look to use a variation of these within createTank soon.

The Development Game (Dr. Dobbs)
The Continuous Integration Build Game (JDJ)
The Continuous Integration Build Game Hudson Plugin

]]></description>
			<content:encoded><![CDATA[<p>Some descriptions of games to add incentive to development team activity&#8230;<span id="more-68"></span>We look to use a variation of these within createTank soon.</p>
<ul>
<li><a href="http://hudson.gotdns.com/wiki/display/HUDSON/The+Continuous+Integration+Game+plugin" target="_blank">The Development Game (Dr. Dobbs)</a></li>
<li><a href="http://hudson.gotdns.com/wiki/display/HUDSON/The+Continuous+Integration+Game+plugin" target="_blank">The Continuous Integration Build Game (JDJ)</a></li>
<li><a href="http://hudson.gotdns.com/wiki/display/HUDSON/The+Continuous+Integration+Game+plugin" target="_blank">The Continuous Integration Build Game Hudson Plugin</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2008/12/developer-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Correcting Latency Problems with Java Real Time System (JRTS)</title>
		<link>http://createtank.com/2008/12/correcting-latency-problems-with-java-real-time-system-jrts/</link>
		<comments>http://createtank.com/2008/12/correcting-latency-problems-with-java-real-time-system-jrts/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 05:03:46 +0000</pubDate>
		<dc:creator>createtank</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://createtank.com/2008/12/23/correcting-latency-problems-with-java-real-time-system-jrts/</guid>
		<description><![CDATA[Great article about a proof of concept effort with the real-time JVM&#8230;
Real-time JVM PoC
]]></description>
			<content:encoded><![CDATA[<p>Great article about a proof of concept effort with the real-time JVM&#8230;<br />
<a href="http://blogs.sun.com/openomics/entry/java_real_time_gigaspaces" target="_blank">Real-time JVM PoC</a></p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2008/12/correcting-latency-problems-with-java-real-time-system-jrts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gloomy Forecast for IT Work Force?</title>
		<link>http://createtank.com/2007/09/deception/</link>
		<comments>http://createtank.com/2007/09/deception/#comments</comments>
		<pubDate>Wed, 26 Sep 2007 13:16:31 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://createtank.com/2007/09/26/gloomy-forecast-for-it-work-force-2/</guid>
		<description><![CDATA[eWeek serves up deception.
MS wants to downplay US developer/IT quality to make the case that they need more H1B workers, in order to:
1. Bring in workers of dubious quality
2. (And the real reason) to lower the market rate on US developer/IT workers.
The same holds true on MS arguments on security clearance requirements for US Govt. [...]]]></description>
			<content:encoded><![CDATA[<p>eWeek serves up <a href="http://www.eweek.com/article2/0%2C1895%2C2188796%2C00.asp" target="_blank">deception</a>.<span id="more-40"></span></p>
<p>MS wants to downplay US developer/IT quality to make the case that they <em>need</em> more H1B workers, in order to:<br />
1. Bring in workers of dubious quality<br />
2. (And the real reason) to lower the market rate on US developer/IT workers.</p>
<p>The same holds true on MS arguments on security clearance requirements for US Govt. work (MS is against).</p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2007/09/deception/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
