<?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>Saravanan's musings and scribbles &#187; Software</title>
	<atom:link href="http://saravananp.wordpress.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://saravananp.wordpress.com</link>
	<description>My thoughts on technology, business and management</description>
	<lastBuildDate>Wed, 03 Oct 2007 10:24:40 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='saravananp.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/671c11b85b3da2f6bae632f872db95d5?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Saravanan's musings and scribbles &#187; Software</title>
		<link>http://saravananp.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://saravananp.wordpress.com/osd.xml" title="Saravanan&#8217;s musings and scribbles" />
		<item>
		<title>JMX and JBOSS Architecture</title>
		<link>http://saravananp.wordpress.com/2007/04/26/jmx-and-jboss-architecture/</link>
		<comments>http://saravananp.wordpress.com/2007/04/26/jmx-and-jboss-architecture/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 05:32:02 +0000</pubDate>
		<dc:creator>Saravanan</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://saravananp.wordpress.com/2007/04/26/jmx-and-jboss-architecture/</guid>
		<description><![CDATA[Look at this link if you want to understand the JBOSS Architecture. Initially I was under impression that JMX is used only for management and monitoring. But the JBOSS architecture shows how powerful is JMX and how it can be used to enhance modularity in your applications.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saravananp.wordpress.com&blog=330265&post=36&subd=saravananp&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Look at <a href="http://www.ubookcase.com/book/Sams/JBoss.4.0.The.Official.Guide/0672326485/main.html" title="http://www.ubookcase.com/book/Sams/JBoss.4.0.The.Official.Guide/0672326485/main.html" target="_blank">this </a>link if you want to understand the JBOSS Architecture. Initially I was under impression that JMX is used only for management and monitoring. But the JBOSS architecture shows how powerful is JMX and how it can be used to enhance modularity in your applications.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/saravananp.wordpress.com/36/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/saravananp.wordpress.com/36/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saravananp.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saravananp.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saravananp.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saravananp.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saravananp.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saravananp.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saravananp.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saravananp.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saravananp.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saravananp.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saravananp.wordpress.com&blog=330265&post=36&subd=saravananp&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saravananp.wordpress.com/2007/04/26/jmx-and-jboss-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dbd270f1eb2dd00735ae1bc6bafea3a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">saravanan</media:title>
		</media:content>
	</item>
		<item>
		<title>Configuration management best practices</title>
		<link>http://saravananp.wordpress.com/2007/03/30/configuration-management-best-practices/</link>
		<comments>http://saravananp.wordpress.com/2007/03/30/configuration-management-best-practices/#comments</comments>
		<pubDate>Fri, 30 Mar 2007 18:54:40 +0000</pubDate>
		<dc:creator>Saravanan</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://saravananp.wordpress.com/2007/03/30/configuration-management-best-practices/</guid>
		<description><![CDATA[In my earlier post, I discussed about how the configurations can be managed in an enterprise application easily. This is an exclusive post to discuss about the configuration management best practices based on my experience.
1. Put comments for every configuration parameters. This applies for configurations as it applies for code. The operations team who will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saravananp.wordpress.com&blog=330265&post=31&subd=saravananp&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In my earlier post, I discussed about how the configurations can be managed in an enterprise application easily. This is an exclusive post to discuss about the configuration management best practices based on my experience.</p>
<p>1. Put comments for every configuration parameters. This applies for configurations as it applies for code. The operations team who will manage it  cannot understand it without comments. Also if new instance is setup, you may not be involved and comments will help operations to decide the new value.</p>
<p>2. Where ever possible, put the example values in comments and how the application will be behave if the value is changed</p>
<p>3. If the configuration file is shared with other components, maintain a copy of parameters used by your application. This will help you if you want to maintain the configurations separately.</p>
<p>4. Though java properties files are good, to maintain large configuration information, I prefer Windows INI format for its grouping.  Let the configuration readers return the values in java properties format.</p>
<p>5. Have a singleton configuration loader to manage the configurations. Application will always get the value from configuration loader and NOT cache it locally</p>
<p>6. Implement JMX console to refresh configuration values in singleton loaders so that application need not be restarted.</p>
<p>7. You can also put a monitor to load configurations if the file is modified. This will avoid the server restart to apply the new configuration values.</p>
<p>8. The last but the most important one &#8211; NEVER modify your configuration file without taking a backup. If the file gets messed up and without backup, your service will be severely impacted and you cannot meet your SLA.</p>
<p class="MsoNormal">&nbsp;</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/saravananp.wordpress.com/31/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/saravananp.wordpress.com/31/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saravananp.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saravananp.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saravananp.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saravananp.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saravananp.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saravananp.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saravananp.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saravananp.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saravananp.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saravananp.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saravananp.wordpress.com&blog=330265&post=31&subd=saravananp&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saravananp.wordpress.com/2007/03/30/configuration-management-best-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dbd270f1eb2dd00735ae1bc6bafea3a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">saravanan</media:title>
		</media:content>
	</item>
		<item>
		<title>Improving user experience in SOA</title>
		<link>http://saravananp.wordpress.com/2007/01/05/improving-user-experience-in-soa/</link>
		<comments>http://saravananp.wordpress.com/2007/01/05/improving-user-experience-in-soa/#comments</comments>
		<pubDate>Fri, 05 Jan 2007 03:31:19 +0000</pubDate>
		<dc:creator>Saravanan</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://saravananp.wordpress.com/2007/01/05/improving-user-experience-in-soa/</guid>
		<description><![CDATA[User experience in SOA is the delight your service consumers have while using your service. First time service providers find it very difficult to match the user expectations leading to integration issues and schedule impacts. The main reason for this is the way the service is visualized by the provider. During the API design, the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saravananp.wordpress.com&blog=330265&post=21&subd=saravananp&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>User experience in SOA is the delight your service consumers have while using your service. First time service providers find it very difficult to match the user expectations leading to integration issues and schedule impacts. The main reason for this is the way the service is visualized by the provider. During the API design, the first time designer does is to think the service from <em>his </em>web application context and expose fine grained APIs which cannot be used by different consumers. These fine grained APIs restricts the API usage during integration with other services. The following are the guidelines I learnt by mistakes which will help you in improving user experience of your API.</p>
<p>1. Never expose a fine grained API unless and otherwise required.</p>
<p>2. Document, Document, Document</p>
<p>3. Don&#8217;t change the exposed API signature. Changing API signature will be nightmarish if you have fine grained APIs and is under usage.</p>
<p>4. Exceptions &#8211; You can use Runtime Exceptions but document it so that consumers can catch if needed.</p>
<p>5. Log, log, log &#8211; Log everything at API level. What comes in and goes out has to be logged. Never assume anything as trivial and skip logging. Storage is cheaper than spending hours in support and debug. If someone complains about your service and if you don’t any log to prove it wrong, till you prove you are culprit. </p>
<p class="MsoNormal">6. Keep track of your consumers and understand how they access your service. If the way they access is very much different, include unit test cases to check the connectivity if you change your container or argument names.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/saravananp.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/saravananp.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saravananp.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saravananp.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saravananp.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saravananp.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saravananp.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saravananp.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saravananp.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saravananp.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saravananp.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saravananp.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saravananp.wordpress.com&blog=330265&post=21&subd=saravananp&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saravananp.wordpress.com/2007/01/05/improving-user-experience-in-soa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dbd270f1eb2dd00735ae1bc6bafea3a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">saravanan</media:title>
		</media:content>
	</item>
		<item>
		<title>How to be a programmer</title>
		<link>http://saravananp.wordpress.com/2007/01/03/how-to-be-a-programmer/</link>
		<comments>http://saravananp.wordpress.com/2007/01/03/how-to-be-a-programmer/#comments</comments>
		<pubDate>Wed, 03 Jan 2007 02:02:34 +0000</pubDate>
		<dc:creator>Saravanan</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://saravananp.wordpress.com/2007/01/03/how-to-be-a-programmer/</guid>
		<description><![CDATA[Whenever I read the article &#8220;How to be a Programmer: A Short, Comprehensive, and Personal Summary&#8220;, I find it new and get a new perspective. A must read for all working in software and IT industry.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saravananp.wordpress.com&blog=330265&post=22&subd=saravananp&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Whenever I read the article &#8220;<a href="http://samizdat.mines.edu/howto/HowToBeAProgrammer.html" title="HowToBeAProgrammer" target="_blank">How to be a Programmer: A Short, Comprehensive, and Personal Summary</a>&#8220;, I find it new and get a new perspective. A must read for all working in software and IT industry.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/saravananp.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/saravananp.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saravananp.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saravananp.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saravananp.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saravananp.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saravananp.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saravananp.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saravananp.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saravananp.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saravananp.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saravananp.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saravananp.wordpress.com&blog=330265&post=22&subd=saravananp&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saravananp.wordpress.com/2007/01/03/how-to-be-a-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dbd270f1eb2dd00735ae1bc6bafea3a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">saravanan</media:title>
		</media:content>
	</item>
		<item>
		<title>Software Services Management in high SLA environment</title>
		<link>http://saravananp.wordpress.com/2007/01/02/software-services-management-in-high-sla-environment/</link>
		<comments>http://saravananp.wordpress.com/2007/01/02/software-services-management-in-high-sla-environment/#comments</comments>
		<pubDate>Tue, 02 Jan 2007 09:13:34 +0000</pubDate>
		<dc:creator>Saravanan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://saravananp.wordpress.com/2007/01/02/software-services-management-in-high-sla-environment/</guid>
		<description><![CDATA[SOA is touted as it going to remove all the integration pain points. But with disparate technologies and platforms supporting the services within the organization, managing the softwares is a big pain. Managing the end points and configurations to support *ability (maintainability, extensibility, availability&#8230; ) are becoming a operations nightmare in managing them in high [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saravananp.wordpress.com&blog=330265&post=18&subd=saravananp&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>SOA is touted as it going to remove all the integration pain points. But with disparate technologies and platforms supporting the services within the organization, managing the softwares is a big pain. Managing the end points and configurations to support *ability (maintainability, extensibility, availability&#8230; ) are becoming a operations nightmare in managing them in high SLA environments where penalty clauses are included for service non availablity. Everybody will prefer a platform where services autodiscover others and manage the connectivity themselves during failovers. You can incorporate this when you are working on greenfield project or with a refactoring budget. But during the course of a release, if you (as a developer) want to refactor to make your life better, you can put the following things which will help both development and operations. The following is mostly based on webservices. I will put another post for ESB models.</p>
<p>1. Separate the application and connectivity configurations. Let the operations manage the connectivity configurations. Application configuration has to be managed by developers and released to operations. If a application configuration changes frequently, let operations handle that parameters. Configuration loader has to manage it intelligently.</p>
<p>2. Put singleton configuration loaders to load the configurations and have a JMX or similar module to support refreshing. With this we can avoid restarts in high SLA environments.</p>
<p>3. Put the heart beat monitors to check the health of other services. By taking proactive steps, we can minimize the impact due to non-availability.</p>
<p>4. Put a seprate monitor to monitor the health of your service. With this you will not let down your consumers during a critical work flow.</p>
<p>5. Design the application for failover.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/saravananp.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/saravananp.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saravananp.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saravananp.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saravananp.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saravananp.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saravananp.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saravananp.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saravananp.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saravananp.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saravananp.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saravananp.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saravananp.wordpress.com&blog=330265&post=18&subd=saravananp&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saravananp.wordpress.com/2007/01/02/software-services-management-in-high-sla-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dbd270f1eb2dd00735ae1bc6bafea3a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">saravanan</media:title>
		</media:content>
	</item>
	</channel>
</rss>