<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Art of Software Reuse</title><link>http://artofsoftwarereuse.com</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SoftwareReuseInTheRealWorld" /><description>Enabling Organizational Agility using Systematic Software Reuse</description><language>en</language><image><link>http://artofsoftwarereuse.com</link><url>http://0.gravatar.com/blavatar/867ea3399412f403d50af9d95344fa89?s=96&amp;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url><title>Art of Software Reuse</title></image><lastBuildDate>Fri, 06 Apr 2012 18:35:35 PDT</lastBuildDate><generator>http://wordpress.com/</generator><sy:updatePeriod xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">hourly</sy:updatePeriod><sy:updateFrequency xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">1</sy:updateFrequency><atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="search" type="application/opensearchdescription+xml" href="http://artofsoftwarereuse.com/osd.xml" title="Art of Software Reuse" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SoftwareReuseInTheRealWorld" /><feedburner:info uri="softwarereuseintherealworld" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://artofsoftwarereuse.com/?pushpress=hub" /><geo:lat>40.10386</geo:lat><geo:long>-74.937343</geo:long><feedburner:emailServiceId>SoftwareReuseInTheRealWorld</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/SoftwareReuseInTheRealWorld" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FSoftwareReuseInTheRealWorld" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><feedburner:browserFriendly>(Enter a personal message you would like to have appear at the top of your feed.)</feedburner:browserFriendly><item><title>Have a Reuse Strategy for Business Process Integrations</title><link>http://feedproxy.google.com/~r/SoftwareReuseInTheRealWorld/~3/x9syJCWnZGU/</link><category>BPM</category><category>Reuse</category><category>SOA</category><category>business process</category><category>design strategy</category><category>Service-oriented architecture</category><category>systematic reuse</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">vijaynarayanan</dc:creator><pubDate>Sun, 29 Jan 2012 04:57:53 PST</pubDate><guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2688</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?a=x9syJCWnZGU:JXaQT40GbFA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareReuseInTheRealWorld/~4/x9syJCWnZGU" height="1" width="1"/>]]></content:encoded><description>When implementing process automation initiatives, it is important to have a reuse strategy &amp;#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 [...]&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;amp;blog=7058737&amp;amp;post=2688&amp;amp;subd=softwarereuse&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://artofsoftwarereuse.com/2012/01/29/have-a-reuse-strategy-for-business-process-integrations/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content><feedburner:origLink>http://artofsoftwarereuse.com/2012/01/29/have-a-reuse-strategy-for-business-process-integrations/</feedburner:origLink></item><item><title>Detect Service Availability Issues Before Your Clients Do</title><link>http://feedproxy.google.com/~r/SoftwareReuseInTheRealWorld/~3/npttvY107Ro/</link><category>Reuse</category><category>SOA</category><category>availability</category><category>Service-oriented architecture</category><category>systematic software reuse</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">vijaynarayanan</dc:creator><pubDate>Mon, 16 Jan 2012 19:07:42 PST</pubDate><guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2685</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?a=npttvY107Ro:35VgMAp78JI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareReuseInTheRealWorld/~4/npttvY107Ro" height="1" width="1"/>]]></content:encoded><description>When service capabilities get reused across applications and processes, high availability becomes imperative &amp;#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 [...]&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;amp;blog=7058737&amp;amp;post=2685&amp;amp;subd=softwarereuse&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://artofsoftwarereuse.com/2012/01/17/detect-service-availability-issues-before-your-clients-do/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content><feedburner:origLink>http://artofsoftwarereuse.com/2012/01/17/detect-service-availability-issues-before-your-clients-do/</feedburner:origLink></item><item><title>Role of Systematic Reuse in Enterprise Integration</title><link>http://feedproxy.google.com/~r/SoftwareReuseInTheRealWorld/~3/a2VrdYfYEb0/</link><category>General</category><category>Reuse</category><category>EAI</category><category>integration</category><category>integration points</category><category>software reuse</category><category>systematic software reuse</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">vijaynarayanan</dc:creator><pubDate>Sat, 07 Jan 2012 09:04:42 PST</pubDate><guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2125</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?a=a2VrdYfYEb0:OAGT4XxWTck:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareReuseInTheRealWorld/~4/a2VrdYfYEb0" height="1" width="1"/>]]></content:encoded><description>Systematic reuse in the context of enterprise integration provides several benefits: allows the team to evolve consistent set of data interfaces across integration efforts &amp;#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 [...]&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;amp;blog=7058737&amp;amp;post=2125&amp;amp;subd=softwarereuse&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://artofsoftwarereuse.com/2012/01/07/role-of-systematic-reuse-in-enterprise-integration/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content><feedburner:origLink>http://artofsoftwarereuse.com/2012/01/07/role-of-systematic-reuse-in-enterprise-integration/</feedburner:origLink></item><item><title>Software Reuse Quick Tip #29</title><link>http://feedproxy.google.com/~r/SoftwareReuseInTheRealWorld/~3/_BwBRHCpWBA/</link><category>Reuse</category><category>documentation</category><category>software reuse</category><category>tips</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">vijaynarayanan</dc:creator><pubDate>Sun, 01 Jan 2012 07:32:24 PST</pubDate><guid isPermaLink="false">http://softwarereuse.wordpress.com/?p=2663</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?a=_BwBRHCpWBA:w-8UyAjFKQA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareReuseInTheRealWorld/~4/_BwBRHCpWBA" height="1" width="1"/>]]></content:encoded><description>Tip #29 &amp;#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&amp;#8217;t meant to do. Though it is a critical success factor, maintaining documentation manually is a time consuming task [...]&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;amp;blog=7058737&amp;amp;post=2663&amp;amp;subd=softwarereuse&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://artofsoftwarereuse.com/2012/01/01/software-reuse-quick-tip-29/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content><feedburner:origLink>http://artofsoftwarereuse.com/2012/01/01/software-reuse-quick-tip-29/</feedburner:origLink></item><item><title>Governance Enables Service Reuse – New Podcast Episode</title><link>http://feedproxy.google.com/~r/SoftwareReuseInTheRealWorld/~3/I4pjSJW0ERE/</link><category>Planning</category><category>Reuse</category><category>SOA</category><category>podcast</category><category>service governance</category><category>systematic reuse</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">vijaynarayanan</dc:creator><pubDate>Mon, 26 Dec 2011 16:15:21 PST</pubDate><guid isPermaLink="false">http://softwarereuse.wordpress.com/?p=2651</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?a=I4pjSJW0ERE:BEp2ogqDxYY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareReuseInTheRealWorld/~4/I4pjSJW0ERE" height="1" width="1"/>]]></content:encoded><description>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&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;amp;blog=7058737&amp;amp;post=2651&amp;amp;subd=softwarereuse&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://artofsoftwarereuse.com/2011/12/27/governance-enables-service-reuse-new-podcast-episode/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://feedproxy.google.com/~r/SoftwareReuseInTheRealWorld/~5/lEaTDUOOh0I/episode_17.mp3" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content><media:content xmlns:media="http://search.yahoo.com/mrss/" 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 xmlns:media="http://search.yahoo.com/mrss/" url="http://softwarereuse.files.wordpress.com/2009/04/podcast.png" medium="image">
			<media:title type="html">podcast</media:title>
		</media:content><feedburner:origLink>http://artofsoftwarereuse.com/2011/12/27/governance-enables-service-reuse-new-podcast-episode/</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/SoftwareReuseInTheRealWorld/~5/lEaTDUOOh0I/episode_17.mp3" length="5689596" type="audio/mpeg" /><feedburner:origEnclosureLink>http://softwarereuse.podbean.com/mf/web/gfwuui/episode_17.mp3</feedburner:origEnclosureLink></item><item><title>Systematic Reuse Mythbuster #1 – Reusable Doesn’t Mean Perfection</title><link>http://feedproxy.google.com/~r/SoftwareReuseInTheRealWorld/~3/QWq6FfOM7h0/</link><category>Design</category><category>Reuse</category><category>domain modeling</category><category>interfaces</category><category>mythbuster</category><category>refactoring</category><category>reuse myth</category><category>systematic reuse</category><category>systematic software reuse</category><category>variability</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">vijaynarayanan</dc:creator><pubDate>Mon, 26 Dec 2011 00:48:18 PST</pubDate><guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2646</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?a=QWq6FfOM7h0:ga6bpZ6nblQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareReuseInTheRealWorld/~4/QWq6FfOM7h0" height="1" width="1"/>]]></content:encoded><description>One common criticism against systematic software reuse is the myth that it implies perfection &amp;#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 [...]&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;amp;blog=7058737&amp;amp;post=2646&amp;amp;subd=softwarereuse&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://artofsoftwarereuse.com/2011/12/26/systematic-reuse-mythbuster-1-reusable-doesnt-mean-perfection/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content><feedburner:origLink>http://artofsoftwarereuse.com/2011/12/26/systematic-reuse-mythbuster-1-reusable-doesnt-mean-perfection/</feedburner:origLink></item><item><title>Track Service Reuse Metrics</title><link>http://feedproxy.google.com/~r/SoftwareReuseInTheRealWorld/~3/-tlOHpq3TYs/</link><category>General</category><category>Reuse</category><category>SOA</category><category>metrics</category><category>service metrics</category><category>service orientation</category><category>service reuse</category><category>systematic reuse</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">vijaynarayanan</dc:creator><pubDate>Sat, 24 Dec 2011 04:53:20 PST</pubDate><guid isPermaLink="false">http://softwarereuse.wordpress.com/?p=2636</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?a=-tlOHpq3TYs:KZ7M_5R4_sg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareReuseInTheRealWorld/~4/-tlOHpq3TYs" height="1" width="1"/>]]></content:encoded><description>Service driven systematic reuse takes conscious design decisions, governance, and disciplined execution &amp;#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 [...]&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;amp;blog=7058737&amp;amp;post=2636&amp;amp;subd=softwarereuse&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://artofsoftwarereuse.com/2011/12/24/track-service-reuse-metrics/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content><feedburner:origLink>http://artofsoftwarereuse.com/2011/12/24/track-service-reuse-metrics/</feedburner:origLink></item><item><title>5 Service Governance Practices for Effective Reuse</title><link>http://feedproxy.google.com/~r/SoftwareReuseInTheRealWorld/~3/P4vtnQ2LHOU/</link><category>Reuse</category><category>SOA</category><category>service governance</category><category>systematic reuse</category><category>systematic software reuse</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">vijaynarayanan</dc:creator><pubDate>Fri, 23 Dec 2011 21:09:50 PST</pubDate><guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2563</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?a=P4vtnQ2LHOU:Ujp-UsR0b2o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareReuseInTheRealWorld/~4/P4vtnQ2LHOU" height="1" width="1"/>]]></content:encoded><description>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 [...]&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;amp;blog=7058737&amp;amp;post=2563&amp;amp;subd=softwarereuse&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://artofsoftwarereuse.com/2011/12/24/5-service-governance-practices-for-effective-reuse/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content><feedburner:origLink>http://artofsoftwarereuse.com/2011/12/24/5-service-governance-practices-for-effective-reuse/</feedburner:origLink></item><item><title>Reusable Capabilities When Hosting Business Processes</title><link>http://feedproxy.google.com/~r/SoftwareReuseInTheRealWorld/~3/YJQs_XBTp5w/</link><category>BPM</category><category>Design</category><category>Reuse</category><category>Business process management</category><category>systematic reuse</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">vijaynarayanan</dc:creator><pubDate>Mon, 07 Nov 2011 04:43:09 PST</pubDate><guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2533</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?a=YJQs_XBTp5w:BbZs56j8auw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareReuseInTheRealWorld/~4/YJQs_XBTp5w" height="1" width="1"/>]]></content:encoded><description>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 [...]&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;amp;blog=7058737&amp;amp;post=2533&amp;amp;subd=softwarereuse&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://artofsoftwarereuse.com/2011/11/07/reusable-capabilities-when-hosting-business-processes/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content><feedburner:origLink>http://artofsoftwarereuse.com/2011/11/07/reusable-capabilities-when-hosting-business-processes/</feedburner:origLink></item><item><title>10 Signs Services Are Accumulating Technical Debt</title><link>http://feedproxy.google.com/~r/SoftwareReuseInTheRealWorld/~3/IzUMvdciko0/</link><category>Reuse</category><category>SOA</category><category>Service-oriented architecture</category><category>sevices</category><category>systematic reuse</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">vijaynarayanan</dc:creator><pubDate>Sat, 05 Nov 2011 19:26:51 PDT</pubDate><guid isPermaLink="false">http://artofsoftwarereuse.com/?p=2220</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?a=IzUMvdciko0:tjIYV2Kujpc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareReuseInTheRealWorld?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareReuseInTheRealWorld/~4/IzUMvdciko0" height="1" width="1"/>]]></content:encoded><description>Your teams are busy building services and service enabled processes &amp;#8211; great! &amp;#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 [...]&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofsoftwarereuse.com&amp;amp;blog=7058737&amp;amp;post=2220&amp;amp;subd=softwarereuse&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://artofsoftwarereuse.com/2011/11/06/10-signs-services-are-accumulating-technical-debt/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://0.gravatar.com/avatar/edf4a0cc88a15552fecbf78099c790ac?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">vijay</media:title>
		</media:content><feedburner:origLink>http://artofsoftwarereuse.com/2011/11/06/10-signs-services-are-accumulating-technical-debt/</feedburner:origLink></item></channel></rss>

