<?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, 29 Jan 2012 15:13:57 +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>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&amp;blog=7058737&amp;post=2688&amp;subd=softwarereuse&amp;ref=&amp;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&amp;blog=7058737&amp;post=2688&amp;subd=softwarereuse&amp;ref=&amp;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&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[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&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[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&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>
	</channel>
</rss>
