<?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; SOA</title>
	<atom:link href="http://createtank.com/category/soa/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>SOA Vendor Stack Analyses</title>
		<link>http://createtank.com/2009/02/soa-vendor-stack-analyses/</link>
		<comments>http://createtank.com/2009/02/soa-vendor-stack-analyses/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 20:12:41 +0000</pubDate>
		<dc:creator>createtank</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://createtank.com/2009/02/09/soa-vendor-stack-analyses/</guid>
		<description><![CDATA[createTank research posted at ZapThink LZA site.
http://lza.zapthink.com/2009/02/09/soa-vendor-stack-analyses/
Posted via email   from createTank Posterous
]]></description>
			<content:encoded><![CDATA[<p>createTank research posted at ZapThink LZA site.</p>
<p><a href="http://lza.zapthink.com/2009/02/09/soa-vendor-stack-analyses/">http://lza.zapthink.com/2009/02/09/soa-vendor-stack-analyses/</a></p>
<p><a href="http://posterous.com">Posted via email</a>   from <a href="http://createtank.posterous.com/soa-vendor-stack-analyses">createTank Posterous</a></p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2009/02/soa-vendor-stack-analyses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enterprise Mashup Challenges</title>
		<link>http://createtank.com/2009/02/enterprise-mashup-challenges/</link>
		<comments>http://createtank.com/2009/02/enterprise-mashup-challenges/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 19:56:21 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://createtank.com/2009/02/03/enterprise-mashup-challenges/</guid>
		<description><![CDATA[Great article here discussing the lack of mashups inside the enterprise, and comparisons of mashups to old-world spreadsheets as a tool of empowerment for the end user.
With or without the listed challenges resolved, we seem poised for rapid acceleration of mashups as REST APIs and &#8220;web sites as web services&#8221; concepts grow.  A real goal [...]]]></description>
			<content:encoded><![CDATA[<p>Great article here discussing the lack of mashups <em>inside </em>the enterprise, and comparisons of mashups to old-world spreadsheets as a tool of empowerment for the end user.</p>
<p>With or without the listed challenges resolved, we seem poised for rapid acceleration of mashups as REST APIs and &#8220;web sites as web services&#8221; concepts grow.  <strong>A real goal should be to implement services inside the enterprise to foster internal mashups</strong>.</p>
<p><strong><a href="http://blogs.zdnet.com/Hinchcliffe/?p=141 " target="_blank">The 10 top challenges facing enterprise mashups </a></strong></p>
<p><a href="http://" target="_blank"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2009/02/enterprise-mashup-challenges/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FOSS Integration Software Study</title>
		<link>http://createtank.com/2008/01/foss-integration-software-study/</link>
		<comments>http://createtank.com/2008/01/foss-integration-software-study/#comments</comments>
		<pubDate>Mon, 21 Jan 2008 00:07:22 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://createtank.com/2008/01/20/foss-integration-software-study/</guid>
		<description><![CDATA[In Can OSS Integration Server Software Enable EAI/BPM, Dennis Byron discusses whether open source software can compete in the integration server market.
Research has shown that often when cost is such an inhibitor, open source software   (OSS) can help&#8230;On the other hand, everyone agrees that BPM/EAI/integration   software is among the most complex [...]]]></description>
			<content:encoded><![CDATA[<p>In <em>Can OSS Integration Server Software Enable EAI/BPM</em>, Dennis Byron discusses whether open source software can compete in the integration server market.<span id="more-44"></span></p>
<blockquote><p>Research has shown that often when cost is such an inhibitor, open source software   (OSS) can help&#8230;On the other hand, everyone agrees that BPM/EAI/integration   software is among the most complex software developed and offered in the market.   Therefore—conventional wisdom says—it is no place for the OSS culture   and development model&#8230;Conventional wisdom is wrong again.</p></blockquote>
<p>createTank&#8217;s <em>elemenope</em> SOA framework is mentioned as one of the few FOSS competitors in the market area.</p>
<blockquote><p>The elemenope framework is a classic integration server based on both OSS terms    and conditions and OSS culture. It has been in development since 1999, almost    since the start of the integration server era, and it has also enabled a service-oriented    architecture (SOA) since before that term became popular.</p></blockquote>
<p>Worth a read&#8230;<br />
<strong>Can OSS Integration Server Software Enable EAI/BPM?</strong><br />
<a href="http://www.ebizq.net/hot_topics/open_source/features/8804.html" target="_blank">http://www.ebizq.net/hot_topics/open_source/features/8804.html</a><br />
(Requires free subscription)</p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2008/01/foss-integration-software-study/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SOA and Downsizing</title>
		<link>http://createtank.com/2007/09/soa-and-downsizing/</link>
		<comments>http://createtank.com/2007/09/soa-and-downsizing/#comments</comments>
		<pubDate>Wed, 05 Sep 2007 00:46:10 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://createtank.com/2007/09/04/soa-and-downsizing/</guid>
		<description><![CDATA[In Does SOA threaten developer jobs?, much is said about supposed concerns that developers now have over SOA adoption.
So, one might surmise that Jacquard Loom developers once felt insecure about the goings on in assembler and C development, and that C developers once lost sleep over OO and Java development.
So, supposedly, modern developers in general [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://searchwebservices.techtarget.com/originalContent/0,289142,sid26_gci1270595,00.html?track=NL-110&amp;ad=602060&amp;asrc=EM_NLN_2112149&amp;uid=6455863">Does SOA threaten developer jobs?</a>, much is said about supposed concerns that developers now have over SOA adoption.<span id="more-38"></span></p>
<p>So, one might surmise that Jacquard Loom developers once felt insecure about the goings on in assembler and C development, and that C developers once lost sleep over OO and Java development.</p>
<p>So, supposedly, modern developers in general are living in fear that enterprise SOA directives will take their job away?  Not likely feared.  Not likely true.</p>
<h3>Feared?</h3>
<p>If anything, developers are ready to make their systems more efficient and/or agile.  Only bad developers want to retain old disgusting decrepit code.  Only bad developers like to hamper the efforts of forward thinking change.  Don&#8217;t get me wrong, there are plenty of bad developers out there.  But in the long run, bad developers usually become testers, don&#8217;t they?   ;-P</p>
<h3>True?</h3>
<p>SOA is about business agility applied to IT productivity.  Downsizing development staff is about as likely as OO reuse once was.  If anything, IT staff will swell (and productivity with it).</p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2007/09/soa-and-downsizing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A bit about WADL (Revised)</title>
		<link>http://createtank.com/2007/08/a-bit-about-wadl/</link>
		<comments>http://createtank.com/2007/08/a-bit-about-wadl/#comments</comments>
		<pubDate>Thu, 23 Aug 2007 18:27:08 +0000</pubDate>
		<dc:creator>larry</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://createtank.com/2007/05/23/a-bit-about-wadl/</guid>
		<description><![CDATA[In today’s high-tech world there is a growing need to create a simpler way to describe web-based applications. In the past one would use a WSDL to describe such application. One competing project put forth from Sun is Web Application Description Language [WADL] (http://research.sun.com/techrep/2006/abstract-153.html).
From Sun:
WADL is designed to provide a machine processable protocol description format [...]]]></description>
			<content:encoded><![CDATA[<p>In today’s high-tech world there is a growing need to create a simpler way to describe web-based applications. In the past one would use a WSDL to describe such application. One competing project put forth from Sun is Web Application Description Language [WADL]<span id="more-27"></span> (<a href="http://research.sun.com/techrep/2006/abstract-153.html" title="http://research.sun.com/techrep/2006/abstract-153.html" target="_blank">http://research.sun.com/techrep/2006/abstract-153.html</a>).</p>
<p>From Sun:</p>
<blockquote><p>WADL is designed to provide a machine processable protocol description format for use with such HTTP-based Web applications, especially those using XML.</p></blockquote>
<p>A WADL file is an XML based language specification used to describe WEB-based applications.  These files define resources, methods, requests and responses. The WADL project (<a href="https://wadl.dev.java.net/" target="_blank">https://wadl.dev.java.net/</a>) houses the language specification as well as a wealth of other information including source code, examples and documentation.</p>
<h2>wadl2java Utility</h2>
<p>The WADL project also provides a Java utility called wadl2java. Wadl2java produces Java stubs from WADL files. The utility can be called directly from the command-line or as an Apache Ant task.  At first I was a little baffled over how this utility worked.  So, I decided to email the creator, Marc Hadley, with some questions.  I was pleasantly surprised that he answered my questions.  My concern was that wadl2java requires separate tasks and output directories for every WADL file.  I’m use to having all generated classes contained within the same directory.  Marc pointed out that even if he changed wadl2java to allow for this, the possibility still existed that a conflict could arise when two separate WADL files specified an XML element or attribute with the same name.  Whichever WADL file was processed last would generate a class that overwrote the preceding.  Wow, the light bulb went off, now I understood why it works the way it does.  This was a conscience design decision to avoid class-naming conflicts, thus the utility must place these files in separate directories. In other words, if you were creating an application that consumes the services of two separate applications described by their own WADL files, two separate ant tasks would be required to produce the class stubs. Three applications would require three ant tasks, and so on.  The generated stubs must be placed in independent output directories or the results from the second WADL would overwrite at least the end-point of the first WADL, as well as any other like-named classes. To avoid this, wadl2java has some built-in dependency checking that can be specified within the ant task.</p>
<h2>Areas for Improvement?</h2>
<p>Since the WADL project provides documentation I won’t go into details about the specification. However, I would like to point out a few areas that I found a bit confusing. When creating a WADL to describe an application, the ‘method’ reference has an ‘href’ attribute whose value must be prefixed with a pound ‘#’ sign. I see no practical reason for this requirement and would suspect that the WADL utilities can be programmed in such a manor to eliminate it. Additionally, the ‘href’ attribute actually is associated with the ‘id’ attribute of the ‘method’ definition such that the value of the ‘href’ attribute in the ‘method’ reference minus the pound ‘#’ sign refers to the value of the ‘id’ attribute in the ‘method’ definition. This is confusing because the labels used for these attributes are not consistent. Here I would suggest that both attributes be labeled the same. If it makes sense to use ‘href’ then both should be ‘href’. Otherwise, both should be ‘id’.<br />
Another confusing area is the ‘method’ definition’s ‘name’ attribute. A ‘name’ attribute is usually an attribute used to identify something and is similar in function to how the ‘id’ attribute is being used. However, is this case, the value of this attribute really refers to the HTTP method type used to access the application. I would suggest that the attribute be labeled as ‘type’ or something similar.</p>
<p>Finally, the use of a ‘description’ attribute within the wadl2java’s ant task concerns me.  This task uses the ‘description’ attribute to indicate the name of the WADL file one wishes to process. This is a little puzzling.  Most Ant tasks I’ve seen make use of a ‘description’ attribute to provide a means for adding comments or further information regarding the particular task being performed. Maybe a better label for such an attribute would be ‘file’.</p>
<h2>Overall&#8230;</h2>
<p>Generally the WADL specification and its related tools excite me. I would recommend its use to anyone seeking a simple yet powerful means to describe any WEB-based application.<br />
For more information about WADL please check out their site at <a href="https://wadl.dev.java.net/" target="_blank">https://wadl.dev.java.net/</a>.</p>
<p>Originally published May 23, 2007.</p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2007/08/a-bit-about-wadl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XML Processing on Appliance</title>
		<link>http://createtank.com/2007/08/xml-processing-appliance/</link>
		<comments>http://createtank.com/2007/08/xml-processing-appliance/#comments</comments>
		<pubDate>Wed, 01 Aug 2007 13:18:04 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://createtank.com/2007/08/01/xml-hardware-processing/</guid>
		<description><![CDATA[XML processing in hardware to boil down an XML doc for simpler binding to objects:
http://tinyurl.com/2syl99
Most importantly:
&#8220;We use an object binding framework,&#8221; he explained. &#8220;We use XSLT to
transform it in hardware. So when the XML comes in, all the validation,
all the business rules that are applied to it, all the transformations are
done, so we get a [...]]]></description>
			<content:encoded><![CDATA[<p>XML processing in hardware to boil down an XML doc for simpler binding to objects<span id="more-37"></span>:<br />
<a href="http://tinyurl.com/2syl99" target="_blank">http://tinyurl.com/2syl99</a></p>
<p>Most importantly:<br />
&#8220;We use an object binding framework,&#8221; he explained. &#8220;We use XSLT to<br />
transform it in hardware. So when the XML comes in, all the validation,<br />
all the business rules that are applied to it, all the transformations are<br />
done, so we get a clean XML that is exactly fitting the object that we<br />
want. So we can make one Java call, say un-marshal, and we have the<br />
object, lo and behold. We don&#8217;t have compiled classes. We have no mapping. Nothing.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2007/08/xml-processing-appliance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Technology and Architecture &#8211; Walls ARE Important</title>
		<link>http://createtank.com/2007/07/walls/</link>
		<comments>http://createtank.com/2007/07/walls/#comments</comments>
		<pubDate>Tue, 03 Jul 2007 11:39:46 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://createtank.com/2007/07/03/architecture-and-technology/</guid>
		<description><![CDATA[One of the first notations made in my notes from the ZapThink session (see Zapthink LZA Reviewed) was a subtle disagreement about the relationship between Architecture and Technology. ZapThink asserts that &#8220;Architecture is not about technology.&#8221; They paraphrase &#8220;physical&#8221;* architects stating that buildings are and should be designed &#8220;for the space.&#8221;
What the Classics Say
While this [...]]]></description>
			<content:encoded><![CDATA[<p>One of the first notations made in my notes from the ZapThink session<span id="more-30"></span> (see <a href="http://createtank.com/2007/05/24/zapthink-lza/">Zapthink LZA Reviewed</a>) was a subtle disagreement about the relationship between Architecture and Technology. ZapThink asserts that &#8220;Architecture is not about technology.&#8221; They paraphrase &#8220;physical&#8221;* architects stating that buildings are and should be designed &#8220;for the space.&#8221;</p>
<h2>What the Classics Say</h2>
<p>While this is not untrue, a review of classic architectural writings reveals a fuller and more enlightened perspective. In point of fact, Architecture is about the spaces <em>and</em> the structure <em>and</em> the foundation. Physical Architecture does in fact concern itself in no small manner with the structure and foundation of the building. Without a solid and proper foundation, even the best and most suitable &#8220;spaces-based&#8221; Architecture will fail. The spaces based viewpoint might come from the fact that in the world of physical Architecture, structures and foundations are usually a known quantity, as a great deal of experience has been recorded over the past few thousand years. However, whenever a new material or technology is introduced, inherent unknowns often produce failure. With this failure and its study comes further understanding.</p>
<p><!--more--></p>
<h2>Software Architecture</h2>
<p>In our world of software and systems Architecture, the foundation is the technology upon which one builds. Without an experienced based, solid foundation, even the best system will fail. Unfortunately, we do not have the advantage of thousands of years of direct experience to tap in our decisions of foundation and structure as do the physical Architects. Many modern software Architects start and end with what they already know, or let developers, politics, or circumstances decide. This is a short-sighted path. At createTank, we&#8217;ve seen success in recommendations based upon information from two primary sources:</p>
<ol>
<li>Direct experience on hundreds of major projects in all variety of form and function.</li>
<li>Interdisciplinary Architectural research.</li>
</ol>
<p>In this way, we can put to good use those abstract principals refined over thousands of years of physical Architecture, made concrete and applicable through direct experience doing modern, &#8220;dirty hands&#8221; work. When combined, these sources provide a more holistic architectural perspective. We are not perfect, nor claim all answers, but the proof is in the pudding, and one well built system is worth a thousand white-board rectangles.</p>
<h2>The createTank perspective</h2>
<p>Architecture is not only about technology, but it does concern itself with technology. That is, Architecture is not only concerned with the space, but also the structure holding up and indeed <strong>defining that space</strong>. This is the technology aspect of architecture. Without a solid foundation and structural components, any building or structure will fail. Enterprise Architecture&#8217;s virtual constructs are no different. The best design, the best architecture, <em>will</em> be hampered by a weak foundation, whether in the O/S, software language, or framework chosen. This is stated in confidence, because although the actual system may indeed function well, lack of scalability, maintainability over time, or agility to integrate with other systems will catch up in time and prove expensive or fatal.</p>
<h2>Summary</h2>
<p>In the end, ZapThink is not necessarily wrong in their assertion, the assertion is just incomplete. It is easy to understand as they are trying to highlight the business value of SOA. However, downplaying the role of technology in SOA to such an extent is unsettling. Walls <em>are</em> important in physical architecture, and technology <em>is</em> important in your software architecture. It might not be continually considered the most important component of your architecture, but an architecture should only be considered healthy when the foundation (its technology) is trusted solid and sound. Walls and structure, as too, technology, hold up and define the space or functionality designed. In essence, a good architect <em>MUST</em> understand the technology involved, including which technology best fits a given problem, in order to create the best possible system. This is absolute. In your projects, you would do well to place stock in the hire or counsel of an architect with extensive experience in the technologies involved and with the ability to communicate the lessons learned therein at multiple levels.</p>
<blockquote><p>&#8230;the traceries had <em>caught the eye</em> of the architect&#8230;up to that time&#8230;his eye had been on openings only&#8230;Now, the great pause was at the moment when the space and dividing stone-work were both equally considered &#8212; John Ruskin, The Seven Lamps of Architecture, The Lamp of Truth, Section XIII.</p></blockquote>
<p><sup>*</sup> <small>&#8220;Physical Architect&#8221; is used here to jointly differentiate architects of physical structures (e.g. buildings, houses, industrial complexes, skyscrapers, etc.) from architects of more virtual structures (e.g. software systems, software applications, enterprise IT systems, etc.).</small></p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2007/07/walls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZapThink LZA Reviewed</title>
		<link>http://createtank.com/2007/05/zapthink-lza/</link>
		<comments>http://createtank.com/2007/05/zapthink-lza/#comments</comments>
		<pubDate>Fri, 25 May 2007 04:29:47 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://createtank.com/2007/05/24/zapthink-lza/</guid>
		<description><![CDATA[ZapThink launched LZA (Licensed ZapThink Architect) Boot Camps in early 2007 to provide a SOA credential and matched training.  The Boot Camps were intended to provide both a common, objective understanding of SOA to practicing Enterprise Architects and the chance to obtain a credential from a qualified and respected third party (ZapThink).
createTank Attends&#8230;
After much [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zapthink.com/" target="_blank">ZapThink</a> launched LZA (Licensed ZapThink Architect) Boot Camps in early 2007 to provide a SOA credential and matched training.  The Boot Camps were intended to provide both a common, objective understanding of SOA to practicing Enterprise Architects and the chance to obtain a credential from a qualified and respected third party (ZapThink).<span id="more-28"></span></p>
<h2>createTank Attends&#8230;</h2>
<p>After much thought, I attended the LZA Boot Camp in Baltimore last month (April 23-25) for what boiled down to two hard, tangible reasons:</p>
<ol>
<li> To widen my horizons (and createTank&#8217;s) by concentrating on a broader and more business oriented slant toward SOA (createTank has historically focused on research around the implementation questions of a SOA, or software architecture in general).</li>
<li> To attain an architectural (and specifically a SOA) credential to differentiate createTank from those that are &#8220;architects in name only&#8221; (see Vitruvius&#8217; Edu<span style="font-style: italic">cation of an Architect</span> to be discussed here at a later date).  The fact that this credential would come from such an independent and objective organization as ZapThink was <em>quite</em> a convincing point.</li>
</ol>
<p>I did in fact get what I came for &#8230; I saw a review of SOA from a different perspective, and I am now a Senior Licensed ZapThink Architect (Senior LZA).  However, I did get more than I expected. Specifically, I found in my notes and &#8220;take-backs,&#8221; a refinement in some of our positions at createTank.  I also met quite a few good Architects and Technologists from across the country and around the world that should hopefully prove to be good friends with which to bounce and share architectural ideas.  I&#8217;d been looking for a community such as this for a long time now.</p>
<h2>Since Then&#8230;</h2>
<p>I&#8217;ve finally found the time to review the notes and complete my internal reports.  They really did pack a lot into the three days.  The time betwixt has allowed me a good deal of dialogue with other Architects, including our own Larry Liberto, which has further refined the positions and ideas of interest.  I should be posting many of our findings and related interesting points here over the next few weeks.</p>
<p>Concerning the refined positions, most are agreed upon by createTank and ZapThink, but createTank seems to  have a slightly different take in areas which may prove interesting.  This is likely due to our technical and implementation specific background. It might be an over simplification, but we tend to ground our architectural advice from below in our implementation experience, whilst ZapThink tends to support their architectural advice from above with business experience.  Of course both methods are legitimate and useful, but they <em>are</em> different.  There is a great deal of overlap, as there should be in architecture, but by researching the differences, we may refine our positions and learn more from each other.  I&#8217;m somewhat amazed at how we&#8217;ve come to so many of the same conclusions about SOA and Architecture in general while approaching the problem from such different perspectives.  I&#8217;d speculate that the common factors are [1] experience and [2] the ability to be honest about that experience.  It seems that many groups (especially vendors) let marketing get in the way of that which is best left in its simplest state.</p>
<p>We at createTank have been big fans of ZapThink for a while now as one of only a few organizations out there that were not trying to sell SOA as a set of products, but rather trying to reveal the truth behind its power.   I would definitely recommend the LZA Boot Camp to any genuine or aspiring Architect out there with an interest in seeing SOA framed in an objective manner.  I&#8217;d also recommend it to organizations looking to implement SOA internally, as a vaccine to the seemingly endless vendor sales pitches in store for them.</p>
<p>ZapThink: <a href="http://www.zapthink.com/" target="_blank">http://www.zapthink.com/</a></p>
<p>ZapThink LZA: <a href="http://www.zapthink.com/lza.html" target="_blank">http://www.zapthink.com/lza.html</a></p>
<p>ZapThink Architect Resource Center [ARC]: <a href="http://www.zapthink.com/ARC-view.html" target="_blank">http://www.zapthink.com/ARC-view.html</a></p>
<p>Next Scheduled LZA Event:  Sydney, Australia    May 28-30, 2007<br />
Register: <a href="http://www.zapthink.com/eventreg.html" target="_blank">http://www.zapthink.com/eventreg.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2007/05/zapthink-lza/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SOA &#8211; Wrap and Replace the Squeaky Wheel</title>
		<link>http://createtank.com/2007/05/soa-wrap-and-replace-the-squeaky-wheel/</link>
		<comments>http://createtank.com/2007/05/soa-wrap-and-replace-the-squeaky-wheel/#comments</comments>
		<pubDate>Mon, 21 May 2007 03:12:12 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://createtank.com/2007/05/20/soa-wrap-and-replace-the-squeaky-wheel/</guid>
		<description><![CDATA[Many SOA advocates refer to the implementation of SOA as &#8220;wrap and replace&#8221; rather than &#8220;Rip and Replace.&#8221;  createTank has determined through experience that a more refined description might sometimes be helpful &#8212; that of &#8220;wrap and replace &#8216;the squeaky wheel.&#8217;&#8221;  This description is usually more acceptable to developers and management alike, as [...]]]></description>
			<content:encoded><![CDATA[<p>Many SOA advocates refer to the implementation of SOA as &#8220;wrap and replace&#8221; rather than &#8220;Rip and Replace.&#8221;  createTank has determined through experience that a more refined description might sometimes be helpful &#8212; that of &#8220;wrap and replace &#8216;the squeaky wheel.&#8217;&#8221;  This description is usually more acceptable to developers and management alike, as it highlights the possibility that a great deal of legacy code may not need to be rewritten at all (or at least not immediately).<span id="more-23"></span></p>
<p>As with any SOA implementation or legacy integration, the team wraps the legacy implementation(s) with the chosen SOA technology or framework, adding necessary new functionality alongside.  At some point in time after the wrapping takes place, legacy implementations of services/operations deemed to perform insufficiently may be completely replaced by new implementations just as with the regularly described &#8220;wrap and replace&#8221; method.  However, the &#8220;wrap and replace&#8221; description leaves out the very real possibility of the retention of legacy services/operations which continue to perform and deliver value.  These implementations may remain in place working transparently alongside new implementations.</p>
<p><a href="http://createtank.com/wp-content/uploads/2007/05/wrap-and-replace.jpg" title="Wrap and Replace â€œthe Squeaky Wheelâ€"><img src="http://createtank.com/wp-content/uploads/2007/05/wrap-and-replace.jpg" alt="Wrap and Replace â€œthe Squeaky Wheelâ€" height="388" width="415" /></a><a href="http://createtank.com/wp-content/uploads/2007/05/wrap-and-replace.jpg" title="Squeaky Wheel Illustration"> </a></p>
<p>In the illustration, we see two legacy systems (Legacy<sub>A</sub> and Legacy<sub>B</sub>) and new functionality integrated into a SOA Framework.  Within the systems, multiple services or operations are marked in red as candidates for replacement.  These are the &#8220;squeaky wheels.&#8221;  Notice that a good portion of the legacy implementations could remain in service indefinitely.  This shows the agility that SOA provides, in that the team is not forced to replace the legacy code until they have a &#8220;real&#8221; reason to do so.</p>
<p>The fact that the legacy implementation can remain around indefinitely brings us to one final point of any good SOA integration, that the system need not be completely replaced or rewritten every major industry cycle.  For example, if Legacy<sub>A</sub> was written in COBOL in the 70&#8217;s, Legacy<sub>B</sub> was written in JMS in the late 90&#8217;s, and the latest system is written with SOAP over HTTP interfaces, a future implementation in the fictional &#8220;Protocol-X&#8221; could still retain some or all of the existing implementations without rewrite.  This is an important point, because new languages and technologies will continually overcome what we are now implementing.</p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2007/05/soa-wrap-and-replace-the-squeaky-wheel/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
