<?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>Sun, 27 May 2012 03:44:08 +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>Client Integration Mini-Checklist for Services</title>
		<link>http://artofsoftwarereuse.com/2012/05/27/client-integration-mini-checklist-for-services/</link>
		<comments>http://artofsoftwarereuse.com/2012/05/27/client-integration-mini-checklist-for-services/#comments</comments>
		<pubDate>Sun, 27 May 2012 03:42:51 +0000</pubDate>
		<dc:creator>vijaynarayanan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[checklist]]></category>
		<category><![CDATA[messaging]]></category>
		<category><![CDATA[service orientation architecture]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[systematic reuse]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2701</guid>
		<description><![CDATA[Working with clients who are consuming your services? Here is a mini-checklist of questions to ask: While executing request/reply on the service interface is there a timeout value set on the call? Is there code/logic to handle SOAP Faults /system exceptions when invoking the service? Is building service header separated from the payload? This will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&#038;blog=7058737&#038;post=2701&#038;subd=softwarereuse&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Working with clients who are consuming your services? Here is a mini-checklist of questions to ask:</p>
<ol>
<li>While executing request/reply on the service interface is there a timeout value set on the call?</li>
<li>Is there code/logic to handle SOAP Faults /system exceptions when invoking the service?</li>
<li>Is building service header separated from the payload? This will facilitate reuse across services that share common header parameters</li>
<li>If there are certain error codes that the calling code can handle, is there logic for each of them?</li>
<li>Is the physical end point information (URL string for HTTP, Queue connection and name for MQ/EMS) stored in an external configuration file?</li>
<li>Is UTF-8 encoding used while sending XML requests to the service i.e. by making use of platform-specific UTF encoding objects?</li>
<li>If using form-encoding are unsafe characters such as ‘&amp;’, ‘+’, ‘@’ escaped using appropriate %xx (hexadecimal) values?</li>
<li>While processing the service response is the logic for parsing/processing SOAP and service-specific headers decoupled from processing the business data elements?</li>
<li>Is the entire request/reply operation – invocation and response handling logic – encapsulated into its own class or method call?</li>
<li>While performing testing, is the appropriate testing environment URL/queue manager being used?</li>
<li>Is a valid correlation id being used in the service request? This is very essential for aynchronous request/reply over JMS (JMS Header) or HTTP (callback handler)</li>
</ol>
<br /> Tagged: <a href='http://artofsoftwarereuse.com/tag/checklist/'>checklist</a>, <a href='http://artofsoftwarereuse.com/tag/messaging/'>messaging</a>, <a href='http://artofsoftwarereuse.com/tag/service-orientation-architecture/'>service orientation architecture</a>, <a href='http://artofsoftwarereuse.com/tag/services/'>services</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/web-services/'>web services</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarereuse.wordpress.com/2701/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarereuse.wordpress.com/2701/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarereuse.wordpress.com/2701/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarereuse.wordpress.com/2701/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarereuse.wordpress.com/2701/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarereuse.wordpress.com/2701/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarereuse.wordpress.com/2701/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarereuse.wordpress.com/2701/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarereuse.wordpress.com/2701/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarereuse.wordpress.com/2701/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarereuse.wordpress.com/2701/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarereuse.wordpress.com/2701/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarereuse.wordpress.com/2701/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarereuse.wordpress.com/2701/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&#038;blog=7058737&#038;post=2701&#038;subd=softwarereuse&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofsoftwarereuse.com/2012/05/27/client-integration-mini-checklist-for-services/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>What I&#8217;m Reading</title>
		<link>http://artofsoftwarereuse.com/2012/05/26/what-im-reading/</link>
		<comments>http://artofsoftwarereuse.com/2012/05/26/what-im-reading/#comments</comments>
		<pubDate>Sat, 26 May 2012 11:12:52 +0000</pubDate>
		<dc:creator>vijaynarayanan</dc:creator>
				<category><![CDATA[Reading]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[design patterns]]></category>
		<category><![CDATA[fault tolerant]]></category>

		<guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2696</guid>
		<description><![CDATA[Reading a couple of patterns books: Service Design Patterns Patterns for Fault Tolerant Software Tagged: books, design patterns, fault tolerant<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&#038;blog=7058737&#038;post=2696&#038;subd=softwarereuse&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Reading a couple of patterns books:</p>
<p><a href="http://www.amazon.com/Service-Design-Patterns-Fundamental-Solutions/dp/032154420X/ref=sr_1_1?ie=UTF8&amp;qid=1338030399&amp;sr=8-1"><img class="alignnone" src="http://ecx.images-amazon.com/images/I/41A7b4McRzL._SX35_.jpg" alt="" width="35" height="47" /></a></p>
<p><a href="http://www.amazon.com/Service-Design-Patterns-Fundamental-Solutions/dp/032154420X/ref=sr_1_1?ie=UTF8&amp;qid=1338030399&amp;sr=8-1">Service Design Patterns</a></p>
<p><a href="http://www.amazon.com/Patterns-Fault-Tolerant-Software-Series/dp/0470319798/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1338030475&amp;sr=1-1"><img class="alignnone" src="http://ecx.images-amazon.com/images/I/41lT5KcEUKL._SX35_.jpg" alt="" width="35" height="45" /></a></p>
<p><a href="http://www.amazon.com/Patterns-Fault-Tolerant-Software-Series/dp/0470319798/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1338030475&amp;sr=1-1">Patterns for Fault Tolerant Software</a></p>
<br /> Tagged: <a href='http://artofsoftwarereuse.com/tag/books/'>books</a>, <a href='http://artofsoftwarereuse.com/tag/design-patterns/'>design patterns</a>, <a href='http://artofsoftwarereuse.com/tag/fault-tolerant/'>fault tolerant</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarereuse.wordpress.com/2696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarereuse.wordpress.com/2696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarereuse.wordpress.com/2696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarereuse.wordpress.com/2696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarereuse.wordpress.com/2696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarereuse.wordpress.com/2696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarereuse.wordpress.com/2696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarereuse.wordpress.com/2696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarereuse.wordpress.com/2696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarereuse.wordpress.com/2696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarereuse.wordpress.com/2696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarereuse.wordpress.com/2696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarereuse.wordpress.com/2696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarereuse.wordpress.com/2696/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&#038;blog=7058737&#038;post=2696&#038;subd=softwarereuse&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofsoftwarereuse.com/2012/05/26/what-im-reading/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>

		<media:content url="http://ecx.images-amazon.com/images/I/41A7b4McRzL._SX35_.jpg" medium="image" />

		<media:content url="http://ecx.images-amazon.com/images/I/41lT5KcEUKL._SX35_.jpg" medium="image" />
	</item>
		<item>
		<title>Every Project Is An Opportunity</title>
		<link>http://artofsoftwarereuse.com/2012/05/26/every-project-is-an-opportunity/</link>
		<comments>http://artofsoftwarereuse.com/2012/05/26/every-project-is-an-opportunity/#comments</comments>
		<pubDate>Sat, 26 May 2012 11:03:06 +0000</pubDate>
		<dc:creator>vijaynarayanan</dc:creator>
				<category><![CDATA[Reuse]]></category>
		<category><![CDATA[systematic reuse]]></category>
		<category><![CDATA[systematic software reuse]]></category>

		<guid isPermaLink="false">http://artofsoftwarereuse.com/?p=1234</guid>
		<description><![CDATA[Succeed with systematic reuse by pursuing opportunities across every project. Every single project. Explore synergies across projects to not only identify new reusable components but also update existing ones. Here are a few common areas that yield reusable components: Data access and updates &#8211; is there a single suite of APIs for managing core data? [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&#038;blog=7058737&#038;post=1234&#038;subd=softwarereuse&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Succeed with systematic reuse by pursuing opportunities across every project. Every single project. Explore synergies across projects to not only identify new reusable components but also update existing ones. Here are a few common areas that yield reusable components:</p>
<ul>
<li>Data access and updates &#8211; is there a single suite of APIs for managing core data? are there redundant implementations, overlapping calls, across projects?</li>
<li>Domain rules &#8211; are domain rules organized in a clear and well maintainable manner? or are they split across layers and implemented using multiple technologies/strategies?</li>
<li>Processing templates &#8211; are there a common set of steps of relevance in your domain? are these steps always executed in a consistent manner? is there an opportunity to Templatize the steps?</li>
<li>Config management &#8211; how are applications managing configuration properties? how do they enable properties for a particular environment? how does an application get only properties that it is entitled to?</li>
</ul>
<p>The above isn&#8217;t exhaustive but gives you a flavor for the kinds of questions that will drive opportunities for systematic reuse</p>
<br /> Tagged: <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/1234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarereuse.wordpress.com/1234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarereuse.wordpress.com/1234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarereuse.wordpress.com/1234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarereuse.wordpress.com/1234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarereuse.wordpress.com/1234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarereuse.wordpress.com/1234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarereuse.wordpress.com/1234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarereuse.wordpress.com/1234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarereuse.wordpress.com/1234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarereuse.wordpress.com/1234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarereuse.wordpress.com/1234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarereuse.wordpress.com/1234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarereuse.wordpress.com/1234/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&#038;blog=7058737&#038;post=1234&#038;subd=softwarereuse&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofsoftwarereuse.com/2012/05/26/every-project-is-an-opportunity/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>Have a Reuse Strategy for Business Process Integrations</title>
		<link>http://artofsoftwarereuse.com/2012/01/29/have-a-reuse-strategy-for-business-process-integrations/</link>
		<comments>http://artofsoftwarereuse.com/2012/01/29/have-a-reuse-strategy-for-business-process-integrations/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 12:57:53 +0000</pubDate>
		<dc:creator>vijaynarayanan</dc:creator>
				<category><![CDATA[BPM]]></category>
		<category><![CDATA[Reuse]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[business process]]></category>
		<category><![CDATA[design strategy]]></category>
		<category><![CDATA[Service-oriented architecture]]></category>
		<category><![CDATA[systematic reuse]]></category>

		<guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2688</guid>
		<description><![CDATA[When implementing process automation initiatives, it is important to have a reuse strategy &#8211; why? Because, the process flows are a rich minefield for reusing services and common interfaces across a variety of use cases. It can also act as a service provider for other teams to invoke/integrate a common set of processing flows. Host [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&#038;blog=7058737&#038;post=2688&#038;subd=softwarereuse&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When implementing process automation initiatives, it is important to have a reuse strategy &#8211; why? Because, the process flows are a rich minefield for reusing services and common interfaces across a variety of use cases. It can also act as a service provider for other teams to invoke/integrate a common set of processing flows.</p>
<p><strong>Host business process definitions and instances</strong></p>
<ul>
<li>Provide a modeling and execution environment for designing and implementing business processes</li>
<li>Implement a generic data structure for manipulating &amp; orchestrating workflow state</li>
<li>Provide the ability to reuse a workflow patterns across business processes. E.g. enable reuse via sub-processes, process extension points, etc.</li>
<li>Provide the ability to access and orchestrate activities requiring interaction with data services and business rules, and legacy services</li>
</ul>
<p><strong>Act as services consumer &amp; provider</strong></p>
<ul>
<li>Host process orchestrations, while consuming persistence, validation, and security services</li>
<li>Abstract legacy capabilities and reduce tight coupling between internal systems</li>
<li>Publish and consume business events to reduce application to application coupling</li>
</ul>
<p>&nbsp;</p>
<p><strong>Evolve a reusable asset catalog</strong></p>
<ul>
<li>Ensure technology components and APIs have domain relevance &#8211; data, events, and relationships are fundamental abstractions need to be brought together</li>
<li>Reduce learning curve for application developers to identify, evaluate, and integrate process definitions and services from a library of reusable assets</li>
</ul>
<br /> Tagged: <a href='http://artofsoftwarereuse.com/tag/bpm/'>BPM</a>, <a href='http://artofsoftwarereuse.com/tag/business-process/'>business process</a>, <a href='http://artofsoftwarereuse.com/tag/design-strategy/'>design strategy</a>, <a href='http://artofsoftwarereuse.com/tag/service-oriented-architecture/'>Service-oriented architecture</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/2688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarereuse.wordpress.com/2688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarereuse.wordpress.com/2688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarereuse.wordpress.com/2688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarereuse.wordpress.com/2688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarereuse.wordpress.com/2688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarereuse.wordpress.com/2688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarereuse.wordpress.com/2688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarereuse.wordpress.com/2688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarereuse.wordpress.com/2688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarereuse.wordpress.com/2688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarereuse.wordpress.com/2688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarereuse.wordpress.com/2688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarereuse.wordpress.com/2688/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&#038;blog=7058737&#038;post=2688&#038;subd=softwarereuse&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofsoftwarereuse.com/2012/01/29/have-a-reuse-strategy-for-business-process-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>
		<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&#038;blog=7058737&#038;post=2685&#038;subd=softwarereuse&#038;ref=&#038;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&#038;blog=7058737&#038;post=2685&#038;subd=softwarereuse&#038;ref=&#038;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&#038;blog=7058737&#038;post=2125&#038;subd=softwarereuse&#038;ref=&#038;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&#038;blog=7058737&#038;post=2125&#038;subd=softwarereuse&#038;ref=&#038;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&#038;blog=7058737&#038;post=2663&#038;subd=softwarereuse&#038;ref=&#038;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&#038;blog=7058737&#038;post=2663&#038;subd=softwarereuse&#038;ref=&#038;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[service governance]]></category>
		<category><![CDATA[systematic reuse]]></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&#038;blog=7058737&#038;post=2651&#038;subd=softwarereuse&#038;ref=&#038;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&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&#038;blog=7058737&#038;post=2651&#038;subd=softwarereuse&#038;ref=&#038;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&#038;blog=7058737&#038;post=2646&#038;subd=softwarereuse&#038;ref=&#038;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&#038;blog=7058737&#038;post=2646&#038;subd=softwarereuse&#038;ref=&#038;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[metrics]]></category>
		<category><![CDATA[service metrics]]></category>
		<category><![CDATA[service orientation]]></category>
		<category><![CDATA[service reuse]]></category>
		<category><![CDATA[systematic reuse]]></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&#038;blog=7058737&#038;post=2636&#038;subd=softwarereuse&#038;ref=&#038;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&#038;blog=7058737&#038;post=2636&#038;subd=softwarereuse&#038;ref=&#038;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>
	</channel>
</rss>
