<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Art of Software Reuse</title>
	<atom:link href="http://artofsoftwarereuse.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://artofsoftwarereuse.com</link>
	<description>Enabling Organizational Agility using Systematic Software Reuse</description>
	<lastBuildDate>Tue, 17 Jan 2012 03:07:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='artofsoftwarereuse.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/867ea3399412f403d50af9d95344fa89?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Art of Software Reuse</title>
		<link>http://artofsoftwarereuse.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://artofsoftwarereuse.com/osd.xml" title="Art of Software Reuse" />
	<atom:link rel='hub' href='http://artofsoftwarereuse.com/?pushpress=hub'/>
		<item>
		<title>Detect Service Availability Issues Before Your Clients Do</title>
		<link>http://artofsoftwarereuse.com/2012/01/17/detect-service-availability-issues-before-your-clients-do/</link>
		<comments>http://artofsoftwarereuse.com/2012/01/17/detect-service-availability-issues-before-your-clients-do/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 03:07:42 +0000</pubDate>
		<dc:creator>vijaynarayanan</dc:creator>
				<category><![CDATA[Reuse]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[availability]]></category>
		<category><![CDATA[Service-oriented architecture]]></category>
		<category><![CDATA[systematic software reuse]]></category>

		<guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2685</guid>
		<description><![CDATA[When service capabilities get reused across applications and processes, high availability becomes imperative &#8211; key question: do you detect availability issues before your clients do? This is important for several reasons: Unlike stand alone applications/processes, shared services impact several consumers. Not every consumer might be okay with your service being unavailable for an extended period [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2685&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When service capabilities get reused across applications and processes, high availability becomes imperative &#8211; key question: do you detect availability issues before your clients do? This is important for several reasons:</p>
<ul>
<li>Unlike stand alone applications/processes, shared services impact several consumers. Not every consumer might be okay with your service being unavailable for an extended period of time. The same service might be in the critical path for some and not so much for others</li>
<li>For some service capabilities, running them in a partial mode might be acceptable &#8211; e.g.  operating out of a cached copy of data rather than fetching it from a live database, or servicing only read only operations during an unexpected outage, etc.</li>
<li>Some consumers might have regulatory processes that are dependent on services being available &#8211; a service being unavailable might cause SLA breaches</li>
</ul>
<p>Finally, consumer trust is key for systematic reuse &#8211; if they perceive service availability as a limiting factor, it will be harder to convince them to use services &#8211; including current and upcoming integrations</p>
<br /> Tagged: <a href='http://artofsoftwarereuse.com/tag/availability/'>availability</a>, <a href='http://artofsoftwarereuse.com/tag/service-oriented-architecture/'>Service-oriented architecture</a>, <a href='http://artofsoftwarereuse.com/tag/soa/'>SOA</a>, <a href='http://artofsoftwarereuse.com/tag/systematic-software-reuse/'>systematic software reuse</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarereuse.wordpress.com/2685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarereuse.wordpress.com/2685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarereuse.wordpress.com/2685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarereuse.wordpress.com/2685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarereuse.wordpress.com/2685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarereuse.wordpress.com/2685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarereuse.wordpress.com/2685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarereuse.wordpress.com/2685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarereuse.wordpress.com/2685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarereuse.wordpress.com/2685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarereuse.wordpress.com/2685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarereuse.wordpress.com/2685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarereuse.wordpress.com/2685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarereuse.wordpress.com/2685/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2685&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofsoftwarereuse.com/2012/01/17/detect-service-availability-issues-before-your-clients-do/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content>
	</item>
		<item>
		<title>Role of Systematic Reuse in Enterprise Integration</title>
		<link>http://artofsoftwarereuse.com/2012/01/07/role-of-systematic-reuse-in-enterprise-integration/</link>
		<comments>http://artofsoftwarereuse.com/2012/01/07/role-of-systematic-reuse-in-enterprise-integration/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 17:04:42 +0000</pubDate>
		<dc:creator>vijaynarayanan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Reuse]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[integration points]]></category>
		<category><![CDATA[software reuse]]></category>
		<category><![CDATA[systematic software reuse]]></category>

		<guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2125</guid>
		<description><![CDATA[Systematic reuse in the context of enterprise integration provides several benefits: allows the team to evolve consistent set of data interfaces across integration efforts &#8211; if multiple systems need to integrate with yours, can you define a generic data model for your domain-specific concepts? This could be file layout(s), service interface schemas, or platform specific [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2125&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Systematic reuse in the context of enterprise integration provides several benefits:</p>
<ul>
<li>allows the team to evolve consistent set of data interfaces across integration efforts &#8211; if multiple systems need to integrate with yours, can you define a generic data model for your domain-specific concepts? This could be file layout(s), service interface schemas, or platform specific APIs</li>
<li>enables common interfaces for domain specific services and business processes</li>
<li>integration points often need cross-cutting concerns such as logging, transaction management, exception handling, etc. that can be reused</li>
<li>reusable utilities can help with support and testing tools &#8211; for instance,  reply failed messages, drain message queues/topics, generate high volume test data, etc.</li>
</ul>
<p>Question is &#8211; are your teams taking advantage of integration points? or is each integration point implementing identical or similar functionality in an inconsistent fashion?</p>
<br /> Tagged: <a href='http://artofsoftwarereuse.com/tag/eai/'>EAI</a>, <a href='http://artofsoftwarereuse.com/tag/integration/'>integration</a>, <a href='http://artofsoftwarereuse.com/tag/integration-points/'>integration points</a>, <a href='http://artofsoftwarereuse.com/tag/software-reuse/'>software reuse</a>, <a href='http://artofsoftwarereuse.com/tag/systematic-software-reuse/'>systematic software reuse</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarereuse.wordpress.com/2125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarereuse.wordpress.com/2125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarereuse.wordpress.com/2125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarereuse.wordpress.com/2125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarereuse.wordpress.com/2125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarereuse.wordpress.com/2125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarereuse.wordpress.com/2125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarereuse.wordpress.com/2125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarereuse.wordpress.com/2125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarereuse.wordpress.com/2125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarereuse.wordpress.com/2125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarereuse.wordpress.com/2125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarereuse.wordpress.com/2125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarereuse.wordpress.com/2125/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2125&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofsoftwarereuse.com/2012/01/07/role-of-systematic-reuse-in-enterprise-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content>
	</item>
		<item>
		<title>Software Reuse Quick Tip #29</title>
		<link>http://artofsoftwarereuse.com/2012/01/01/software-reuse-quick-tip-29/</link>
		<comments>http://artofsoftwarereuse.com/2012/01/01/software-reuse-quick-tip-29/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 15:32:24 +0000</pubDate>
		<dc:creator>vijaynarayanan</dc:creator>
				<category><![CDATA[Reuse]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[software reuse]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://softwarereuse.wordpress.com/?p=2663</guid>
		<description><![CDATA[Tip #29 &#8211; Automate Documentation on Reusable Assets Happy new year 2012 What is one key reason developers have a difficult time finding and evaluating existing assets? Lack of robust documentation including what the reusable asset isn&#8217;t meant to do. Though it is a critical success factor, maintaining documentation manually is a time consuming task [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2663&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Tip #29 &#8211; Automate Documentation on Reusable Assets<br />
</strong></p>
<p>Happy new year 2012 <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>What is one key reason developers have a difficult time finding and evaluating existing assets? Lack of robust documentation including what the reusable asset isn&#8217;t meant to do. Though it is a critical <a href="http://artofsoftwarereuse.com/2009/10/21/systematic-reuse-success-factor-7-document/">success factor</a>, maintaining documentation manually is a time consuming task and is the first item that gets left out when the development team is racing to meet a deadline. It will be useful to generate documentation on service clients or library client code snippets alongside the provider code. Automate documentation as much as possible &#8211; this will come in handy when fixing bugs, integrating new consumers, as well as integrating documentation within IDEs. Here are a few examples of doing this:</p>
<ul>
<li>Maven <a href="http://maven.apache.org/plugins/maven-javadoc-plugin/">javadoc </a>plugin for example can generate javadoc style HTML documentation for various java and web modules</li>
<li>Maven <a href="http://maven.apache.org/plugins/maven-site-plugin/deploy-mojo.html">site </a>deploy can be used to publish generated artifacts to a remote host</li>
<li>XSL stylesheets can be used to generate HTML documentation from XML schemas (XSDs) &#8211; this can be handy when exposing reusable services (e.g. using <a href="http://xml.fiforms.org/xs3p/">XS3P</a>)</li>
</ul>
<br /> Tagged: <a href='http://artofsoftwarereuse.com/tag/documentation/'>documentation</a>, <a href='http://artofsoftwarereuse.com/tag/software-reuse/'>software reuse</a>, <a href='http://artofsoftwarereuse.com/tag/tips/'>tips</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarereuse.wordpress.com/2663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarereuse.wordpress.com/2663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarereuse.wordpress.com/2663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarereuse.wordpress.com/2663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarereuse.wordpress.com/2663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarereuse.wordpress.com/2663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarereuse.wordpress.com/2663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarereuse.wordpress.com/2663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarereuse.wordpress.com/2663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarereuse.wordpress.com/2663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarereuse.wordpress.com/2663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarereuse.wordpress.com/2663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarereuse.wordpress.com/2663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarereuse.wordpress.com/2663/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2663&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofsoftwarereuse.com/2012/01/01/software-reuse-quick-tip-29/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content>
	</item>
		<item>
		<title>Governance Enables Service Reuse &#8211; New Podcast Episode</title>
		<link>http://artofsoftwarereuse.com/2011/12/27/governance-enables-service-reuse-new-podcast-episode/</link>
		<comments>http://artofsoftwarereuse.com/2011/12/27/governance-enables-service-reuse-new-podcast-episode/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 00:15:21 +0000</pubDate>
		<dc:creator>vijaynarayanan</dc:creator>
				<category><![CDATA[Planning]]></category>
		<category><![CDATA[Reuse]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[systematic reuse]]></category>
		<category><![CDATA[service governance]]></category>

		<guid isPermaLink="false">http://softwarereuse.wordpress.com/?p=2651</guid>
		<description><![CDATA[New episode added to the Software Reuse Podcast Series on service governance covering design, implementation, testing, and provisioning and how they enable reuse. Like this post? Subscribe to RSS feed or get blog updates via email. Tagged: podcast, service governance, SOA, systematic reuse<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2651&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_1639" class="wp-caption alignright" style="width: 140px"><a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=315376533"><img class=" wp-image-1639 " title="Art of Software Reuse Podcast" src="http://softwarereuse.files.wordpress.com/2009/04/itunes_icon.jpg?w=130&#038;h=62" alt="Want to listen using iTunes?" width="130" height="62" /></a><p class="wp-caption-text">Got iTunes?</p></div>
<p><img class="alignleft size-full wp-image-842" title="podcast" src="http://softwarereuse.files.wordpress.com/2009/04/podcast.png?w=450" alt="podcast"   /></p>
<p>New <a href="http://softwarereuse.podbean.com/mf/web/gfwuui/episode_17.mp3">episode</a> added to the <a href="http://softwarereuse.wordpress.com/systematic-reuse-podcast-series/">Software Reuse Podcast Series</a> on service governance covering design, implementation, testing, and provisioning and how they enable reuse.</p>
<p><strong>Like this post?</strong> Subscribe to <a href="http://feeds2.feedburner.com/SoftwareReuseInTheRealWorld">RSS feed</a> or get blog <a href="http://feedburner.google.com/fb/a/mailverify?uri=SoftwareReuseInTheRealWorld&amp;loc=en_US">updates via email</a>.</p>
<br /> Tagged: <a href='http://artofsoftwarereuse.com/tag/podcast/'>podcast</a>, <a href='http://artofsoftwarereuse.com/tag/service-governance/'>service governance</a>, <a href='http://artofsoftwarereuse.com/tag/soa/'>SOA</a>, <a href='http://artofsoftwarereuse.com/tag/systematic-reuse/'>systematic reuse</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarereuse.wordpress.com/2651/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarereuse.wordpress.com/2651/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarereuse.wordpress.com/2651/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarereuse.wordpress.com/2651/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarereuse.wordpress.com/2651/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarereuse.wordpress.com/2651/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarereuse.wordpress.com/2651/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarereuse.wordpress.com/2651/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarereuse.wordpress.com/2651/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarereuse.wordpress.com/2651/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarereuse.wordpress.com/2651/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarereuse.wordpress.com/2651/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarereuse.wordpress.com/2651/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarereuse.wordpress.com/2651/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2651&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofsoftwarereuse.com/2011/12/27/governance-enables-service-reuse-new-podcast-episode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://softwarereuse.podbean.com/mf/web/gfwuui/episode_17.mp3" length="5689596" type="audio/mpeg" />
<enclosure url="http://softwarereuse.podbean.com/mf/web/gfwuui/episode_17.mp3" length="5689596" type="audio/mpeg" />
<enclosure url="http://softwarereuse.podbean.com/mf/web/gfwuui/episode_17.mp3" length="5689596" type="audio/mpeg" />
<enclosure url="http://softwarereuse.podbean.com/mf/web/gfwuui/episode_17.mp3" length="5689596" type="audio/mpeg" />
<enclosure url="http://softwarereuse.podbean.com/mf/web/gfwuui/episode_17.mp3" length="5689596" type="audio/mpeg" />
<enclosure url="http://softwarereuse.podbean.com/mf/web/gfwuui/episode_17.mp3" length="5689596" type="audio/mpeg" />
<enclosure url="http://softwarereuse.podbean.com/mf/web/gfwuui/episode_17.mp3" length="5689596" type="audio/mpeg" />
	
		<media:content url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content>

		<media:content url="http://softwarereuse.files.wordpress.com/2009/04/itunes_icon.jpg" medium="image">
			<media:title type="html">Art of Software Reuse Podcast</media:title>
		</media:content>

		<media:content url="http://softwarereuse.files.wordpress.com/2009/04/podcast.png" medium="image">
			<media:title type="html">podcast</media:title>
		</media:content>
	</item>
		<item>
		<title>Systematic Reuse Mythbuster #1 &#8211; Reusable Doesn&#8217;t Mean Perfection</title>
		<link>http://artofsoftwarereuse.com/2011/12/26/systematic-reuse-mythbuster-1-reusable-doesnt-mean-perfection/</link>
		<comments>http://artofsoftwarereuse.com/2011/12/26/systematic-reuse-mythbuster-1-reusable-doesnt-mean-perfection/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 08:48:18 +0000</pubDate>
		<dc:creator>vijaynarayanan</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Reuse]]></category>
		<category><![CDATA[domain modeling]]></category>
		<category><![CDATA[interfaces]]></category>
		<category><![CDATA[mythbuster]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[reuse myth]]></category>
		<category><![CDATA[systematic reuse]]></category>
		<category><![CDATA[systematic software reuse]]></category>
		<category><![CDATA[variability]]></category>

		<guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2646</guid>
		<description><![CDATA[One common criticism against systematic software reuse is the myth that it implies perfection &#8211; creating a reusable asset automatically conjures up visions of a perfect design, something that is done once and done right.  Many developers and managers confuse reusability with design purity. However, reusability is a quality attribute like maintainability, scalability, or availability [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2646&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One common criticism against systematic software reuse is the myth that it implies perfection &#8211; creating a reusable asset automatically conjures up visions of a perfect design, something that is done once and done right.  Many developers and managers confuse reusability with design purity. However, reusability is a quality attribute like maintainability, scalability, or availability in a software solution. It isn&#8217;t necessary or advisable to pursue a generic design approach or what one believes is highly reusable without the right context.</p>
<p>The key is to go back to the basics of good design: identify what varies and encapsulate it.</p>
<p>The myth that you can somehow create this masterpiece that is infinitely reusable and should never be touched is just that &#8211; it is a myth and is divorced from reality. Reusable doesn&#8217;t imply:</p>
<ul>
<li>that you invest a lot in big up front design effort</li>
<li>you account for everything that will vary in the design &#8211; the critical factor is to understand the domain &#8211; well enough, deep enough, so you can identify the sub-set of variability that truly matters</li>
</ul>
<p>In the same vein, reusablility strives for separating concerns that should be kept distinct. Ask repeatedly:</p>
<ul>
<li>Are there multiple integration points accessing the core domain logic?</li>
<li>Is there a requirement to support more than one client and if so, how will multiple clients use the same interface?</li>
<li>What interfaces do your consumers need? is there a need to support more than one?</li>
<li>What are the common input parameters and what are those that vary across the consumer base?</li>
</ul>
<p>These are the key questions that will lead the designer to anticipate the appropriate places where reuse is likely to happen.  Finally, it is important that we don&#8217;t build for unknown needs in the future &#8211; so the asset is likely to solve a particular problem, solve it well, solve it for more than one or two consumers, and finally has potential to be used beyond the original intent. At each step there are design decisions made, discarded, continuous refactoring, refinements to the domain model &#8211; if not re-definition altogether.</p>
<p>Don&#8217;t set out trying to get to the end state or you will run the risk of adding needless complexity and significant schedule risk.</p>
<br /> Tagged: <a href='http://artofsoftwarereuse.com/tag/domain-modeling/'>domain modeling</a>, <a href='http://artofsoftwarereuse.com/tag/interfaces/'>interfaces</a>, <a href='http://artofsoftwarereuse.com/tag/mythbuster/'>mythbuster</a>, <a href='http://artofsoftwarereuse.com/tag/refactoring/'>refactoring</a>, <a href='http://artofsoftwarereuse.com/tag/reuse-myth/'>reuse myth</a>, <a href='http://artofsoftwarereuse.com/tag/systematic-reuse/'>systematic reuse</a>, <a href='http://artofsoftwarereuse.com/tag/systematic-software-reuse/'>systematic software reuse</a>, <a href='http://artofsoftwarereuse.com/tag/variability/'>variability</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarereuse.wordpress.com/2646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarereuse.wordpress.com/2646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarereuse.wordpress.com/2646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarereuse.wordpress.com/2646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarereuse.wordpress.com/2646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarereuse.wordpress.com/2646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarereuse.wordpress.com/2646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarereuse.wordpress.com/2646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarereuse.wordpress.com/2646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarereuse.wordpress.com/2646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarereuse.wordpress.com/2646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarereuse.wordpress.com/2646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarereuse.wordpress.com/2646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarereuse.wordpress.com/2646/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2646&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofsoftwarereuse.com/2011/12/26/systematic-reuse-mythbuster-1-reusable-doesnt-mean-perfection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content>
	</item>
		<item>
		<title>Track Service Reuse Metrics</title>
		<link>http://artofsoftwarereuse.com/2011/12/24/track-service-reuse-metrics/</link>
		<comments>http://artofsoftwarereuse.com/2011/12/24/track-service-reuse-metrics/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 12:53:20 +0000</pubDate>
		<dc:creator>vijaynarayanan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Reuse]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[systematic reuse]]></category>
		<category><![CDATA[service orientation]]></category>
		<category><![CDATA[service metrics]]></category>
		<category><![CDATA[service reuse]]></category>
		<category><![CDATA[metrics]]></category>

		<guid isPermaLink="false">http://softwarereuse.wordpress.com/?p=2636</guid>
		<description><![CDATA[Service driven systematic reuse takes conscious design decisions, governance, and disciplined execution &#8211; project after project. In order to sustain long running efforts such as service orientation, it is critical to track, report, and get buy-in from senior management in the organization. So what metrics are useful? Here are a few: Total number of service [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2636&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Service driven systematic reuse takes conscious design decisions, governance, and disciplined execution &#8211; project after project. In order to sustain long running efforts such as service orientation, it is critical to track, report, and get buy-in from senior management in the organization. So what metrics are useful? Here are a few:</p>
<ul>
<li>Total number of service operations reused in a time period</li>
<li>Total effort saved due to systematic reuse in a time period</li>
<li>Number of new service consumers in a time period</li>
<li>Number of new consumer integrations in a time period (this includes integrations from both new and existing consumer</li>
<li>Service integrations across transports/interface points (for instance, the service operation could be accessed SOAP over HTTP, or as SOAP over JMS, or REST, etc.)</li>
</ul>
<p>What metrics do your teams track?</p>
<br /> Tagged: <a href='http://artofsoftwarereuse.com/tag/metrics/'>metrics</a>, <a href='http://artofsoftwarereuse.com/tag/service-metrics/'>service metrics</a>, <a href='http://artofsoftwarereuse.com/tag/service-orientation/'>service orientation</a>, <a href='http://artofsoftwarereuse.com/tag/service-reuse/'>service reuse</a>, <a href='http://artofsoftwarereuse.com/tag/soa/'>SOA</a>, <a href='http://artofsoftwarereuse.com/tag/systematic-reuse/'>systematic reuse</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarereuse.wordpress.com/2636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarereuse.wordpress.com/2636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarereuse.wordpress.com/2636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarereuse.wordpress.com/2636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarereuse.wordpress.com/2636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarereuse.wordpress.com/2636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarereuse.wordpress.com/2636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarereuse.wordpress.com/2636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarereuse.wordpress.com/2636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarereuse.wordpress.com/2636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarereuse.wordpress.com/2636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarereuse.wordpress.com/2636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarereuse.wordpress.com/2636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarereuse.wordpress.com/2636/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2636&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofsoftwarereuse.com/2011/12/24/track-service-reuse-metrics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content>
	</item>
		<item>
		<title>5 Service Governance Practices for Effective Reuse</title>
		<link>http://artofsoftwarereuse.com/2011/12/24/5-service-governance-practices-for-effective-reuse/</link>
		<comments>http://artofsoftwarereuse.com/2011/12/24/5-service-governance-practices-for-effective-reuse/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 05:09:50 +0000</pubDate>
		<dc:creator>vijaynarayanan</dc:creator>
				<category><![CDATA[Reuse]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[service governance]]></category>
		<category><![CDATA[systematic reuse]]></category>
		<category><![CDATA[systematic software reuse]]></category>

		<guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2563</guid>
		<description><![CDATA[Pursuing service based systematic reuse or business process development? Then, these five practices will help your teams achieve increased level of service reuse. Manage a common set of domain objects that are leveraged across service capabilities. This could be a library of objects (e.g. Plain Old Java Objects) or XML Schema definitions or both. Depending [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2563&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pursuing service based systematic reuse or business process development? Then, these five practices will help your teams achieve increased level of service reuse.</p>
<ol>
<li>Manage a common set of domain objects that are leveraged across service capabilities. This could be a library of objects (e.g. Plain Old Java Objects) or XML Schema definitions or both. Depending on the number of service consumers and the complexity in the domain, there will be need for supporting multiple concurrent versions of these objects.</li>
<li>Provide common utilities for not only service development but WSDL generation, integration and performance testing, and ensure interoperability issues are addressed</li>
<li>Appropriate functional experts are driving the service&#8217;s requirements and common capabilities across business processes are identified early in the software development lifecycle</li>
<li>Governance model guidelines are clearly documented and communicated  &#8211; for example, there are a class of changes that can be made to a public interface such as a WSDL that don&#8217;t impact existing service clients and there are some that do.</li>
<li>Performance testing needs to be done not only during development but during service provisioning &#8211; i.e. integrating a new service consumer. If your teams aren&#8217;t careful, one heavy volume consumer, can overwhelm a service impacting both new and existing consumers. Execute performance testing in an automated fashion &#8211; every time you integrate with a new client to reduce risks of breaching required SLAs</li>
</ol>
<p>What additional practices do your teams follow?</p>
<br /> Tagged: <a href='http://artofsoftwarereuse.com/tag/service-governance/'>service governance</a>, <a href='http://artofsoftwarereuse.com/tag/soa/'>SOA</a>, <a href='http://artofsoftwarereuse.com/tag/systematic-reuse/'>systematic reuse</a>, <a href='http://artofsoftwarereuse.com/tag/systematic-software-reuse/'>systematic software reuse</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarereuse.wordpress.com/2563/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarereuse.wordpress.com/2563/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarereuse.wordpress.com/2563/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarereuse.wordpress.com/2563/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarereuse.wordpress.com/2563/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarereuse.wordpress.com/2563/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarereuse.wordpress.com/2563/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarereuse.wordpress.com/2563/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarereuse.wordpress.com/2563/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarereuse.wordpress.com/2563/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarereuse.wordpress.com/2563/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarereuse.wordpress.com/2563/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarereuse.wordpress.com/2563/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarereuse.wordpress.com/2563/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2563&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofsoftwarereuse.com/2011/12/24/5-service-governance-practices-for-effective-reuse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content>
	</item>
		<item>
		<title>Reusable Capabilities When Hosting Business Processes</title>
		<link>http://artofsoftwarereuse.com/2011/11/07/reusable-capabilities-when-hosting-business-processes/</link>
		<comments>http://artofsoftwarereuse.com/2011/11/07/reusable-capabilities-when-hosting-business-processes/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 12:43:09 +0000</pubDate>
		<dc:creator>vijaynarayanan</dc:creator>
				<category><![CDATA[BPM]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Reuse]]></category>
		<category><![CDATA[Business process management]]></category>
		<category><![CDATA[systematic reuse]]></category>

		<guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2533</guid>
		<description><![CDATA[Many teams are pursuing BPM and SOA based initiatives to automate, streamline, and standardize business processes. As more solutions start to embark on BPM-based solutions, there is a need for a common set of software components that aid in hosting and managing business processes. The following are capabilities that need to be present in such [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2533&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Many teams are pursuing BPM and SOA based initiatives to automate, streamline, and standardize business processes. As more solutions start to embark on BPM-based solutions, there is a need for a common set of software components that aid in hosting and managing business processes. The following are capabilities that need to be present in such a solution:</p>
<ul>
<li>Common messaging architecture &amp; utilities for facilitating the development and maintenance of stateful business processes &amp; stateless services.</li>
<li>Support business process orchestrations that join across multiple services (data services, business services, legacy services, etc.). This is essential for orchestrating complex <strong> </strong></li>
<li>Handle workflow and system business process events via a configuration driven Event Handler Service, enabling reuse of event handler processes</li>
<li>Provide  ability to reuse sub-processes across larger business processes.</li>
<li>Runtime metrics including reporting and the ability to perform diagnostic troubleshooting</li>
<li>Reusable schemas for request dispatching, event handling, generic transport listeners, metrics, and error handling</li>
<li>Supports synchronous and asynchronous request/reply &amp; fire/forget message exchange patterns</li>
<li>Provides the ability to create reusable components for assembling new business processes</li>
<li>Standard client interfaces across multiple transports such as HTTP and EMS</li>
<li>Ability to query various data sources, rules engine, as well as write custom java code to integrate with existing functionality</li>
<li>Provides interface for executing administrative functions<strong></strong></li>
<li>Provides developer tools for WSDL generation, unit testing, deployment, &amp; viewing metrics</li>
</ul>
<br /> Tagged: <a href='http://artofsoftwarereuse.com/tag/business-process-management/'>Business process management</a>, <a href='http://artofsoftwarereuse.com/tag/systematic-reuse/'>systematic reuse</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarereuse.wordpress.com/2533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarereuse.wordpress.com/2533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarereuse.wordpress.com/2533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarereuse.wordpress.com/2533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarereuse.wordpress.com/2533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarereuse.wordpress.com/2533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarereuse.wordpress.com/2533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarereuse.wordpress.com/2533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarereuse.wordpress.com/2533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarereuse.wordpress.com/2533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarereuse.wordpress.com/2533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarereuse.wordpress.com/2533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarereuse.wordpress.com/2533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarereuse.wordpress.com/2533/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2533&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofsoftwarereuse.com/2011/11/07/reusable-capabilities-when-hosting-business-processes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content>
	</item>
		<item>
		<title>10 Signs Services Are Accumulating Technical Debt</title>
		<link>http://artofsoftwarereuse.com/2011/11/06/10-signs-services-are-accumulating-technical-debt/</link>
		<comments>http://artofsoftwarereuse.com/2011/11/06/10-signs-services-are-accumulating-technical-debt/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 02:26:51 +0000</pubDate>
		<dc:creator>vijaynarayanan</dc:creator>
				<category><![CDATA[Reuse]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Service-oriented architecture]]></category>
		<category><![CDATA[sevices]]></category>
		<category><![CDATA[systematic reuse]]></category>

		<guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2220</guid>
		<description><![CDATA[Your teams are busy building services and service enabled processes &#8211; great! &#8211; how do you know if these services are built at the appropriate level of quality? Here are ten signs that your services might be accumulating technical debt: Service contracts are modeled for a specific consumer, and/or exposes technical implementation details (e.g. service [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2220&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Your teams are busy building services and service enabled processes &#8211; great! &#8211; how do you know if these services are built at the appropriate level of quality? Here are ten signs that your services might be accumulating technical debt:</p>
<ol>
<li>Service contracts are modeled for a specific consumer, and/or exposes technical implementation details (e.g. service interfaces that force the client to set &#8216;default&#8217; values on legacy system attributes).</li>
<li>New clients are integrated to services without doing performance testing &#8211; this increases the likelihood of sudden spike in volume and consequently the risk of breaching SLAs</li>
<li>Each service is implemented using an ad-hoc set of technologies, design patterns, and idioms &#8211; if you are starting to see the same functionality over and over being implemented across modules that&#8217;s a sure sign!</li>
<li>Service dependencies are not captured and managed &#8211; each service uses a rat&#8217;s nest of dependencies causing classpath conflicts and maintenance burden when updating versions.</li>
<li>Deployments are manual &#8211; binaries and configurations are assembled and made available via manual steps &#8211; automated deployment scripts either don&#8217;t exist or they are out of date</li>
<li>Exceptions are not handled consistently &#8211; depending on the nature of the exception your service might need manual support intervention, adjustment to resources, and/or targeted alerts.</li>
<li>Services are not reusing business object definitions and introduce redundant definitions instead</li>
<li>WSDLs don&#8217;t import schemas and instead define them in-line &#8211; this might be easier to implement to start with but will cause a maintenance burden over time.</li>
<li>Context information is not shared when implementing service to service interactions &#8211; as more reuse happens across services, it becomes essential to share context data among them. It will make authorization, logging, and integration much simpler</li>
<li>Service business logic is in end point classes and not encapsulated well &#8211; if your service endpoints contain any logic beyond data transformation, question it to make sure that it really belongs there. Don&#8217;t implement validation rules, defaulting logic, or complex domain rules in them</li>
</ol>
<p>In the upcoming post, I will elaborate on each of these above to provide concrete examples. Are there other signs you can think of?</p>
<br /> Tagged: <a href='http://artofsoftwarereuse.com/tag/service-oriented-architecture/'>Service-oriented architecture</a>, <a href='http://artofsoftwarereuse.com/tag/sevices/'>sevices</a>, <a href='http://artofsoftwarereuse.com/tag/systematic-reuse/'>systematic reuse</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarereuse.wordpress.com/2220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarereuse.wordpress.com/2220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarereuse.wordpress.com/2220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarereuse.wordpress.com/2220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarereuse.wordpress.com/2220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarereuse.wordpress.com/2220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarereuse.wordpress.com/2220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarereuse.wordpress.com/2220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarereuse.wordpress.com/2220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarereuse.wordpress.com/2220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarereuse.wordpress.com/2220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarereuse.wordpress.com/2220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarereuse.wordpress.com/2220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarereuse.wordpress.com/2220/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2220&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofsoftwarereuse.com/2011/11/06/10-signs-services-are-accumulating-technical-debt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content>
	</item>
		<item>
		<title>Enabling Self-Service for Easier Service Integrations</title>
		<link>http://artofsoftwarereuse.com/2011/05/31/enabling-self-service-for-easier-service-integrations/</link>
		<comments>http://artofsoftwarereuse.com/2011/05/31/enabling-self-service-for-easier-service-integrations/#comments</comments>
		<pubDate>Tue, 31 May 2011 02:27:23 +0000</pubDate>
		<dc:creator>vijaynarayanan</dc:creator>
				<category><![CDATA[Reuse]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[service catalog]]></category>
		<category><![CDATA[SOAP]]></category>
		<category><![CDATA[software reuse]]></category>
		<category><![CDATA[wsdl]]></category>

		<guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2561</guid>
		<description><![CDATA[There are a number of benefits with exposing services and enabling application to application integration through them. However, when the number of services increase, the support and integration effort involved goes up as well &#8211; moving to a self-service model for service integrations makes it simpler and faster for clients, cheaper and more reliable for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2561&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There are a number of benefits with exposing services and enabling application to application integration through them. However, when the number of services increase, the support and integration effort involved goes up as well &#8211; moving to a self-service model for service integrations makes it simpler and faster for clients, cheaper and more reliable for the service provider. Here are a few tips to make this happen:</p>
<ul>
<li>Ensure all service interfaces are URL accessible &#8211; e.g. WSDL, associated XSD schemas etc. are hosted in a consistent structure that tools like WSDL2Java or wsdl.exe can point to and generate client side code</li>
<li>Templatize the WSDL and XSD to capture client-specific information such as application identifier and name (e.g. if your service interface mandates these values, you can default them to use the appropriate client-specific value).</li>
<li>Capture authentication and authorization requirements and similar to above point, generate code to set appropriate message headers (e.g. SOAP Header or JMS Header as appropriate) &#8211; this will be common to most clients except the exact credentials will vary</li>
<li>Keep documentation up to date as part of the build and deployment process &#8211; e.g. if you are deploying services to a client facing environment (e.g. integration testing), deploy documentation as well as part of the exercise. For instance, generate javadoc style XML schema documentation and maven site-deploy target can be leveraged to upload the generated artifacts to a web application.</li>
<li>Capture and maintain service metadata &#8211; this metadata should not only cover functional aspects but non-functional attributes as well. For instance, if your service cannot honor a response time requirement, it is critical to know that during the integration effort and not after the client has migrated their code to a production environment. This could translate to a service enhancement or an alternate integration approach altogether</li>
</ul>
<p>This is by no means an exhaustive list but meant to give a window into the opportunities and benefits that self-service can provide.</p>
<br /> Tagged: <a href='http://artofsoftwarereuse.com/tag/service-catalog/'>service catalog</a>, <a href='http://artofsoftwarereuse.com/tag/soap/'>SOAP</a>, <a href='http://artofsoftwarereuse.com/tag/software-reuse/'>software reuse</a>, <a href='http://artofsoftwarereuse.com/tag/wsdl/'>wsdl</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarereuse.wordpress.com/2561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarereuse.wordpress.com/2561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarereuse.wordpress.com/2561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarereuse.wordpress.com/2561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarereuse.wordpress.com/2561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarereuse.wordpress.com/2561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarereuse.wordpress.com/2561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarereuse.wordpress.com/2561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarereuse.wordpress.com/2561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarereuse.wordpress.com/2561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarereuse.wordpress.com/2561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarereuse.wordpress.com/2561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarereuse.wordpress.com/2561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarereuse.wordpress.com/2561/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;blog=7058737&amp;post=2561&amp;subd=softwarereuse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofsoftwarereuse.com/2011/05/31/enabling-self-service-for-easier-service-integrations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content>
	</item>
	</channel>
</rss>
