<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Damitha's Web Log</title>
	<atom:link href="http://damithakumarage.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://damithakumarage.wordpress.com</link>
	<description>You believe it or not. Truth is truth. It is not your belief.</description>
	<lastBuildDate>Thu, 05 Nov 2009 16:56:24 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='damithakumarage.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/fbb367b1418c132e784f626f91d73d30?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Damitha's Web Log</title>
		<link>http://damithakumarage.wordpress.com</link>
	</image>
			<item>
		<title>Logic</title>
		<link>http://damithakumarage.wordpress.com/2009/11/05/logic/</link>
		<comments>http://damithakumarage.wordpress.com/2009/11/05/logic/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 15:41:05 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/2009/11/05/logic/</guid>
		<description><![CDATA[Of all Mathematics I learned at my undergraduate courses I value most the simple but powerful two logics which I consider are very useful in understanding the world.
They are,
1. x ⇒ y (x implies y or if x then y)
2. x ⇔ y ( x if and only if y)
These two logics apply in most [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=284&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Of all Mathematics I learned at my undergraduate courses I value most the simple but powerful two logics which I consider are very useful in understanding the world.<br />
They are,</p>
<p>1. x ⇒ y (<em>x implies y</em> or <em>if x then y</em>)<br />
2. x ⇔ y ( <em>x if and only if y</em>)</p>
<p>These two logics apply in most of the things we see/hear in our every day life. To understand them one need not have great learning on Mathematics or Logic. It is very intuitive, yet very subtle in their application. Some times it may seem too simple. But when you think carefully you understand that you need to be very careful in applying them with facts.</p>
<p>First simply mean that if x is true then y must be true. It is that simple. The only fact we know is that if x is true then y must be true. Take x and y to be any two facts that you face in life. For example let x be the fact that you buying product O from company M and y be the fact that you get discount in buying O.</p>
<p>So here our <strong>expressed</strong> logic is</p>
<p>If you buy O from M then you will get discount.</p>
<p>This could be any marketing propaganda that you are targeted at in your every day life. So what do you think?. What if you don&#8217;t buy O?. Then you won&#8217;t get discount?. The answer is, If you don&#8217;t buy from M, there is no more implication about your discounts with regard to buying from M. Of course you may still get discount by buying from some other company. May be not. We cannot come to any precise conclusion about your discounts from the given logic.</p>
<p>x ⇒ y is not equalent to (not x) ⇒ (not y). But sadly this is something that most people take without giving proper heed to the facts.</p>
<p>But here is an equivalent logic</p>
<p>x ⇒ y  is equivalent to (not y) ⇒  (not x)</p>
<p>So under the context of our example we can say that</p>
<p>If you are not getting discount in buying your O  then you haven&#8217;t bought O from M. Yes this is true.</p>
<p>So what if x ⇒ y and (not x) ⇒ (not y) are both given as true logic?</p>
<p>Look carefully. (not x) ⇒ (not y) is equivalent to</p>
<p>(not (not y)) ⇒ (not (not x)). What does that mean?. It is simply y ⇒ x.</p>
<p>So we have both x ⇒ y and y ⇒ x. In other words x if and only if y. This logic is defined with the symbol x ⇔ y.</p>
<p>So when this apply to our example it says</p>
<p>If you buy O from M then you get discount and if you get discount then you have bought it from M. So in this case it is to be understood that only M company gives discount for O and no other company in this world give a discount for O. If some company express such logic it should be taken as very strong claim. You get discount for product O if and only if you get O product from our company.</p>
<p>When reading anything, hearing anything I tend to think precisely along these logics. In that way I believe I get no more than it really mean, and no less than it really mean. This result in very little chance of getting cheated at least.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/284/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/284/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/284/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/284/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/284/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/284/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/284/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/284/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/284/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/284/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=284&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2009/11/05/logic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Plot diagrams with gnuplot</title>
		<link>http://damithakumarage.wordpress.com/2009/09/22/plot-diagrams-with-gnuplot/</link>
		<comments>http://damithakumarage.wordpress.com/2009/09/22/plot-diagrams-with-gnuplot/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 12:38:59 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=277</guid>
		<description><![CDATA[I needed a good tool to easily map the results from my performance tests into human readable graphs. After much R&#38;D I finally settled with the tool called gnuplot. Earlier I used openoffice chart tool for drawing simple charts. But it has limited capabilities and not so easy to customize. With gnuplot I could easily [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=277&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I needed a good tool to easily map the results from my performance tests into human readable graphs. After much R&amp;D I finally settled with the tool called gnuplot. Earlier I used openoffice chart tool for drawing simple charts. But it has limited capabilities and not so easy to customize. With gnuplot I could easily draw my histgrams just by giving all data in a file and giving all commands in a separate file. Following I explain how.<br />
First install gnuplot on your working machine. In ubuntu </p>
<p><strong>apt-get install gnuplot</strong></p>
<p>Then I created my command file called data.p</p>
<p><code># set terminal png transparent nocrop enhanced font arial 8 size 420,320<br />
set output 'mygraph.png'<br />
set xlabel "Message Type"<br />
set ylabel "Requests per second"<br />
set boxwidth 0.9 absolute<br />
set style fill   solid 1.00 border -1<br />
set style histogram clustered gap 1 title  offset character 0, 0, 0<br />
set datafile missing '-'<br />
set style data histograms<br />
set xtics border in scale 1,0.5 nomirror rotate by -45  offset character 0, 0, 0<br />
set xtics   ("echoDoubles" 0.00000, "echoInts" 1.00000, "echoMeshInterfaceObjects" 2.00000, "echoSimpleEvents" 3.00000, "echoStrings" 4.00000)<br />
set title "Large Data Sets(500 elements)\nResults from Apache Bench"<br />
set yrange [ 0.00000 : 700. ] noreverse nowriteback<br />
plot 'mydata.dat' using 2:xtic(1) ti col, '' u 3 ti col</code></p>
<p>It easy to understand the commands by following <a href="http://www.duke.edu/~hpgavin/gnuplot.html"> gnuplot tutorial</a></p>
<p>Then I created my data file called mydata.dat</p>
<p><code># Large Data Sets(500 elements)<br />
#<br />
Region                                 Axis2/C         Waspc<br />
echoDoubles                        340.07          273.04<br />
echoInts                              452.17          318.69<br />
echoMeshInterfaceObjects    162.90          79.40<br />
echoSimpleEvents                101.16          68.78<br />
echoStrings                          542.96          270.54</code></p>
<p>Note that commented lines are interpreted as comments by gnuplot. Data columns are separated by tabs or spaces but not by colons or any other delimiter.<br />
Now execute command gnuplot and go into the gnuplot command line interface. Now from within gnuplot execute</p>
<p><strong>gnuplot&gt; load &#8216;./mydata.p&#8217;</strong></p>
<p>which will draw the following histogram</p>
<p><img src="http://damithakumarage.files.wordpress.com/2009/09/mygraph1.png?w=300&#038;h=168" alt="mygraph" title="mygraph" width="300" height="168" class="aligncenter size-medium wp-image-280" /></p>
<p>This approach is very easy because each time I update my performance test results I just need to change the data in my .dat file and after that just execute gnuplot to redraw the graphs.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/277/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=277&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2009/09/22/plot-diagrams-with-gnuplot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>

		<media:content url="http://damithakumarage.files.wordpress.com/2009/09/mygraph1.png?w=300" medium="image">
			<media:title type="html">mygraph</media:title>
		</media:content>
	</item>
		<item>
		<title>WSO2 Web Services Framework for C++ (WSO2 WSF/C++) 2.0.0 Released</title>
		<link>http://damithakumarage.wordpress.com/2009/07/24/wso2-web-services-framework-for-c-wso2-wsfc-2-0-0-released/</link>
		<comments>http://damithakumarage.wordpress.com/2009/07/24/wso2-web-services-framework-for-c-wso2-wsfc-2-0-0-released/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 06:12:12 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[soa]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=269</guid>
		<description><![CDATA[I&#8217;m very much pleased to acknowledge the WSF/C++ release from WSO2. This is a long felt need for the WSO2 web services stacks in C/C++.  As I have pointed out in my article comparing WSF/C and gSOAP as well as article compaing WSF/C and RogueWave&#8217;s HydraExpress the main minus point for WSF/C stack was [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=269&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;m very much pleased to acknowledge the <a href="http://wso2.org/projects/wsf/cpp">WSF/C++</a> release from WSO2. This is a long felt need for the WSO2 web services stacks in C/C++.  As I have pointed out in my <a href="http://wso2.org/library/articles/feature-comparrision-wsf-c-gsoap">article comparing WSF/C and gSOAP</a> as well as <a href="http://wso2.org/library/articles/feature-comparision-wsf-c-roguewaves-hydraexpress">article compaing WSF/C and RogueWave&#8217;s HydraExpress</a> the main minus point for WSF/C stack was its lacking of C++ API level support. Even at the time I was compairing these stacks WSF/C++ 1.0.0 was available but without code generation support and server side support. WSF/C++ is a fully featured release with API&#8217;s for writing services as well as complete code generation support. So now I can speak of WSF/C++ as a complete web services stack for C/C++ web services development with the added advantage of providing C++ support over the already feature rich <a href="http://wso2.org/projects/wsf/c">WSF/C</a> stack.<br />
While using the C++ API&#8217;s for writing web services, developers can always exploit the underline WSF/C core API&#8217;s to his advantage.  </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/269/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/269/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/269/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/269/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/269/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/269/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/269/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/269/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/269/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/269/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=269&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2009/07/24/wso2-web-services-framework-for-c-wso2-wsfc-2-0-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>When faced with flat tire</title>
		<link>http://damithakumarage.wordpress.com/2009/03/15/when-faced-with-flat-tire/</link>
		<comments>http://damithakumarage.wordpress.com/2009/03/15/when-faced-with-flat-tire/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 06:22:43 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=253</guid>
		<description><![CDATA[How many of you like to have your tire completely flat at an isolated area with 15km back to the previous town and 15km to the next town?. Well it happened to me yesterday on my bike where there is no spare wheel for rescue. I inspected the flat tire but could not find any [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=253&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>How many of you like to have your tire completely flat at an isolated area with 15km back to the previous town and 15km to the next town?. Well it happened to me yesterday on my bike where there is no spare wheel for rescue. I inspected the flat tire but could not find any nail or nothing struct to the tire.<br />
For a long time I kept a flat mate can in my traveling bag in addition to the necessary tool set. I have never tried it and in fact did not have much faith in it. Since there was no alternative I tried it. Bravo, it fixed the thing. It emits a white creamy rubber solution into the tire while inflating the tire with pressure. The cream is supposed to fix all the punctures.<br />
The instruction on the bottle says to travel slowly and fix the puncture within next 15-20km. In the next town I stopped at a tire service place and they said no need to do a separate patch and asked me to continue without any doubt. I traveled about another 30km in high speed and still the tire goes strong. I bought the can for about 800Rupees and it rewarded me at last. Even in a car this is good thing to keep stand by because it prevents you from all the hassle of changing wheels until you go to next service station.<br />
<img class="alignnone size-full wp-image-260" title="how to hold patch can" src="http://damithakumarage.files.wordpress.com/2009/03/sany00351.jpg?w=500&#038;h=374" alt="how to hold patch can" width="500" height="374" /></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/253/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=253&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2009/03/15/when-faced-with-flat-tire/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>

		<media:content url="http://damithakumarage.files.wordpress.com/2009/03/sany00351.jpg" medium="image">
			<media:title type="html">how to hold patch can</media:title>
		</media:content>
	</item>
		<item>
		<title>Benchmark testing with httperf</title>
		<link>http://damithakumarage.wordpress.com/2009/03/15/benchmark-testing-with-httperf/</link>
		<comments>http://damithakumarage.wordpress.com/2009/03/15/benchmark-testing-with-httperf/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 04:21:18 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[httperf]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=235</guid>
		<description><![CDATA[In a previous blog I discussed benchmark testing tools I used for some benchmark perposes. At that time I really used Apache Bench(ab) for the purpose. However when I am again doing some bench mark testing I stumbled upon a new tool(at least for me) httperf which seems to be more advanced and reliable than [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=235&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In a <a href="http://damithakumarage.wordpress.com/2008/07/11/benchmark-testing-tools-for-web-services/">previous blog</a> I discussed benchmark testing tools I used for some benchmark perposes. At that time I really used Apache Bench(ab) for the purpose. However when I am again doing some bench mark testing I stumbled upon a new tool(at least for me) httperf which seems to be more advanced and reliable than ab. Although there were ample guidance on how to use this for http GET requests I could not find any easy to read guide on how to use httperf with http POST requests. Following I try to explain how httperf could be used in testing my services.</p>
<pre>httperf --server localhost --port 9090 --uri /axis2/services/weather
     --num-conn 4000 --num-call 16 --rate 64 --timeout 5 &gt; report</pre>
<p>Above command is a simple scenario where I request a HTTP get request on a servic running on context /axis2/services/weather on localhost.</p>
<p>It is important to understand the  options for the command.</p>
<p>1. &#8211;server &#8211; ip of the machine service is running</p>
<p>2. &#8211;port &#8211; port the service is running</p>
<p>3. &#8211;uri &#8211; The context path of the service on the server</p>
<p>4. &#8211;num-con &#8211; Number of test calls made to the service</p>
<p>5. &#8211;num-call &#8211; Number of calls per tcp connection.</p>
<p>6. &#8211;rate &#8211; Number of connections created per second to make requests to the service.</p>
<p>7. &#8211;time-out &#8211; This is the maximum time httperf wait for a successful response.</p>
<p>It is important to understand the correct balance between num-conn, num-call and rate options.</p>
<p>The maximum number of requests the httperf would generate = num-call * rate</p>
<p>Clearly your num-conn could be reasonably higher than this number. You could experiment between num-call and rate to produce a good load to the server. The actual number of requests to the server you will see in the generated report could be less than this number depending on the saturation of the server, client or network bandwidth. If such thing happen you need to reduce your num-call or rate options and find out at what point exactly saturation happen. If your num-conn is very large your server may exaust all servicing processes after some time.</p>
<p>Now let&#8217;s look at a more advance scenario. Here I am sending a http post request with some payload defined in the file name inputfile.</p>
<pre>httperf --server localhost --port 80 --uri /axis2/services/weather --hog --method POST
    --add-header="Content-type:application/soap+xml;charset=UTF-8``\n``"
    --wsesslog=4000,0,inputfile --max-piped-calls 16 --rate 64 --timeout 5  &gt; result</pre>
<p>In adition to the payload you can also specify the http method and the server context uri in this input file. For more descriptions on writing this input file read [1]. Following is the content of the inputfile I used.</p>
<pre>/axis2/services/weather method=POST contents="&lt;soapenv:Envelope xmlns:soapenv=
\"http://www.w3.org/2003/05/soap-envelope\"&gt;&lt;soapenv:Header xmlns:wsa=
\"http://www.w3.org/2005/08/addressing\"&gt;&lt;wse:Identifier xmlns:wse=
\"http://schemas.xmlsoap.org/ws/2004/08/eventing\"&gt;
urn:uuid:57becf58-0fc3-1de1-24ad-0012f0b857ac&lt;/wse:Identifier&gt;
&lt;wsa:To&gt;http://localhost:9090/axis2/services/weather&lt;/wsa:To&gt;
&lt;wsa:Action&gt;http://schemas.xmlsoap.org/ws/2004/08/eventing/GetStatus&lt;/wsa:Action&gt;
&lt;wsa:MessageID&gt;urn:uuid:14d256a2-0f95-1de1-2b1a-0012f0b857ac&lt;/wsa:MessageID&gt;
&lt;/soapenv:Header&gt;&lt;soapenv:Body&gt;&lt;wse:GetStatus xmlns:wse=
\"http://schemas.xmlsoap.org/ws/2004/08/eventing\"&gt;&lt;/wse:GetStatus&gt;
&lt;/soapenv:Body&gt;&lt;/soapenv:Envelope&gt;"</pre>
<p>The important additional options of the above command is<br />
1.<em>&#8211;wsesslog</em> &#8211; This value for this option is a three comma separated parameters. First one is the number of request sessions you need to make to the server. Second is used to emulate a real user delay between sessions. Third is the inputfile.</p>
<p>2. <em>&#8211;max-piped-calls</em> &#8211; Number of calls need in one tcp connection(in http 1.1). This is used instead of num-call here.</p>
<p>[1] http://www.xenoclast.org/doc/benchmark/HTTP-benchmarking-HOWTO/node6.html</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/235/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=235&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2009/03/15/benchmark-testing-with-httperf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>What is good for Axis2/C pthreads or cbthreads?</title>
		<link>http://damithakumarage.wordpress.com/2009/03/08/what-is-good-for-axis2c-pthreads-or-cbthreads/</link>
		<comments>http://damithakumarage.wordpress.com/2009/03/08/what-is-good-for-axis2c-pthreads-or-cbthreads/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 13:29:16 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Axis2/C]]></category>
		<category><![CDATA[cbthreads]]></category>
		<category><![CDATA[pthreads]]></category>
		<category><![CDATA[Thread Pool]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=217</guid>
		<description><![CDATA[Dinesh Premalal in his blog post on Axis2/C with cbthread explain that using cbthreads he ran about 100,000 concurrent requests using Axis2/C client. The reason for this achievement is because of the non-preemptive and continuation-based threads implemented with cbthreads. However in his next blog Axis2/C with pthreads he goes on explaining how he used similer [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=217&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://nethu.org/">Dinesh Premalal</a> in his blog post on <a href="http://nethu.org/2009/03/01/axis2c-with-cbthread/">Axis2/C with cbthread</a> explain that using <a href="http://www.cs.utk.edu/~plank/plank/cbthread/">cbthreads</a> he ran about 100,000 concurrent requests using Axis2/C client. The reason for this achievement is because of the non-preemptive and continuation-based threads implemented with cbthreads. However in his next blog <a href="http://nethu.org/2009/03/05/axis2c-with-pthreads/">Axis2/C with pthreads</a> he goes on explaining how he used similer Axis2/C client with pthreads and could only run about 300 concurrent requests. This is predictable because each thread in pthreads consume considerable amount of memory in it&#8217;s stack-based nature implementation. In adition Dinesh&#8217;s program for pthreads does not use a thread pool which cause the the program to create threads until system resources exhausted.</p>
<p>In cbthreads home page it is mentioned</p>
<p><em>&#8220;A downside of having a non-preemptive thread system is that you cannot assign threads to blocking system calls as you can with pthreads, and have threads run while the system call blocks.   If you do, the entire process blocks.&#8221;</em></p>
<p>This reason highly discourage using cbthreads for Axis2/C. Besides pthreads is provenly portable among numerous platforms. In my opinion what Axis2/C needs is a good thread pool implementation using pthreads.</p>
<p>In search of a good thread pool using pthreads I came across <a href="http://www.hlnum.org/english/projects/tools/threadpool/doc.html">this one</a> which seems to be a good candidate. I wrote a similer client as Dinesh wrote for testing cbthreads using this pthreads thread pool.</p>
<p>Axis2/C client With pthread threadpool for 10,000 request<br />
real	1m9.974s<br />
user	0m34.890s<br />
sys	0m9.297s</p>
<p>Axis2/C client with cbthreads for 10,000 requests<br />
real	3m29.835s<br />
user	0m13.621s<br />
sys	0m8.857s</p>
<p>This shows that using pthreads with a good thread pool is the right way to use pthreads for Axis2/C with it&#8217;s all proven features.</p>
<p>To try this with Axis2/C echo.cpp client program do the following steps.</p>
<p>1. Download the pthread pool from <a href="http://www.hlnum.org/english/projects/tools/threadpool/download.html">here</a> and build the source by executing <em>make </em>in the root source folder.</p>
<p>2. Install Axis2/C. I assume you installed it into /axis2c/deploy.(You need Axis2/C 1.6 or build it from svn source)</p>
<p>3. Copy the following echo.cpp source file and build.sh build script into the same source folder.</p>
<p>4. Execute build.sh and run the exectuable program.</p>
<p>One thing to notice about the echo.cpp code is creating service client for each thread. Main overhead of creating service client is associated with creating the Axis2/C main cofiguration context. This is reduced by creating each service client passing the same configuratin context as following.</p>
<pre>conf_ctx = axis2_svc_client_get_conf_ctx(svc_client, env);
svc = axis2_svc_client_get_svc(svc_client, env);
svc_client = axis2_svc_client_create_with_conf_ctx_and_svc(env, client_home, conf_ctx, svc);</pre>
<p><span style="text-decoration:underline;"><strong>echo.cpp</strong></span></p>
<p><!-- 	 	 --></p>
<pre>#include &lt;TThreadPool.hh&gt;
#include &lt;stdio.h&gt;
#include &lt;stdio.h&gt;
#include &lt;axiom.h&gt;
#include &lt;axis2_util.h&gt;
#include &lt;axiom_soap.h&gt;
#include &lt;axis2_client.h&gt;
#include &lt;axis2_conf_ctx.h&gt;
#include &lt;axis2_svc.h&gt;

#define NTHREADS 10000
#define POOLSIZE 100

axiom_node_t *
build_om_payload_for_echo_svc(const axutil_env_t * env);

typedef struct _svcinfo {
    const axutil_env_t *env;
    axis2_svc_client_t *svc_client;
    axis2_char_t *address;
}svc_info_t;

static void svc_client_send_request (void *v);

class echo : public TThreadPool::TJob
{
public:
   echo ( int id )
       : TThreadPool::TJob( id )
   {
   }

public:
  void run ( void * arg )
  {
      svc_client_send_request(arg);
  }
};

int
main(int argc, char **argv)
{
    const axutil_env_t *env = NULL;
    const axis2_char_t *address = NULL;
    axis2_endpoint_ref_t *endpoint_ref = NULL;
    axis2_options_t *options = NULL;
    const axis2_char_t *client_home = NULL;
    axis2_svc_client_t *svc_client = NULL;
    int i = 0;
    TThreadPool * pool = NULL;
    axis2_conf_ctx_t *conf_ctx = NULL;
    axis2_svc_t *svc = NULL;

    /* Set up the environment */
    env = axutil_env_create_all("echo.log", AXIS2_LOG_LEVEL_TRACE);

    /* Set end point reference of echo service */
    address = "http://localhost:9091/axis2/services/echo";
    if (argc &gt; 1)
    {
        if (axutil_strcmp(argv[1], "-h") == 0)
        {
            printf("Usage : %s [endpoint_url]\n",
                   argv[0]);
            printf("use -h for help\n");
            return 0;
        }
        else
        {
            address = argv[1];
        }
    }
    printf("Using endpoint : %s\n", address);

    /* Set up deploy folder. It is from the deploy folder, the configuration is picked up
     * using the axis2.xml file.
     * In this sample client_home points to the Axis2/C default deploy folder. The client_home can
     * be different from this folder on your system. For example, you may have a different folder
     * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the
     * modules that the client uses
     */
    client_home = AXIS2_GETENV("AXIS2C_HOME");
    if (!client_home || !strcmp(client_home, ""))
        client_home = "../..";

    /* Create service client */
    svc_client = axis2_svc_client_create(env, client_home);
    if (!svc_client)
    {
        printf
            ("Error creating service client, Please check AXIS2C_HOME again\n");
        AXIS2_LOG_ERROR(env-&gt;log, AXIS2_LOG_SI,
                        "Stub invoke FAILED: Error code:" " %d :: %s",
                        env-&gt;error-&gt;error_number,
                        AXIS2_ERROR_GET_MESSAGE(env-&gt;error));
        return -1;
    }

    /* Set service client options */
    axis2_svc_client_set_options(svc_client, env, options);

    /* Engage addressing module */
    axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING);

    conf_ctx = axis2_svc_client_get_conf_ctx(svc_client, env);
    svc = axis2_svc_client_get_svc(svc_client, env);
    pool = new TThreadPool( POOLSIZE );

    for (i = 0; i &lt; NTHREADS; i++)
    {
        echo *job = new echo(i);
        axis2_svc_client_t *t_client = NULL;
        svc_info_t *svcinfo = NULL;

        svcinfo = (svc_info_t *) malloc (sizeof (svc_info_t));
        if (!svcinfo)
        {
            fprintf (stderr, "no enough memory\n");
            exit (1);
        }
        svcinfo-&gt;env = env;
        t_client = axis2_svc_client_create_with_conf_ctx_and_svc(env, client_home, conf_ctx, svc);
        svcinfo-&gt;svc_client = t_client;
        svcinfo-&gt;address = (axis2_char_t *) address;
        pool-&gt;run( job, (void *) svcinfo, true );
    }

    pool-&gt;sync_all();
    axis2_svc_client_free(svc_client, env);
    printf("success\n");
    return 0;
}

/* build SOAP request message content using OM */
axiom_node_t *
build_om_payload_for_echo_svc(
    const axutil_env_t * env)
{
    axiom_node_t *echo_om_node = NULL;
    axiom_element_t *echo_om_ele = NULL;
    axiom_node_t *text_om_node = NULL;
    axiom_element_t *text_om_ele = NULL;
    axiom_namespace_t *ns1 = NULL;
    axis2_char_t *om_str = NULL;

    ns1 =
        axiom_namespace_create(env, "http://ws.apache.org/axis2/services/echo",
                               "ns1");
    echo_om_ele =
        axiom_element_create(env, NULL, "echoString", ns1, &amp;echo_om_node);
    text_om_ele =
        axiom_element_create(env, echo_om_node, "text", NULL, &amp;text_om_node);
    axiom_element_set_text(text_om_ele, env, "Hello World!", text_om_node);
    om_str = axiom_node_to_string(echo_om_node, env);

    if (om_str)
    {
        AXIS2_FREE(env-&gt;allocator, om_str);
        om_str = NULL;
    }
    return echo_om_node;
}

static void
svc_client_send_request (void *v)
{
    svc_info_t *svcinfo;
    const axutil_env_t *env;
    axis2_svc_client_t *svc_client;
    axiom_node_t *payload = NULL;
    axiom_node_t *ret_node;
    axis2_options_t *options = NULL;
    axis2_endpoint_ref_t *endpoint_ref = NULL;
    axis2_char_t *address = NULL;

    svcinfo = (svc_info_t *)v;
    env = svcinfo-&gt;env;
    svc_client = svcinfo-&gt;svc_client;
    address = svcinfo-&gt;address;

    options = (axis2_options_t *) axis2_svc_client_get_options(svc_client, env);
    if(!options)
    {
        options = axis2_options_create(env);
        axis2_svc_client_set_options(svc_client, env, options);
    }

    endpoint_ref = axis2_endpoint_ref_create(env, address);

    axis2_options_set_to(options, env, endpoint_ref);
    axis2_options_set_action(options, env,
                             "http://ws.apache.org/axis2/c/samples/echoString");

    /* Build the SOAP request message payload using OM API. */
    payload = build_om_payload_for_echo_svc(env);

    /* Send request */
    ret_node = axis2_svc_client_send_receive(svc_client, env, payload);

    if (ret_node)
    {
        axiom_node_free_tree(payload, env);
        axiom_node_free_tree(ret_node, env);
        ret_node = NULL;
        printf("Invoke SUCCESSFUL\n");
    }
    else
    {
        AXIS2_LOG_ERROR(env-&gt;log, AXIS2_LOG_SI,
                        "Stub invoke FAILED: Error code:" " %d :: %s",
                        env-&gt;error-&gt;error_number,
                        AXIS2_ERROR_GET_MESSAGE(env-&gt;error));
        printf("echo client invoke FAILED\n");
    }

    if(svcinfo)
    {
        AXIS2_FREE(env-&gt;allocator, svcinfo);
        svcinfo = NULL;
    }
    axis2_svc_client_free(svc_client, env);
}</pre>
<p><span style="text-decoration:underline;"><strong>build.sh</strong></span></p>
<p><!-- 	 	 --></p>
<pre>gcc *.cpp -oecho -I./src libthrpool.a -lstdc++ -lpthread -L/axis2c/deploy/lib -lm -laxis2_engine -laxutil -laxis2_axiom -I. -I/axis2c/deploy/include/axis2-1.6.0/</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/217/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=217&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2009/03/08/what-is-good-for-axis2c-pthreads-or-cbthreads/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Memory Handling conventions in Axis2/C</title>
		<link>http://damithakumarage.wordpress.com/2009/03/07/memory-handling-conventions-in-axis2c/</link>
		<comments>http://damithakumarage.wordpress.com/2009/03/07/memory-handling-conventions-in-axis2c/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 05:49:09 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=207</guid>
		<description><![CDATA[I found no documentation on basic memory handling conventions in Axis2/C. Until this content appear under a developer guide for Axis2/C, here are some facts that could be useful in preparing such document. Here I don&#8217;t talk about advance facilities provided regarding memory management in Axis2/C. However I&#8217;ll provide links below for such documents. I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=207&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I found no documentation on basic memory handling conventions in Axis2/C. Until this content appear under a developer guide for Axis2/C, here are some facts that could be useful in preparing such document. Here I don&#8217;t talk about advance facilities provided regarding memory management in Axis2/C. However I&#8217;ll provide links below for such documents. I just talk about few points that could be useful for service and client developers in handling memory which are not included in the above mentioned documents.</p>
<p><strong>Memory handling in services</strong></p>
<p>Axis2/C services should be written implementing the API defined in axis2_svc_skeleton.h.  Basically if your service name is echo you will have two implementation files echo_skeleton.c and echo.c. echo_skeleton.c will contain the functions implementing the API including life-cycle management functions of the service. They are echo_create(), echo_init(), echo_free, echo_invoke and echo_on_fault(). Within the create function you will instantiate axis2_svc_skeleton_t stuct and assign your services operation structure to the svc_skeleton_t structures operation structure so that your functions will be called from withing the Axis2/C engine.<br />
Within free function you will free the sekelton structure you allocated in create function. When the service unloaded this function is called by the engine to free the service resources. If you allocate any additional stuff withing the service create function it is your responsibility to free them then and there.<br />
In invoke function you can check the operation requested and call the appropriate service function from echo.c where all the service logic functions are implemented. The response nodes if any are created withing these service functions will be freed by the Axis2/C engine. Also any property you set there into Axis2/C configuration context structures will be garbaged by the Axis2/C engine according to their life scope. Any additional stuff you created there must be handled by your self.</p>
<p>In the on_fault function you can create a fault node which could be inserted as detail element in creating soap faults by the engine when something goes wrong when invoking your service. It is the responsibility of the Axis2/C engine to free such nodes.</p>
<p><strong>Memory handling in clients</strong></p>
<p>Most of the memory allocated in the client side (including SOAP request and reply messages), should be cleaned in the client side itself. Memory allocated for properties are taken care of by the SOAP engine. SOAP engine reclaims the memory allocated for properties based on the scope (Request, Session or Application) you set for each property.</p>
<p>You can read more advance information regarding memory management in Axis2/C in the following articles. However some of these articles are old so if you find it is difficult to understand them with the current Axis2/c code base don&#8217;t hesitate to ask in the Axis2/C developer list.</p>
<p><a href="http://wso2.org/library/3412">Overcoming Memory Related Issues in Axis2/C</a></p>
<p><a href="http://wso2.org/library/237">Memory Management with Apache Axis2/C</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/207/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=207&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2009/03/07/memory-handling-conventions-in-axis2c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Writing robust programs in C</title>
		<link>http://damithakumarage.wordpress.com/2009/01/08/writing-robust-programs-in-c/</link>
		<comments>http://damithakumarage.wordpress.com/2009/01/08/writing-robust-programs-in-c/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 11:55:33 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Axis2/C]]></category>
		<category><![CDATA[Error handling in C]]></category>
		<category><![CDATA[Exception Handling in C]]></category>
		<category><![CDATA[wsf/C]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=184</guid>
		<description><![CDATA[The draft named Robust design techniques for C Programs by David Turner introduce a modern languages like approach for exception handling in C. It speaks about four approaches for error handling in C.
1. Being extremely paranoid.
2. Implementing transactions which in concept similer to commit/rollback approach in databases.
3. Structured Exception Handling(SEH)
4. Cleanup stack exception handling(CSEH)
Of the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=184&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The draft named <a href="http://www.freetype.org/david/reliable-c.html">Robust design techniques for C Programs</a> by David Turner introduce a modern languages like approach for exception handling in C. It speaks about four approaches for error handling in C.</p>
<p>1. Being extremely paranoid.</p>
<p>2. Implementing transactions which in concept similer to commit/rollback approach in databases.</p>
<p>3. Structured Exception Handling(SEH)</p>
<p>4. Cleanup stack exception handling(CSEH)</p>
<p>Of the four he recommends 4 th approach as the best. He expect that this paper will stir interest in this technique and motivate enough people to introduce such features in the libraries and programs they write..</p>
<p>I recently wrote an article for WSO2 Oxygentank called &#8220;Using WSF/C extended error handling mechanism in your own modules and applications.&#8221; which basically explain how WSF/C stack handle errors. From the above four approaches what WSF/C has taken is paranoid approach like many popular libraries programmed in C. However I belive that WSF/C could also greatly benefit from CSEH approach if carefully adopted. Infact <a href="http://www.jclark.com/">James Clerk</a> hinted about this approach in the early days of Axis2/C design discussions.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/184/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=184&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2009/01/08/writing-robust-programs-in-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Jeep Trek through Bambarakanda</title>
		<link>http://damithakumarage.wordpress.com/2009/01/07/bambarakanda-jeep-trek/</link>
		<comments>http://damithakumarage.wordpress.com/2009/01/07/bambarakanda-jeep-trek/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 06:46:51 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Bambarakanda falls]]></category>
		<category><![CDATA[Devil's stair case]]></category>
		<category><![CDATA[Gonamale]]></category>
		<category><![CDATA[Jeep trek to Horton plains]]></category>
		<category><![CDATA[Vangedigala]]></category>
		<category><![CDATA[VCut pass]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=160</guid>
		<description><![CDATA[This time we decided to go on a trip on jeeps. Sanjaya and I prepared our jeeps for the journey. The route was decided to be the well known jeep trek from Kalupahana(On Colombo-Haputale road) to Ohiya through Bambarakanda falls. Participants were Sanjaya, Janapriya, Amila, Nandika, Dumindu, Dushyantha and his wife, Diluka, Me and my [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=160&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This time we decided to go on a trip on jeeps. Sanjaya and I prepared our jeeps for the journey. The route was decided to be the well known jeep trek from Kalupahana(On Colombo-Haputale road) to Ohiya through Bambarakanda falls. Participants were Sanjaya, Janapriya, Amila, Nandika, Dumindu, Dushyantha and his wife, Diluka, Me and my wife.<br />
We started from the office at about 11am in the morning and reached Kalupahana at about 3.30pm. From Kalupahana we  did a sharp left turn towards Bambarakanda falls. We travelled upwards about 4 kilometers on a narrow road which has some 45 degree bends towards the end of that distance and then suddenly we were in the vicinity of the awe-inspiring view of the Bambarakanda falls.</p>
<p><img class="alignnone size-full wp-image-161" title="Bambarakanda Waterfall" src="http://damithakumarage.files.wordpress.com/2009/01/sany0205.jpg?w=500&#038;h=374" alt="Bambarakanda Waterfall" width="500" height="374" /></p>
<p><em><strong>Bambarakanda falls as first seen when we travel from Kalupahana</strong></em></p>
<p>We stayed the night at Bambarakanda Rest managed by a Lady called Sera. There are 3 peaks that surround the view from Bambarakanda Rest. One of them is Vangedigala Kanda and the one next to it is called Gobbelikanda. Gonamale Kanda is next to it. They are one moutain range. We were informed that if we trek to these mountains we can have a good view of the country. So we set out in the morning to climb Vangedigala and then Gobbelikanda. Vangedigala and Gobbelikanda peak are joined through a narrow path through the mountain range. For a serious trekker the climb from Rest house to Vangedigala is about two hour climb. But it took for our team about 4 hours to reach the Vangedigala. We traveled through the edge of a pine forest which extend from the root to the top. Just before the peak there was a very steep climb through the rock which posed to be very dangerous specially when it rains. Just as we reached there heavy downpour wahsed all of us making the climb extremely difficult. From Vangedigala to Gobbelikanda kanda it is only about 1/2 hour walk through the narrow gap I mentioned. The areas is covered with thick grass upto the Gobbelikanda. Once we reached the Gobbelikanda we could see that it strech further in a similar grass covered path towards Gonamale Kanda. However we could see that after some distance the grass path ends and there starts the thick jungle which could take another day to reach it. The view from GobbeliKanda is extremely beautiful and we were lucky to have clear surronding with sun shine which helped to view the vast country around. It is my advice that if you plan on climbing a mountain start it early in the morning in a sunny day. Because after the noon normally the mist would cover up the surrounding and it would be only mist nothing else you would see which is just the thing happened in our laster year journey to Namunukula Kanda. In a way it is also nice experience like in mid of a floating cloud.</p>
<p><img class="alignnone size-full wp-image-170" title="View of Vangedigala kanda peak from Vangedigala" src="http://damithakumarage.files.wordpress.com/2009/01/sany0252.jpg?w=500&#038;h=374" alt="View of Vangedigala kanda peak from Vangedigala" width="500" height="374" /></p>
<p><em><strong>View of Gobbelikanda peak from Vangedigala peak</strong></em></p>
<p>Towards one side of the moutain(in the direction of the Bambarakanda falls) we could see only big mountain which extends towards Worlds end. We could see the origins of Bambarakanda falls from there through which our path next day towards Horton plains could be seen as a long winding serpant. On the other side of the mountain there strecthed the vast country extending towards down south through Balangoda area. We found that certain posts like road side milestone posts which within a gap about 300 meters between any two of them stretched from the start of our path  to the top of the mountain and strectching even further. This coud indeed be used as a good way of finding the correct path for a new comer. Janapriya has a good panoramic view from the peak (soon to be published) in his <a href="http://www.janapriya.net/">blog</a>. When you view this panorama you could experience the surrounding view from mountain as if you were really there.</p>
<p>The back journey through the pine forest was extremely difficult after the rain. Rubber slippers were extremely  unsuitable for such descends when it is rainy. Some kind of moutain boots are the best. We reached the rest at about 8pm.</p>
<p>Next day we set out for Ohiya through the well known jeep trek. The cllimb was extremely difficult for a non- 4*4 vehicle. But since both of us had vehicles best suited for the journey(Mitsubishi 4DR5 and Suzuki Jimney) it caused us no problem. The first half of the steep climb end at about 2 hours of climb at a pass called V-Cut. The road is strewn with various size/shape of stones which posed extreme danger for the tires. We stopped at V-Cut which is supposed to be in the area just on the top of Bambarakanda falls. The view from there towards the path we travelled so far could make the weaker heart tremble.</p>
<p><img class="alignnone size-full wp-image-163" title="Path we travelled from Bambarakanda rest as seen from V-Cut pass " src="http://damithakumarage.files.wordpress.com/2009/01/sany03511.jpg?w=500&#038;h=374" alt="Path we travelled from Bambarakanda rest as seen from V-Cut pass " width="500" height="374" /></p>
<p><strong><em>Path we travelled from Bambarakanda rest as seen from V-Cut pass </em></strong></p>
<p>The v-cut pass is situated in the gap between two mountains. From now on it is a second mountain we start to climb. After few distance we crossed a ford which is the stream that feed water to Bambarakanda falls. After some more distance our way laid through a tea estate and some estate settlements. After yet another rigorous climb we reached the top of that mountain from which started a steep descent called Devils staircase. Devil&#8217;s staircase is some three hairpin bends descending down into the opposite side of the mountain. This path is concrete paved extremely easing the descent, which could otherwise be disasterous. When you look ahead from Devil&#8217;s staircase you can see some long distance in the to be travelled road where you can see a bend in the road from where the mountain you are currently in is separated from another mountain through which the road ahead lies. Just after this bend you can see that there is a sharp climb to the left in a sharp left bend from the main road to Ohiya. We learnt that this road leads to Horton Plains through some sharp bends and climbs. But we were also informed by the same people that it won&#8217;t be as difficult as the road we travelled so far. Howerver we choose to follow our original path to Ohiya.</p>
<p>Few distance from the above mentioned junction towards Ohiya we found a place in the road from which we had the best view so far in our journey. Lo and Behold. This is one of the best mountain scenes that I have ever experienced anywhere in our beautiful  hill country.</p>
<p><img class="alignnone size-full wp-image-168" title="View after some distance passing Devil's staircase" src="http://damithakumarage.files.wordpress.com/2009/01/sany0378.jpg?w=500&#038;h=374" alt="View after some distance passing Devil's staircase" width="500" height="374" /></p>
<p><em><strong>View after some distance passing Devil&#8217;s staircase</strong></em></p>
<p>From that point on we travelled some further distance through unmaintained difficult roads passing Estate Superintendent&#8217;s bungalow and Udaveriya tea estate factory. At some point we found concrete paved road the kind of which I have never seen anywhere else. The road is concreted only along the two wheel tracks. Middle is left unattended. I had to drive extremely carefully less the wheel fall off the cemented track and jolt uncomfortably. After some more drive we reached well paved narrow road which led us to the junction where it meet the Ohiya-Pattipola road through horton plains. When you travel from Ohiya to Horton plains you will find this junction just after you pass the villages and enter the wild life reserve.</p>
<p>From this point on we drove through Horton plains, Pattipola, Ambewela, Blackpool stopping just for tea and by the time we reached Colombo it was 12pm.</p>
<p>Notes:</p>
<p>(1)This <a href="http://www.lakdasun.com/trails/trail_03.htm">travel note</a> from Lakdasun helped us in preparation for the journey</p>
<p>(2)<a href="http://www.flickr.com/photos/sanjaya/sets/72157611357352814/">Sanjaya</a> and <a href="http://www.flickr.com/photos/23681337@N07/sets/72157604694479539/">damitha</a> have uploaed more photos on this journey</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/160/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=160&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2009/01/07/bambarakanda-jeep-trek/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>

		<media:content url="http://damithakumarage.files.wordpress.com/2009/01/sany0205.jpg" medium="image">
			<media:title type="html">Bambarakanda Waterfall</media:title>
		</media:content>

		<media:content url="http://damithakumarage.files.wordpress.com/2009/01/sany0252.jpg" medium="image">
			<media:title type="html">View of Vangedigala kanda peak from Vangedigala</media:title>
		</media:content>

		<media:content url="http://damithakumarage.files.wordpress.com/2009/01/sany03511.jpg" medium="image">
			<media:title type="html">Path we travelled from Bambarakanda rest as seen from V-Cut pass </media:title>
		</media:content>

		<media:content url="http://damithakumarage.files.wordpress.com/2009/01/sany0378.jpg" medium="image">
			<media:title type="html">View after some distance passing Devil's staircase</media:title>
		</media:content>
	</item>
		<item>
		<title>Try Open Source SOA!</title>
		<link>http://damithakumarage.wordpress.com/2008/11/26/try-open-source-soa/</link>
		<comments>http://damithakumarage.wordpress.com/2008/11/26/try-open-source-soa/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 17:24:29 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[esb]]></category>
		<category><![CDATA[governance]]></category>
		<category><![CDATA[soa]]></category>
		<category><![CDATA[wso2]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=157</guid>
		<description><![CDATA[Good read, Mike Kavis explains the strength of open source SOA. In this article he also explain the WSO2 SOA stack.
http://www.cio.com/article/440370/Tight_Budgets_Try_Open_Source_SOA_
You can find news release for the case study which is mentioned in Mike&#8217;s article here.  You can download the case study here.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=157&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Good read, <a href="http://www.cio.com/author/440468/Mike+Kavis">Mike Kavis</a> explains the strength of open source SOA. In this article he also explain the WSO2 SOA stack.</p>
<p><a href="http://www.cio.com/article/440370/Tight_Budgets_Try_Open_Source_SOA_">http://www.cio.com/article/440370/Tight_Budgets_Try_Open_Source_SOA_</a></p>
<p>You can find news release for the case study which is mentioned in Mike&#8217;s article <a href="http://wso2.com/about/news/open-source-lets-developers-speed-soa-development-despite-economic-slowdown/">here</a>.  You can download the case study <a href="http://wso2.com/about/news/concur-streamlines-corporate-reporting-with-wso2-open-source-soa-middleware/">here</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/157/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=157&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/11/26/try-open-source-soa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Configuring Apache2 to produce core dumps</title>
		<link>http://damithakumarage.wordpress.com/2008/11/25/configuring-apache2-to-produce-core-dumps/</link>
		<comments>http://damithakumarage.wordpress.com/2008/11/25/configuring-apache2-to-produce-core-dumps/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 12:21:30 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=155</guid>
		<description><![CDATA[Even after setting
ulimit -c unlimited in the shell I could not find a core dump file when my apache2 server crashed.  In my Ubuntu system I enabled core dump in /etc/default/apport. Still I could not see core dumps. But I could produce a core dump for a simple C program. But still not for Apache2. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=155&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Even after setting</p>
<p><em>ulimit -c unlimited</em> in the shell I could not find a core dump file when my apache2 server crashed.  In my Ubuntu system I enabled core dump in /etc/default/apport. Still I could not see core dumps. But I could produce a core dump for a simple C program. But still not for Apache2. Finally I found that I need to configure Apache2 for core dumps from here</p>
<p><strong>http://www.cyberciti.biz/tips/configure-apache-web-server-for-core-dump.html</strong></p>
<p>Also following link could be useful for Ubuntu users</p>
<p>https://wiki.kubuntu.org/Apport</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/155/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=155&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/11/25/configuring-apache2-to-produce-core-dumps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Restful PHP web services</title>
		<link>http://damithakumarage.wordpress.com/2008/11/20/restful-php-web-services/</link>
		<comments>http://damithakumarage.wordpress.com/2008/11/20/restful-php-web-services/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 09:02:45 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=141</guid>
		<description><![CDATA[I finished reading Samisa&#8217;s recently published Restful PHP Web services book. Normally when it comes to technical books I don&#8217;t read every bit of it. My understanding is it is not necessary to do so.  Because you have the book you can always refer to it whenever necessary. However my initial reading aim at fulfilling [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=141&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I finished reading <a href="http://samisa-abeysinghe.blogspot.com/">Samisa</a>&#8217;s recently published <a href="http://www.packtpub.com/restful-php-web-services/book">Restful PHP Web services book</a>. Normally when it comes to technical books I don&#8217;t read every bit of it. My understanding is it is not necessary to do so.  Because you have the book you can always refer to it whenever necessary. However my initial reading aim at fulfilling one task. That&#8217;s to understand how to use the book quickly when need arise. It&#8217;s kind of indexing the book in memory for faster reference later. Also interesting bits that attract me most will be covered withing this initial iteration of reading.</p>
<p>But with this book I read it from start to end without missing a single word of it. It is so compact, so easy to read. One reason for this change is my curiosity about the content of the book. That curiosity is aroused by several reasons. For one thing I often hear the technical jargons contained in the book within the office environment I live. My colleges at WSO2 developed WSF/PHP which support RESTful as well as SOAP web services in the same stack.  This WSF/PHP use WSF/C as it&#8217;s web services core on which development team I&#8217;m a developer at WSO2.  For some time I wanted to know what they do in these PHP web services stuff but could not find time/desire/way to do it fast. This book provided me all that.</p>
<p>Second I share the belief with many that WSF/PHP and the rest of the scripting web services stacks like WSF/Ruby, WSF/Python  from WSO2 have big potential within the web services market in near future. So gaining knowledge in those areas is always a good thing to do.</p>
<p>Chapter 6 nicely explained the use of MVC architecture in Zend framework for supporting restful web services with step by step easy to understand examples.</p>
<p>In addition to explaining the facts related to the subject matter Samisa has nicely used his knowledge on Software development which he gathered through experience as a developer as well as through years of teaching at the University of Moratuwa Sri Lanka. Throughout the book he explains best practices and how to avoid pitfalls(especially in chapter 7)  which are useful hints for any developer.</p>
<p>There are extensive code samples which could be a + point and at the same time &#8211; point depending the reader. However even a non-php programmer could easily understand those code excerpts without much effort(I could and I&#8217;m not a PHP programmer he he)</p>
<p>I wish if there was a section comparing positive and negative aspects of REST and SOAP web service approaches. May be an design approach which could take best from both worlds(I don&#8217;t know).</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/141/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/141/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/141/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/141/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/141/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=141&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/11/20/restful-php-web-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Deepal&#8217;s Axis2 Book</title>
		<link>http://damithakumarage.wordpress.com/2008/11/09/deepals-axis2-book/</link>
		<comments>http://damithakumarage.wordpress.com/2008/11/09/deepals-axis2-book/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 10:47:54 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=137</guid>
		<description><![CDATA[After delaying for several months after purchasing the book I finally found time to read Deepal&#8217;s new Axis2 book. But once I started to read it is one go read.
Nice thing about the book is that for a person who has fair knowledge of web services concepts the book immediately make him familier with Axis2 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=137&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>After delaying for several months after purchasing the book I finally found time to read <a href="http://www.packtpub.com/creating-web-services-with-apache-axis-2/book">Deepal&#8217;s new Axis2 book</a>. But once I started to read it is one go read.</p>
<p>Nice thing about the book is that for a person who has fair knowledge of web services concepts the book immediately make him familier with Axis2 in a very short time. If a developer need to use Axis2 for his web services project this is the best way to get him started because he can grasp the essentials within a days&#8217; time by reading the book.</p>
<p>Although the book says that it is for Java developers it is good read for Axis2/C developers as well because it describes basically the same architecture(Of course there are differences but when it is taken as a whole it is still very useful). In tern it is good read for all who are interested in Axis2/C related/based stacks as well like WSF/C, WSF/PHP, WSF/Ruby, WSF/Python and WSF/Perl.</p>
<p>When I purchased the book I have following things in mind.</p>
<p>1. Axis2/C is based on Axis2/Java architecture. At the time we developed Axis2/C, Axis2/Java is already passed through it&#8217;s initial developer versions and we learned the architecture with discussions with the community as well as by directly diving in to the code base. But once Axis2/C is matured we rarely looked back into the Axis2/Java deeply. But we know that there is major changes going on through discussions with community. So I needed to update easily on new changes.</p>
<p>2. To share the views of a major Axis2/Java contributor.</p>
<p>3. Just because it is on Axis2 and by Deepal !!!.</p>
<p>But my aims 1 and 2 are not fully satisfied because it turned out to be very introductory book and I found anything new rarely. Also there are no views just facts in compact order on Axis2. But no worries. I really enjoyed reading the book because of its easy flowing style.</p>
<p>There should be a sequel to this book preferably an advanced book, a kind of a mastering version. These days the interest is not basically on the core but on many projects based around Axis2 like Synapse, WSO2/ESB, WSO2/Mashup server etc etc and there should be books on each of these subjects as well.</p>
<p>Actually Samisa has actually started the trend by writing a nice book called <a href="http://www.packtpub.com/restful-php-web-services/book">RESTful PHP Web Services</a> which I believe is based on WSF/PHP. Very much keen on having a good read of the book and will tell about it in future.</p>
<p>Finally the book&#8217;s design is very attractive and invites for reading. However there were errors I found on the book which does not affect the overall aspect of the book.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/137/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=137&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/11/09/deepals-axis2-book/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Access secure enabled web services from command line</title>
		<link>http://damithakumarage.wordpress.com/2008/10/04/access-secure-enabled-web-services-from-command-line/</link>
		<comments>http://damithakumarage.wordpress.com/2008/10/04/access-secure-enabled-web-services-from-command-line/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 05:29:34 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[access web services]]></category>
		<category><![CDATA[command line tool]]></category>
		<category><![CDATA[command line web services tool]]></category>
		<category><![CDATA[policy]]></category>
		<category><![CDATA[rampart]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[web service client]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[web services client]]></category>
		<category><![CDATA[wsclient]]></category>
		<category><![CDATA[wsf/C]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=100</guid>
		<description><![CDATA[In my article on WSF/C wsclient command line tool I have explained briefly on how Rampart/C is used to provide security for messages sent using wsclient. Here I would like to explain in detail some examples.
I assume you have installed Rampart/C and wsclient as explained in respective documentations. When you install WSF/C both of them [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=100&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In my <a href="http://wso2.org/library/3362">article on WSF/C wsclient command line tool</a> I have explained briefly on how <a href="https://wso2.org/projects/rampart/c">Rampart/C</a> is used to provide security for messages sent using wsclient. Here I would like to explain in detail some examples.</p>
<p>I assume you have installed Rampart/C and wsclient as explained in respective documentations. When you install WSF/C both of them get automatically installed.</p>
<p>Service used is the sec_echo sample service which is deployed when you install Rampart/C.</p>
<p>Also you need to set your WSFC_HOME variable to your repository location.</p>
<p>Now execute the script providing the port you wish to run simple axis2 server.</p>
<p><em>$ cd WSFC_HOME/bin/samples/wsclient</em></p>
<p><em>sh sec_echo.sh 9091</em></p>
<p>Let me explain what happen when you execute this script.</p>
<p>First you need to change the sec_echo/services.xml according to the policy you wish it to have. So the script will copy a services.xml file with the desired policy and restart the server. After that it execute the following command.</p>
<p><em>$WSFC_HOME/bin/<strong>wsclient</strong> &#8211;<strong>soap</strong> &#8211;<strong>no-mtom</strong> &#8211;<strong>user</strong> alice &#8211;<strong>digest</strong> &#8211;<strong>password</strong> password &#8211;<strong>timestamp </strong>&#8211;<strong>sign-body</strong> &#8211;<strong>key</strong> /axis2c/deploy/bin/samples/rampart/keys/ahome/alice_key.pem &#8211;<strong>certificate</strong> /axis2c/deploy/bin/samples/rampart/keys/ahome/alice_cert.cert &#8211;<strong>recipient-certificate </strong>/axis2c/deploy/bin/samples/rampart/keys/ahome/bob_cert.cert<strong> </strong><strong>encrypt-signature</strong> &#8211;<strong>encrypt-payload </strong>http://localhost:9090/axis2/services/sec_echo &lt; $WSFC_HOME/bin/samples/wsclient/data/echo.xml</em><em><br />
</em></p>
<p>When you closely examine the above command you can see that user alice send a echo message to the service which is signed and encrypted. To sign the body of the message she need her private key which she provide through &#8211;<em><strong>key</strong></em> option. To encrypt the body of the message she need the recipients public key which she provide through &#8211;<em><strong>recipient-certificate</strong></em> option.  You need to provide public key of alice using option &#8211;<strong><em>certificate</em></strong> which is required for verification process. Note that service policy requires you to sign the signature and timestamp the message. The default behaviour of wsclient is to sign the message before encrypting it. If you need to change this behaviour(encrypt before sign) use &#8211;<strong><em>encrypt-before-signing</em></strong> option.</p>
<p>Now if you need to run the sample by providing a policy file run the following sample.</p>
<p><em>$</em> <em>sh sec_echo_with_policy.sh 9091</em></p>
<p>The ability to provide a policy file enable the wsclient to provide fine grained security policies required by the service.  Following is the wsclient command used to send the request.</p>
<p><em>$WSFC_HOME/bin/<strong>wsclien</strong>t &#8211;<strong>soap</strong> &#8211;<strong>no-mtom</strong> &#8211;<strong>user</strong> alice &#8211;<strong>digest</strong> &#8211;<strong>password</strong> password &#8211;<strong>key</strong> /axis2c/deploy/bin/samples/rampart/keys/ahome/alice_key.pem &#8211;<strong>certificate</strong> /axis2c/deploy/bin/samples/rampart/keys/ahome/alice_cert.cert &#8211;<strong>recipient-certificate</strong> /axis2c/deploy/bin/samples/rampart/keys/ahome/bob_cert.cert &#8211;<strong>policy-file</strong> $WSFC_HOME/bin/samples/wsclient/data/policy.xml http://localhost:9090/axis2/services/sec_echo &lt;$WSFC_HOME/bin/samples/wsclient/data/echo.xml</em></p>
<p>Note that &#8211;<em><strong>policy-file</strong></em> option is used to provide the policy xml file. Also since now security policy is provided by policy xml file you don&#8217;t need to use wsclient specific options like &#8211;<em><strong>timestamp</strong></em>, &#8211;<strong><em>sign-body</em></strong>, &#8211;<em><strong>encrypt-signature</strong></em> and &#8211;<em><strong>encrypt-payload</strong></em></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=100&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/10/04/access-secure-enabled-web-services-from-command-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Beautiful Anjuta</title>
		<link>http://damithakumarage.wordpress.com/2008/09/11/beautiful-anjuta/</link>
		<comments>http://damithakumarage.wordpress.com/2008/09/11/beautiful-anjuta/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 19:21:38 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=96</guid>
		<description><![CDATA[Anjuta is now wonderful. Those of you seeking a modern C/C++ ide environment Anjuta could be the best choice. Although vi/gdb/valgrind trio is still  my favourite development environment, now and then I look at ide&#8217;s whether they are matured enough for my taste. About 3 years back when I had a look at Anjuta I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=96&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Anjuta is now wonderful. Those of you seeking a modern C/C++ ide environment Anjuta could be the best choice. Although vi/gdb/valgrind trio is still  my favourite development environment, now and then I look at ide&#8217;s whether they are matured enough for my taste. About 3 years back when I had a look at Anjuta I thought that it is promising but it still did not invited me to adopt. At that time I tried with Kdeveloper and Eclipse cdt plugin environment as well which were lagging far behind as robust ide environments at that time.</p>
<p>Today I tried to build Axis2/C in cdt environment. It seemed improved and just as I wanted to try it on my machine but it crashed while doing very simple task. That&#8217;s end of cdt with me at least for some time to come.</p>
<p>But this marvelous Anjuta. It is unbelievable how beautiful and matured she has become. It has whole set of features that I could not imagine three years back. If you are really interested, do some playing with her.</p>
<p>Using it for Axis2/C is very simple.</p>
<p>You can build anjuta from apt repositories in dabian environments. Make sure that you also build autogen project. Then after starting Anjuta just create a new project for Axis2/C. What you need to do is, in new menu select &#8216;Project from existing sources&#8217; sub menu. That&#8217;s it. Rest is very intuitive.</p>
<p>But I found that still Unjuta is lacking with good context sensitive menu popup.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/96/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/96/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=96&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/09/11/beautiful-anjuta/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Building Axis2/C from source</title>
		<link>http://damithakumarage.wordpress.com/2008/09/11/building-axis2c-from-source/</link>
		<comments>http://damithakumarage.wordpress.com/2008/09/11/building-axis2c-from-source/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 18:01:12 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=84</guid>
		<description><![CDATA[If you need to use Axis2/C and related project for serious work then you might need to understand the internals of its build system. Axis2/C uses GNU auto build tools to build the project libraries. A simple and good reading on the subject can be found here.
If the usual configure, make, make install does not [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=84&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>If you need to use Axis2/C and related project for serious work then you might need to understand the internals of its build system. Axis2/C uses GNU auto build tools to build the project libraries. A simple and good reading on the subject can be found <a href="http://www.openismus.com/documents/linux/automake/automake.shtml">here</a>.</p>
<p>If the usual configure, make, make install does not work for your platform when installing Axis2/C it is advisable to download and install autotools for your system before installing Axis2/C.</p>
<p>In a dabian system what you need to install from apt repositories are</p>
<p>libtool</p>
<p>autoconf</p>
<p>automake</p>
<p>After installing these tools running the build.sh found in your Axis2/C source distribution(You can find this script only in the <a href="https://svn.apache.org/repos/asf/webservices/axis2/trunk/c">Axis2/C svn repository</a>) will run these tools to generate your Configure and Makefiles.</p>
<p>ccache is another tool that you can find in apt repositories which would greatly increase your recompile performance.</p>
<p>Also make sure that you have installed zlib1g-dev which is available from apt repositories</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/84/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/84/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/84/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=84&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/09/11/building-axis2c-from-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Indigenous Music</title>
		<link>http://damithakumarage.wordpress.com/2008/09/11/indigenous-music/</link>
		<comments>http://damithakumarage.wordpress.com/2008/09/11/indigenous-music/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 15:47:41 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=82</guid>
		<description><![CDATA[Senanayaka Weraliyadda&#8217;s creation &#8216;Mal Paba&#8217; is really interesting piece of music(youtube contain a sunflower version which is totally ridiculus). I love to hear this song so much. To me the music in that song is what I can call is real indigenous music. I can cleary understand the music emanated from real indeginous music instruments [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=82&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Senanayaka Weraliyadda&#8217;s creation &#8216;Mal Paba&#8217; is really interesting piece of music(youtube contain a sunflower version which is totally ridiculus). I love to hear this song so much. To me the music in that song is what I can call is real indigenous music. I can cleary understand the music emanated from real indeginous music instruments like Davul, Bera, thammattam, thalampota etc etc. Althought Thabla is very interesting instrument I believe it is not used in our ancient music and I don&#8217;t hear it in this song. To me this man is really talented musician who deserve more recognition.</p>
<p>It is amazing to see how those simple instruments that we hear played in Pirith gedara, Dane gedara, Perahara could produce such great music.</p>
<p>It is very unlucky of me that I can not enjoy the music produces by modern musicians. The last generation of musicians who produced music that I could enjoy are no more seen to be creating new music.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/82/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/82/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/82/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=82&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/09/11/indigenous-music/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Installing WSF/PHP on Linux</title>
		<link>http://damithakumarage.wordpress.com/2008/09/07/installing-wsfphp-on-linux/</link>
		<comments>http://damithakumarage.wordpress.com/2008/09/07/installing-wsfphp-on-linux/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 16:20:09 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=78</guid>
		<description><![CDATA[To build apache2 with debug and apr support
./configure &#8211;enable-modules=all &#8211;enable-so &#8211;enable-maintainer-mode &#8211;with-included-apr
This will install apache2 in /usr/local/apache2 (You may use export CFLAGS=&#8221;-O0 -g -ggdb3&#8243; before configuring)

To install php with apache2
After installing apache2 as above then download and install php as below.
./configure &#8211;with-apxs2=/usr/local/apache2/bin/apxs
sudo  make install

This will add the following entry to httpd.conf
LoadModule php5_module   [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=78&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>To build apache2 with debug and apr support</strong></p>
<p>.<em>/configure &#8211;enable-modules=all &#8211;enable-so &#8211;enable-maintainer-mode &#8211;with-included-apr</em></p>
<p>This will install apache2 in /usr/local/apache2 (You may use export CFLAGS=&#8221;-O0 -g -ggdb3&#8243; before configuring)<br />
<strong><br />
To install php with apache2</strong></p>
<p>After installing apache2 as above then download and install php as below.</p>
<p><em>./configure &#8211;with-apxs2=/usr/local/apache2/bin/apxs<br />
sudo  make install<br />
</em><br />
This will add the following entry to httpd.conf<br />
<em>LoadModule php5_module        modules/libphp5.so</em></p>
<p>and put libphp5.so in /usr/local/apache2/modules/</p>
<p>Now put the followng entries to httpd.conf<br />
<em>AddHandler php5-script php<br />
AddType text/html php</em></p>
<p>Now create the following script and put it into apache2/htdocs directory.<br />
&lt;?php<br />
phpinfo();<br />
?&gt;</p>
<p>Start apache2 and run the script in the browser.<br />
This will show you where your php.ini file should be copied to(/usr/loal/lib/)</p>
<p>Now copy the php.ini-recommended file which can be found in your php download, into /usr/local/lib/ as php.ini and add following lines into php.ini</p>
<p><em>extension=wsf.so<br />
extension_dir =&#8221;/usr/local/lib/php/20060613+lfs&#8221;<br />
wsf.home=&#8221;/usr/local/lib/php/20060613+lfs/wsf_c&#8221;<br />
wsf.log_level = 4</em></p>
<p>You can find above information like extension_dir by executing</p>
<p><em>php-config</em></p>
<p>Now you can <a href="http://wso2.org/downloads/wsf/php">download</a> and install wsf/php as follows</p>
<p><em>./configure &#8211;with-wsf &#8211;enable-openssl &#8211;with-axis2=`pwd`/wsf_c/axis2c/include &#8211;enable-tests=no &#8211;enable-wsclient=no  &#8211;enable-savan=no &#8211;prefix=`php-config &#8211;extension-dir`/wsf_c &amp;&amp; make -j 100</em></p>
<p><em>make</em></p>
<p>As root</p>
<p><em>make install</em></p>
<p>This will install your wsf/php extension into <em>/usr/local/lib/php/20060613+lfs.</em></p>
<p>Copy the samples directory from your wsf/php download into apache2/htdocs directory.</p>
<p>Restart apache2 and try your wsf/php samples</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/78/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/78/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/78/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=78&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/09/07/installing-wsfphp-on-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Using valgrind to debug/profile Axis2/C</title>
		<link>http://damithakumarage.wordpress.com/2008/08/08/using-valgrind-to-debugprofile-axis2c/</link>
		<comments>http://damithakumarage.wordpress.com/2008/08/08/using-valgrind-to-debugprofile-axis2c/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 04:34:24 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=62</guid>
		<description><![CDATA[For Axis2/C developers in linux platform valgrind is a indispensable tool. It helps you debug and profile your services and modules.
The gdb/valgrind is very powerful combination for debugging your applications in linux.
Before you use these tools make sure that you have built your applications and Axis2/C with debugging enabled. This is a simple check on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=62&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>For Axis2/C developers in linux platform valgrind is a indispensable tool. It helps you debug and profile your services and modules.</p>
<p>The gdb/valgrind is very powerful combination for debugging your applications in linux.</p>
<p>Before you use these tools make sure that you have built your applications and Axis2/C with debugging enabled. This is a simple check on seeing whether the configure.ac in Axis2/C root source folder has -g entry in CFLAGS as in</p>
<p><em>CFLAGS=&#8221;$CFLAGS -ansi -Wall -Werror -Wno-implicit-function-declaration -g -D_GNU_SOURCE&#8221;</em></p>
<p>You can debug Axis2/C clients by</p>
<p><em>valgrind ./echo 2&gt; result</em></p>
<p>This will show any context errors associated with your client code. Context errors simply says that your code is broken at the specified places. If you need to further investigate these points you can use gdb with the specified source files line numbers. If you find zero context errors in your code then you are lucky. Then you can further investigate by</p>
<p><em>valgrind &#8211;leak-check=full ./echo 2&gt; result</em></p>
<p>which show you all the memory leaks you have in your code. However this will hide the repetitions. To see them also you can use.</p>
<p><em>valgrind &#8211;leak-check=full &#8211;leak-resolution=high 2&gt; result</em></p>
<p>You can debug server side similarly.</p>
<p><em>valgrind &#8211;leak-check=full ./axis2_http_server 2&gt; result</em></p>
<p>or if you want to debug with Axis2/C apache module</p>
<p><em>valgrind &#8211;leak-check=full ./httpd -X 2&gt; result</em></p>
<p>You can use result file to investigate on context errors and leaks as in the client side.</p>
<p>However there is a caveat when it comes debugging Axis2/C modules and Axis2/C services. valgrind could not show leaks in modules and services. I suspect this is because of dll loading libraries. The solution is to build your  service/module statically with Axis2/C engine. Currently Axis2/C does not provide any facility to do this(I suggest this for future releases). So we need to do a small hack to get this done. I will explain here how I did the hack in order to debug Sandesha2/C module.</p>
<p>Say you need to debug your in flow path. I created the in handler header as following and put it in axis2c/src/core/engine folder</p>
<p><em>#ifndef SANDESHA2_IN_HANDLER_H<br />
#define SANDESHA2_IN_HANDLER_H</em></p>
<p><em>/**<br />
* @file sandesha2_sender.h<br />
* @brief Sandesha Sender Interface<br />
*/</em></p>
<p><em>#include &lt;axutil_allocator.h&gt;<br />
#include &lt;axutil_env.h&gt;<br />
#include &lt;axutil_error.h&gt;<br />
#include &lt;axutil_string.h&gt;<br />
#include &lt;axutil_utils.h&gt;<br />
#include &lt;axis2_conf_ctx.h&gt;</em></p>
<p><em>#ifdef __cplusplus<br />
extern &#8220;C&#8221;<br />
{<br />
#endif</em></p>
<p><em>axis2_status_t AXIS2_CALL<br />
sandesha2_in_handler_invoke(<br />
struct axis2_handler *handler,<br />
const axutil_env_t *env,<br />
struct axis2_msg_ctx *msg_ctx);</em></p>
<p><em>/** @} */<br />
#ifdef __cplusplus<br />
}<br />
#endif<br />
#endif /* SANDESHA2_IN_HANDLER_H */</em></p>
<p>Now go and include that file in phase.c file. Also add the following code into phase_invoke function</p>
<p><em>if(!axutil_strcmp(handler_name, &#8220;SandeshaGlobalInHandler&#8221;) || !axutil_strcmp(<br />
handler_name, &#8220;SandeshaInHandler&#8221;))<br />
{<br />
AXIS2_LOG_DEBUG(env-&gt;log, AXIS2_LOG_SI,<br />
&#8220;dam_handler_name %s. dam_phase_name %s&#8221;, handler_name, phase-&gt;name);<br />
if(!axutil_strcmp(handler_name, &#8220;SandeshaGlobalInHandler&#8221;))<br />
{<br />
status = sandesha2_global_in_handler_invoke(phase-&gt;first_handler, env, msg_ctx);<br />
}<br />
if(!axutil_strcmp(handler_name, &#8220;SandeshaInHandler&#8221;))<br />
{<br />
status = sandesha2_in_handler_invoke(phase-&gt;first_handler, env, msg_ctx);<br />
}<br />
}<br />
else<br />
status = axis2_handler_invoke(handler, env, msg_ctx);<br />
if (!status)<br />
{<br />
AXIS2_LOG_ERROR(env-&gt;log, AXIS2_LOG_SI,<br />
&#8220;Handler %s invoke failed within phase %s&#8221;, handler_name, phase-&gt;name);<br />
return status;<br />
}</em></p>
<p>Also link to sandesha2/C module library in the axis2c/src/core/engine/Makefile.am and don&#8217;t forget to include your module include files also there in.</p>
<p>That&#8217;s just the trick. Now you can build Axis2/C and your module and use valgrind as explained before.</p>
<p>At this point I would like to add that adding static module build support for Axis2/C is a great thing to do. Adding modules to Axis2/C is not a frequent phenomena.  Actually we currently  have only few modules like Rampart, Sandesha2/C and Savan/C. Making these statically built with Axis2/C might give us some performance advantage. We can give an Axis2/C configuration option to build  certain standard modules statically with Axis2/C.</p>
<p>To do profiling Axis2/C modules/services with valgrind see previous entry <a href="http://damithakumarage.wordpress.com/2008/07/20/profiling-tools-that-i-used-to-profile-axis2c/">here</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/62/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/62/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=62&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/08/08/using-valgrind-to-debugprofile-axis2c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Axis2/C Performance</title>
		<link>http://damithakumarage.wordpress.com/2008/07/30/axis2c-performance/</link>
		<comments>http://damithakumarage.wordpress.com/2008/07/30/axis2c-performance/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 08:31:59 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=60</guid>
		<description><![CDATA[Axis2/C benchmark performance test results are published here
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=60&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Axis2/C benchmark performance test results are published <a href="http://wso2.org/library/3868">here</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/60/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/60/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=60&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/07/30/axis2c-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>lighttpd module for Axis2/C</title>
		<link>http://damithakumarage.wordpress.com/2008/07/25/lighttpd-module-for-axis2c/</link>
		<comments>http://damithakumarage.wordpress.com/2008/07/25/lighttpd-module-for-axis2c/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 16:33:13 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=56</guid>
		<description><![CDATA[Dinesh has developed an Axis2/C module for lighttpd (pron. lighty) a light weight web server is designed and optimized for high performance environments. It claims to power Youtube. Also see.
I mentioned that Axis2/C version 1.5 reached 25K tps performance margin running on Apache2. I hope Axis2/C running as a lighttpd module will  further extend [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=56&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.nethu.org/">Dinesh</a> has developed an Axis2/C module for l<a href="http://www.lighttpd.net/">ighttpd</a> (<em>pron.</em> <strong>lighty</strong>) a light weight web server is designed and optimized for high performance environments. It claims to power Youtube. Also <a href="http://news.netcraft.com/archives/2007/04/02/april_2007_web_server_survey.html">see</a>.</p>
<p>I <a href="http://damithakumarage.wordpress.com/2008/07/20/axis2c-apache2-module-can-it-be-further-improved/">mentioned</a> that Axis2/C version 1.5 reached 25K tps performance margin running on Apache2. I hope Axis2/C running as a lighttpd module will  further extend this margin. Still there is some work to be done before it could be brought to production use. But the important thing is the module is working now.</p>
<p>Few words about Dinesh&#8217;s effort on the work. He started on this module two weeks before he left WSO2  for his higher studies in  USA(And he married last month !!). In the middle  of all his preparation for new life he had time and will to bring this work to a working state. At this time of his parting I would like to remind his great contributions to Axis2/C project. He workied on lot of ares&#8217;s in Axis2/C code. He initiated Guththila Stax parser, XMPP transport and contributed to wsclient command line tool to name a few. I think he is the one so far to be the release manager for most number of Axis2/C releases. Kudos Dinesh for your great work.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/56/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/56/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=56&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/07/25/lighttpd-module-for-axis2c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Axis2/C and Rampart/C is used in Eucaplyptus</title>
		<link>http://damithakumarage.wordpress.com/2008/07/22/axis2c-and-rampartc-is-used-in-eucaplyptus/</link>
		<comments>http://damithakumarage.wordpress.com/2008/07/22/axis2c-and-rampartc-is-used-in-eucaplyptus/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 12:41:11 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=52</guid>
		<description><![CDATA[Axis2/C and Rampart/C is used as main technologies in an open source EC2 cloud computing implementation. See the main technologies used in this document and this. See this infoQ vidio for a presentation of Eucaplytus by its lead.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=52&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Axis2/C and Rampart/C is used as main technologies in an open source EC2 cloud computing implementation. See the main technologies used <a href="http://64.233.169.104/search?q=cache:iZTMDhDIGlMJ:www.globusworld.org/documents/RWoleski-eucalyptus-08.ppt+Axis2+eucalyptus&amp;hl=en&amp;ct=clnk&amp;cd=6&amp;gl=lk">in this document</a> and <a href="http://eucalyptus.cs.ucsb.edu/wiki/EucalyptusSourceCode">this</a>. See this infoQ vidio for a <a href="http://blip.tv/file/1020579">presentation</a> of Eucaplytus by its lead.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/52/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/52/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=52&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/07/22/axis2c-and-rampartc-is-used-in-eucaplyptus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Apache Axis2/C Programming Model</title>
		<link>http://damithakumarage.wordpress.com/2008/07/22/apache-axis2c-programming-model/</link>
		<comments>http://damithakumarage.wordpress.com/2008/07/22/apache-axis2c-programming-model/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 10:02:05 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=45</guid>
		<description><![CDATA[I would like to talk about our programming model when it comes to Axis2/C Apache2 module. As discussed in a earlier blog suppose two requests come to Axis2/C sequentially. Say the first request is served by one apache process and the next request is served by another process. Then problem is you cannot access the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=45&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I would like to talk about our programming model when it comes to Axis2/C Apache2 module. As discussed in a <a href="http://damithakumarage.wordpress.com/2007/09/23/an-axis2-c-design-issue/">earlier blog</a> suppose two requests come to Axis2/C sequentially. Say the first request is served by one apache process and the next request is served by another process. Then problem is you cannot access the previous requests configuration context from your next request because each process has it&#8217;s own configuration context. We recently solved this problem using shared memory. But as should be expected this is extremely inefficient.</p>
<p>The other and more effiecient solution is using a database that could be shared among your processes. Sandesha2/C uses this approach. To solve concurrency issues when using this approach we can use Apache2 golbal mutex which could be used when accessing global resources like system files and databases. But the problem is how we could pass this global mutext from Axis2 apache module to be accessible from other parts of the code, for example from a Axis2/C module. We currently pass Apache2 pools through axis2_env_t environment. My understanding is that we could use a similar method to solve the problem.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/45/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/45/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=45&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/07/22/apache-axis2c-programming-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Another XT225 journey</title>
		<link>http://damithakumarage.wordpress.com/2008/07/20/another-xt225-journey/</link>
		<comments>http://damithakumarage.wordpress.com/2008/07/20/another-xt225-journey/#comments</comments>
		<pubDate>Sun, 20 Jul 2008 07:34:44 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=43</guid>
		<description><![CDATA[Interesting bike journey, again using XT225 serow
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=43&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Interesting <a href="http://www.secretreality.com/labels/xt225.html">bike journey</a>, again using XT225 serow</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/43/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/43/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=43&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/07/20/another-xt225-journey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Axis2/C Apache2 Module. Can it be further improved?</title>
		<link>http://damithakumarage.wordpress.com/2008/07/20/axis2c-apache2-module-can-it-be-further-improved/</link>
		<comments>http://damithakumarage.wordpress.com/2008/07/20/axis2c-apache2-module-can-it-be-further-improved/#comments</comments>
		<pubDate>Sun, 20 Jul 2008 06:41:18 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=41</guid>
		<description><![CDATA[According to my performance testing on Axis2/C 1.5(Soon to be released) I could reach 25K tps with keep alive on. When tested with a empty module instead of Axis2/C where no handling of soap data is done but just set a HTTP_OK and return it, reached 40Ktps mark(This is also similar to index page request [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=41&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>According to my performance testing on Axis2/C 1.5(Soon to be released) I could reach 25K tps with keep alive on. When tested with a empty module instead of Axis2/C where no handling of soap data is done but just set a HTTP_OK and return it, reached 40Ktps mark(This is also similar to index page request as might be expected). This means there is still room for 15K improvement. Profiling tools show that mostly the improvements needs on parser.</p>
<p>Also when I experiments with using a localpool instead of the request pool of apache the performance degraded by about 1000 tps. This further shows that there could be further performance gains that could be achived perhaps by improving apache2 module. Has anybody thought of implementing Axis2/C module as a apache2 filter or using filters instead as an apache2 content generator handler?. In apache2 documents it says that</p>
<p>&#8216;Any form processing application is normally be implemeneted as a handler-perticulary those that accept POST data.&#8217;</p>
<p>However in the same documentation it says that markup processing libraries better be implemented as filters or using filters.  It also says that parsers like expat and libxml2 which have parseChunk APIs work well with apache2 filters. Working with filters give direct access to bucket brigades which gives the control into the filter developer for data manipulations.</p>
<p>I heard somebody is developing a expat parser plugging for Axis2/C. It is a good thing to do a performance comparision with that also.</p>
<p>These directions are for future considerations only. Axis2/C is already ready for  performance hungry  deployments, may be ahead of other competing  web services engines. I have actually plans for doing some performance benchmarks using Axis2/C as a soap gateway in an EC2 cloud.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/41/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/41/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=41&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/07/20/axis2c-apache2-module-can-it-be-further-improved/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Profiling tools that I used to profile Axis2/C</title>
		<link>http://damithakumarage.wordpress.com/2008/07/20/profiling-tools-that-i-used-to-profile-axis2c/</link>
		<comments>http://damithakumarage.wordpress.com/2008/07/20/profiling-tools-that-i-used-to-profile-axis2c/#comments</comments>
		<pubDate>Sun, 20 Jul 2008 05:38:37 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=39</guid>
		<description><![CDATA[Now that I have done some performance tests(Results will be published soon. In summary Axis2/C 1.5 which will be released within next week achieved 25K tps benchmark) I thought of using a profiler to see which part of codebase need further attention for improvement. I profiled with google proftools and valgrind profile tools.
perftools
proftools has a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=39&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Now that I have done some performance tests(Results will be published soon. In summary Axis2/C 1.5 which will be released within next week achieved 25K tps benchmark) I thought of using a profiler to see which part of codebase need further attention for improvement. I profiled with <a href="http://code.google.com/p/google-perftools/">google proftools</a> and valgrind profile tools.</p>
<p><strong>perftools</strong></p>
<p>proftools has a cpuprofiler and a heap profiler. You need to just download it and ./configure, make, make install.</p>
<p>Then</p>
<p>export CPUPROFILE=/tmp/axis2_http_server.prof<br />
export HEAPPROFILE=/tmp/axis2_http_server.hprof</p>
<p>where first one is where cpu profiler output file is created and the second one is where heap profiler output file is created. These files will be created when you run your program.</p>
<p>You need to build Axis2/C with <code>-ltcmalloc and </code><code>-lprofiler.</code></p>
<p>Just add those linker options into configure.ac CFLAGS.</p>
<p>Now you can your executable as normal. After that</p>
<p>For cpu profiling</p>
<p>./pprof &#8211;gv axis2_http_server /tmp/axis2_http_server.prof.</p>
<p>This will give you a nice graph. You must have installed dot, gv and perl5 installed in your system.</p>
<p>If you have installed kcachegrind in your system you can use it to have nice graphical view by</p>
<p>pprof &#8211;callgrind ./axis2_http_server /tmp/axis2_http_server.prof &gt; axis2_http_server.callgrind</p>
<p>kcachegrind axis2_http_server.callgrind</p>
<p>For heap profiling</p>
<p>&#8211;callgrind ./axis2_http_server /tmp/axis2_http_server.hprof.0001.heap &gt; axis2_http_server.callgrind</p>
<p>again you can use kcachegrind to have a nice gui view.</p>
<p>kcachegrind axis2_http_server.callgrind</p>
<p>Note:I found that proftools are only good for profileing Axis2/C client side because I could not find a way to capture profiling for request handling in server side. If you need to just profile deployment in Axis2/C then this can be used.</p>
<p><strong>Callgrind</strong></p>
<p>You can separetely install callgrind. But if you install valgring in dabian uisng apt-get install you can use it by using</p>
<p>valgrind &#8211;tool=callgrind &lt; your program name&gt;</p>
<p>I used callgrind to profile simple axis2 server as follows</p>
<p>valgrind &#8211;tool=callgrind ./axis2_http_server</p>
<p>Now make a request to the server.</p>
<p>Now you have a file generated in your current folder called something like callgrind.out.8307.</p>
<p>Use this as input to kcachegrind</p>
<p>kcachegrind callgrind.out.8307</p>
<p>Important: I did the following addition in my src/core/transport/http/receiver/http_svr_thread.c code towards the end of server while loop to exit the server after serving two requests. Instead if I use ctrl-c to signal the server to stop then profiling tool won&#8217;t be able to capture the requests for profiling.</p>
<p>if(counter == 1)<br />
{<br />
svr_thread-&gt;stopped = AXIS2_TRUE;<br />
}<br />
counter++;</p>
<p>}// end while loop</p>
<p>My conclusion is that both of these tools are good for profiling in a threaded environment. Problem with gprof is that it could not be used for profiling in a threaded environment. Although there is a hack to do this I saw a user say that it is not trustworthy.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/39/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/39/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=39&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/07/20/profiling-tools-that-i-used-to-profile-axis2c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>If you are new to web services world</title>
		<link>http://damithakumarage.wordpress.com/2008/07/17/if-you-are-new-to-web-services-world/</link>
		<comments>http://damithakumarage.wordpress.com/2008/07/17/if-you-are-new-to-web-services-world/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 14:42:01 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=37</guid>
		<description><![CDATA[One of the best way to get you immediately get aware of the concepts
http://video.google.com/videoplay?docid=1710477770315021899&#38;q=type%3Agoogle+engEDU
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=37&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>One of the best way to get you immediately get aware of the concepts</p>
<p>http://video.google.com/videoplay?docid=1710477770315021899&amp;q=type%3Agoogle+engEDU</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/37/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/37/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=37&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/07/17/if-you-are-new-to-web-services-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Ubuntu Story</title>
		<link>http://damithakumarage.wordpress.com/2008/07/12/ubuntu-story/</link>
		<comments>http://damithakumarage.wordpress.com/2008/07/12/ubuntu-story/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 16:27:51 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=35</guid>
		<description><![CDATA[My wife was asking me for some time to install linux on her machine. I thought of this. Well it take some time, not to install ubuntu. But to answer her non-stop questions on how to do this, how to do that. Last week. Behold she has installed ubuntu on her machine herself. She says, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=35&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>My wife was asking me for some time to install linux on her machine. I thought of this. Well it take some time, not to install ubuntu. But to answer her non-stop questions on how to do this, how to do that. Last week. Behold she has installed ubuntu on her machine herself. She says, &#8220;best replacement for windows&#8221;.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/35/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/35/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=35&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/07/12/ubuntu-story/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Bike trip</title>
		<link>http://damithakumarage.wordpress.com/2008/07/12/bike-trip/</link>
		<comments>http://damithakumarage.wordpress.com/2008/07/12/bike-trip/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 16:19:30 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=33</guid>
		<description><![CDATA[Nice account of a bike trip. XT225 is very nice bike. I know this cause I have one.
http://www.xt225.com/trips/t1/trip.htm
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=33&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Nice account of a bike trip. XT225 is very nice bike. I know this cause I have one.</p>
<p>http://www.xt225.com/trips/t1/trip.htm</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/33/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/33/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=33&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/07/12/bike-trip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Benchmark testing tools for Web Services</title>
		<link>http://damithakumarage.wordpress.com/2008/07/11/benchmark-testing-tools-for-web-services/</link>
		<comments>http://damithakumarage.wordpress.com/2008/07/11/benchmark-testing-tools-for-web-services/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 07:40:50 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=26</guid>
		<description><![CDATA[These days I am working on some benchmark testing of Axis2/C. While looking for good tools for the purpose I came across several good candidates. I would like to discuss about some of these tools.
Tools that impressed me and disscussing here are
ab(apache workbench), siege, hammerhead and javabench and http_load. I also tried tsung and curl-loader [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=26&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>These days I am working on some benchmark testing of Axis2/C. While looking for good tools for the purpose I came across several good candidates. I would like to discuss about some of these tools.</p>
<p>Tools that impressed me and disscussing here are</p>
<p>ab(apache workbench), siege, hammerhead and javabench and http_load. I also tried tsung and curl-loader but could not get it work for me. Here it again prove that however good a software be it does not make appeal to average user if it does not provide a good impression on first try. What most developers expects from a good software is to get them immediately familier with it with some intuitive and working samples. To me it should provide a good &lt;toolname&gt; -h help menu, easy and upto the point samples first. A comprehensive documentations should follow next. tsung seems to be a good performance testing tool that provide a good distributed testing enviroment.</p>
<p>Since my perticular interest is on testing web services one of my main requirement is supporting http POST method. http_load seems to be a good tool but  it does not support POST. So I am not discussing it further here.</p>
<p><strong>apache bench</strong></p>
<p>The tool most impressed me is ab(apache bench) that ships with apache2. So naturally it is the tool I selected for my purpose.</p>
<p>ab -k -T &#8220;application/soap+xml; charset=UTF-8&#8243; -p data/data.xml -n 1000 -c 32 http://localhost:80/axis2/services/Benchmark &gt; results/result.txt</p>
<p>Here -k indicates whether to use keep-alive feature of http 1.1. You can use -H to add any custom http header you want.</p>
<p>-T options is for giving the content type.  Using -p option you can give your data file which contain basically the soap envelope you need to send. Use ab -h to see the meaning of all options.</p>
<p>Following is a result I got after executing the tool</p>
<p><em>Concurrency Level:      10<br />
Time taken for tests:   0.084 seconds<br />
Complete requests:      100<br />
Failed requests:        0<br />
Write errors:           0<br />
Keep-Alive requests:    100<br />
Total transferred:      97910 bytes<br />
Total POSTed:           77550<br />
HTML transferred:       76900 bytes<br />
Requests per second:    1195.69 [#/sec] (mean)<br />
Time per request:       8.363 [ms] (mean)<br />
Time per request:       0.836 [ms] (mean, across all concurrent requests)<br />
Transfer rate:          1143.26 [Kbytes/sec] received<br />
905.52 kb/s sent<br />
2048.78 kb/s total</em></p>
<p><strong>siege</strong></p>
<p>There is a configuration file called siegerc.</p>
<p><em>siege &#8211;rc=./siegerc -H&#8221;Content-type: application/soap+xml; charset=UTF-8&#8243; -H&#8221;Connection: Keep-Alive&#8221;</em></p>
<p><em>Almost all ouf your configurations can be put into this configuration file.</em></p>
<p><em>Following are some of the options available there</em></p>
<p><em>verbose = false</em></p>
<p><em>logging = false</em></p>
<p><em>protocol = HTTP/1.1</em></p>
<p><em>connection = keep-alive</em></p>
<p><em>concurrent = 25 #Number of concurrent requests</em></p>
<p><em>reps = 1000 #Number of repetitions</em></p>
<p><em>file = ./urls.txt</em></p>
<p><em>delay = 0 #If you are using for benchmarking value should be 0</em></p>
<p><em>benchmark = true</em></p>
<p>Note the file options above. It indicate to use the urls.txt file in the current folder as the url file. An entry in the urls.txt is as follows.</p>
<p>This entry is for a http POST request</p>
<p><em>http://localhost:80/axis2/services/Benchmark POST &lt; data/echoDoubles-10.xml</em></p>
<p>Here is a typical output from siege.</p>
<p><em>Transactions:               25000 hits<br />
Availability:              100.00 %<br />
Elapsed time:               20.18 secs<br />
Data transferred:           18.33 MB<br />
Response time:                0.01 secs<br />
Transaction rate:         1238.85 trans/sec<br />
Throughput:                0.91 MB/sec<br />
Concurrency:               10.68<br />
Successful transactions:       25000<br />
Failed transactions:               0<br />
Longest transaction:            0.49<br />
Shortest transaction:            0.00</em></p>
<p>siege is very good tool but to me it seems to be somewhat less capable than apache bench in its sieging capabilities.</p>
<p><strong>hammerhead</strong></p>
<p>hammerhead uses a configuration file and a scenario folder to execute.</p>
<p><em>hammerhead &#8211;conffile=/home/damitha/workspace/apache2_performance/hammerhead/test.conf -s20 -oresults</em></p>
<p>This tells hammerhead to use test.conf configuration file and run for 20 seconds.</p>
<p>In the test.conf you have an entry like following</p>
<p><em>Scenario_Directory /home/damitha/workspace/apache2_performance/hammerhead/scn</em></p>
<p>scn scenario directory can contain any number of .scn files.</p>
<p>An example .scn file is</p>
<p><em>NSample POST<br />
HContent-type: application/soap+xml; charset=UTF-8<br />
HConnection: Keep-Alive<br />
RPOST /axis2/services/Benchmark</em></p>
<p><em>B&lt;soapenv:Envelope xmlns:soapenv=&#8221;http://www.w3.org/2003/05/soap-envelope&#8221;&gt;&lt;soapenv:Header /&gt;&lt;soapenv:Body&gt;&lt;ns1:echoDoubles xmlns:ns1=&#8221;http://www.extreme.indiana.edu/wsdl/Benchmark1&#8243;&gt;&lt;ns1:input&gt;0.0&lt;/ns1:input&gt;&lt;ns1:input&gt;1.0&lt;/ns1:input&gt;&lt;/ns1:echoDoubles&gt;&lt;/soapenv:Body&gt;&lt;/soapenv:Envelope&gt;<br />
T0</em></p>
<p>You can think the entries of the .scn file as key value pairs. The first letter in the each line(in block letter) represent the key. rest of the line represent the value. For example B reperesent the http POST message.</p>
<p>Here is sample output file for hammerhead.</p>
<p><em>Config File                  : /home/damitha/workspace/apache2_performance/hammerhead/test.conf<br />
Machine                      : 127.0.0.1:80<br />
: 127.0.0.1:80<br />
: 127.0.0.1:80<br />
: 127.0.0.1:80<br />
: 127.0.0.1:80<br />
: 127.0.0.1:80<br />
: 127.0.0.1:80<br />
Time                         : Fri Jul 11 11:11:52 2008<br />
SEED =                       : 1215754872<br />
Parent Process PID =         : 12090<br />
Total Run Time (sec)         : 20<br />
Sessions                     : 2<br />
Session Sleep Time (msec)    : 0<br />
Startup Lag Time (seconds)   : 1<br />
Failures                     : 0<br />
NoVerify                     : 0<br />
Total Requests Served        : 10<br />
Total Turnaround Time (msec) : 49990<br />
Average Request Time  (msec) : 4999<br />
Total Responses              : 10<br />
Average Responses / sec      : 0.250000<br />
Total Response Time (msec)   : 6<br />
Average Response Time (msec) : 0<br />
Scenario Throughput          : 10<br />
Sequence Throughput          : 12<br />
Run Time (sec)               : 40<br />
Scenarios / sec              : 0.250000<br />
Sequences / sec              : 0.300000<br />
Content Length bytes         : 7690<br />
Content Length bytes / sec   : 192<br />
Read Length bytes            : 7690<br />
Read Length bytes / sec      : 192<br />
</em></p>
<p><strong>javabench</strong></p>
<p>javabench is basically apache bench written in java. You can use it in the same way you use apache bench. However it is not as capable sending many requests per second.</p>
<p>You can download a complementary upload of javabench  from</p>
<p><em>http://wso2.org/files/java-bench-0.1.zip</em></p>
<p>After downloading you can run the tool by using the following script(modify it according to requirement)</p>
<p>Here is the script</p>
<p>for f  in ./*.jar<br />
<em>do<br />
JAVABENCH_CLASSPATH=$JAVABENCH_CLASSPATH:$f<br />
done</p>
<p>export JAVABENCH_CLASSPATH</p>
<p>java -classpath $JAVABENCH_CLASSPATH org.apache.http.contrib.benchmark.HttpBenchmark -k -T &#8220;application/soap+xml; charset=UTF-8&#8243; -p data/data.xml -n 1000 -c 32 http://localhost:80/axis2/services/Benchmark &gt; results/result.txt</em></p>
<p><em><br />
</em></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/26/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/26/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=26&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/07/11/benchmark-testing-tools-for-web-services/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Axis2/C 1.4 Version 1.4.0 Released.</title>
		<link>http://damithakumarage.wordpress.com/2008/05/08/axis2c-14-version-140-released/</link>
		<comments>http://damithakumarage.wordpress.com/2008/05/08/axis2c-14-version-140-released/#comments</comments>
		<pubDate>Thu, 08 May 2008 19:50:11 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=25</guid>
		<description><![CDATA[It is great to see that Axis2/C &#8220;The C web services stack&#8221; has it&#8217;s 1.4.0 version released. Thanks Dinesh for the great effort.
You can download this release from  http://ws.apache.org/axis2/c/download.cgi
Key Features
&#8212;&#8212;&#8212;&#8212;
1. Support for one-way messaging (In-Only) and request response messaging (In-Out)
2. Client APIs: Easy to use service client API and more advanced operation client API
3. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=25&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>It is great to see that Axis2/C &#8220;The C web services stack&#8221; has it&#8217;s 1.4.0 version released. Thanks Dinesh for the great effort.</p>
<p>You can download this release from  <a class="moz-txt-link-freetext" href="http://ws.apache.org/axis2/c/download.cgi">http://ws.apache.org/axis2/c/download.cgi</a></p>
<p>Key Features<br />
&#8212;&#8212;&#8212;&#8212;</p>
<p>1. Support for one-way messaging (In-Only) and request response messaging (In-Out)</p>
<p>2. Client APIs: Easy to use service client API and more advanced operation client API</p>
<p>3. Transports supported: HTTP<br />
* Inbuilt HTTP server called simple axis server<br />
* Apache2 httpd module called mod_axis2 for server side<br />
* IIS module for server side<br />
* Client transport with ability to enable SSL support<br />
* Basic HTTP Authentication<br />
* Digest HTTP Authentication<br />
* libcurl based client transport</p>
<p>4. Transports supported: HTTPS<br />
* HTTPS Transport implementation using OpenSSL</p>
<p>5. Transports supported: TCP<br />
* for both client and server side</p>
<p>6. Transport proxy support (HTTP)<br />
* Proxy Authentication (Basic/Digest)</p>
<p>7. Module architecture, mechanism to extend the SOAP processing model.</p>
<p>8. WS-Addressing support, both the submission (2004/08) and final (2005/08) versions,<br />
implemented as a module.</p>
<p>9. MTOM/XOP support.</p>
<p>10. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages;<br />
This has complete XML infoset support.</p>
<p>11. XML parser abstraction<br />
* Libxml2 wrapper<br />
* Guththila pull parser support</p>
<p>12. Both directory based and archive based deployment models for deploying<br />
services and modules</p>
<p>13. Description hierarchy providing access to static data of<br />
Axis2/C runtime (configuration, service groups, services, operations and messages)</p>
<p>14. Context hierarchy providing access to dynamic<br />
Axis2/C runtime information (corresponding contexts to map to each level of<br />
description hierarchy)</p>
<p>15. Message receiver abstraction<br />
* Inbuilt raw XML message receiver</p>
<p>16. Code generation tool for stub and skeleton generation for a given<br />
WSDL (based on Java tool)<br />
*  Axis Data Binding (ADB) support</p>
<p>17. REST support (more POX like) using HTTP POST, GET, HEAD, PUT and DELETE<br />
*  Support for RESTful Services</p>
<p>18. Comprehensive documentation<br />
* Axis2/C Manual</p>
<p>19. WS-Policy implementation called Neethi/C, with WS-SecurityPolicy extension</p>
<p>Major Changes Since Last Release.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>1. Fixed library version numbering<br />
2. Made Guththila as default XML parser<br />
3. Many bug fixes.<br />
4. Memory leak fixes</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/25/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/25/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=25&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/05/08/axis2c-14-version-140-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>C Web Services Demo Site</title>
		<link>http://damithakumarage.wordpress.com/2008/05/04/c-web-services-demo-site/</link>
		<comments>http://damithakumarage.wordpress.com/2008/05/04/c-web-services-demo-site/#comments</comments>
		<pubDate>Sun, 04 May 2008 03:18:51 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=24</guid>
		<description><![CDATA[See here
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=24&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>See <a href="http://cwebservices.blogspot.com/2008/05/c-web-services-demo-site.html">here</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/24/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/24/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=24&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/05/04/c-web-services-demo-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Reliable Messaging with Mercury</title>
		<link>http://damithakumarage.wordpress.com/2008/04/30/reliable-messaging-with-mercury/</link>
		<comments>http://damithakumarage.wordpress.com/2008/04/30/reliable-messaging-with-mercury/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 01:15:56 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=23</guid>
		<description><![CDATA[There is this new implementation of Reliable Messaging from WSO2 called Mercury. You can download it from here. There is discussion going on as to whether Mercury should be sequal to Sandesha2 as Sandesha3 or not. Ppl who argue against it has basically following points
1. When adding features to current Mercury it will ultimately become [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=23&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>There is this new implementation of Reliable Messaging from WSO2 called Mercury. You can download it from <a href="http://wso2.org/downloads/commons/mercury">here</a>. There is discussion going on as to whether Mercury should be sequal to Sandesha2 as Sandesha3 or not. Ppl who argue against it has basically following points</p>
<p>1. When adding features to current Mercury it will ultimately become as complex and as ugly as Sandesha2. In other words they have concerns whether Mercury solve existing Sandesha2 problems.</p>
<p>2. Sandesha2 is tested for performance and results are satisfactory and have doubt about Mercury performance.</p>
<p>3. Sandesha2 is feature rich.</p>
<p>4. Mercury still only provides only a very basic feature set and therefore they can&#8217;t adopt it at this stage.(RM 1.1 spec is not supported)</p>
<p>What those ppl accept in general is that</p>
<p>Sandeha2 is complex and need lot of improvement and that improving is not easy.</p>
<p>Ppl who argue in favour in Mercury have following points</p>
<p>1. Mercury architecture is based on a state model which is clean.</p>
<p>2. It would not be susceptible for race conditions and dead locks(I heard some ppl worry about that in Sandesha2)</p>
<p>3. Mercury is open for improvements and they beleive that it could be done in a cleanly fasion.</p>
<p>I am these days considering implementing Mercury/C for Axis2/C web services platform. When I had an initial look at the architecture diagrams and Mercury/Java code I understand that it is actually very clean and easy to adopt for writing Mercury/C, although I am not satisfied with the quality of the architecture documents that shipped with the Mercury release. It seems that nobody has reviewed it. For example it mention CSR but nowhere it has defined what is CSR(Of course Create Sequence Response). I must thank Amila Suriarachchi for coming up with this innovative design. I will continue to analyse Mercury architecture and most probably  will implement Mercury/C  which  I beleive could be completed in about 3 months time once started.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=23&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/04/30/reliable-messaging-with-mercury/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>WSF/C Hackathon</title>
		<link>http://damithakumarage.wordpress.com/2008/04/21/wsfc-hackathon/</link>
		<comments>http://damithakumarage.wordpress.com/2008/04/21/wsfc-hackathon/#comments</comments>
		<pubDate>Mon, 21 Apr 2008 00:41:10 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=21</guid>
		<description><![CDATA[For the past two and half years we developers at WSO2 were busy working on to add more and more features to WSF/C framework with the help of the community. After two years we can be happy with what we have acheived so far. WSF/C is now a feature rich, stable web services framework which [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=21&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>For the past two and half years we developers at WSO2 were busy working on to add more and more features to WSF/C framework with the help of the community. After two years we can be happy with what we have acheived so far. WSF/C is now a feature rich, stable web services framework which also is the base for WSF/PHP, WSF/C++, WSF/Perl and WSF/Ruby. So it is the time to lookback and to see what we can do more to improve WSF/C. So  the developers at WSO2 got together and discussed and worked on a plan to concentrate on the following.</p>
<p>- Improve the code quaulity by adding appropriate code comments, adding more descriptive loggings and reviewing the places where importand and/or complex logic involved.</p>
<p>- Get rid of the heaped junk here and there.</p>
<p>- Understand if we have missed anything.</p>
<p>- Identify any need for api changes that would lead to a next major release.</p>
<p>We started on doing this first on Axis2/C, the web services core of WSF/C and then plan to continue this on Rampart/C, Sandesha2/C, Savan/C and wsclient.</p>
<p>After two weeks of initial involvement it is the time for look back and evaluate the progress. Personally I&#8217;m quite satisfied about the progress. I consider this as a great opportunity to turn back and look at my own code on Axis2/C, a task I could not do for most of the time because of other involvements of adding more features.</p>
<p>There are basically two major paths a software can be developed.</p>
<p>1. Start developing the actual software after a rigorous and comprehensive architectural designs and discussions that involve software architects, users, developers etc. The design phase usually supposed to be comparatively longer than actual developement and by the time the design come to the developer, he has very descriptive details on how to proceed with the development. This is the model that is followed in most of the large scale software development companies in Sri Lanka. The life of the developer is very easy if everything goes as planned and if architectures involved are extrememely experienced and talented so that they could forsee what is going to be developed in exact details correctly.</p>
<p>2. Work in a kind of iterative development method where developer initiate the work and he uses his every ingenuity to achieve the final goal. He always have something working and continue on adding to it until it grows. Sometimes in the process he need to get rid of complete iterations that fails but provides direction for correct path. This often leads to very good quality software. But the success of this method relies greatly on the ablity and creativity of the developer.</p>
<p>What I believe is a hybrid of the above two to overcome the cons of both approaches.</p>
<p>I believe WSFC/Hackathon like sesssions constitute a greater part in a hybrid process like above.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=21&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/04/21/wsfc-hackathon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>wsclient and amazoneclient</title>
		<link>http://damithakumarage.wordpress.com/2008/04/17/wsclient-and-amazoneclient/</link>
		<comments>http://damithakumarage.wordpress.com/2008/04/17/wsclient-and-amazoneclient/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 19:29:53 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=20</guid>
		<description><![CDATA[As I have promised earlier I have written two articles on wso2 wsclient and amazoneclient. wsclient is a wget like command line tool which is designed to consume web services from command line. Today I added the capability to add custom soap headers by using the new option &#8211;soap-header LINE. This new option makes wsclient [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=20&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As I have promised earlier I have written two articles on wso2 wsclient and amazoneclient. <a href="http://wso2.org/projects/wsclient">wsclient</a> is a wget like command line tool which is designed to consume web services from command line. Today I added the capability to add custom soap headers by using the new option &#8211;soap-header LINE. This new option makes wsclient much more powerful tool since you can add ws* capablities through custom soap headers.</p>
<p>amazoneclient is also a command line tool which internaly use wsclient. This tool can be used to do online transactions with Amazon E-Commerce web services. These days I&#8217;m working on a WSO2 solutions demo site which is aimed to demonstrate the power of WSO2 WSF/C web services platform through some solutions. amazoneclient will be the first solution published on this site. This site will be launched within couple of weeks.</p>
<p>The articles are <a href="http://wso2.org/library/3362">Calling Web Services from the Shell</a> and <a href="http://wso2.org/library/3363">Amazon ECommerce Client </a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=20&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/04/17/wsclient-and-amazoneclient/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Developer Guide needed for Axis2/C internals Revisited</title>
		<link>http://damithakumarage.wordpress.com/2008/04/07/developer-guide-needed-for-axis2c-internals-revisited/</link>
		<comments>http://damithakumarage.wordpress.com/2008/04/07/developer-guide-needed-for-axis2c-internals-revisited/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 19:17:24 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=19</guid>
		<description><![CDATA[In an earlier blog I emphasized the importance of having a developer guide for Axis2/C internals. I think a new article Overcoming Memory Related Issues in Axis2/C published in Wso2 Oxygen Tank by Manjula Peiris is a step towards that direction.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=19&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In an earlier blog I emphasized the importance of having a developer guide for Axis2/C internals. I think a new article <a href="http://wso2.org/library/3412">Overcoming Memory Related Issues in Axis2/C</a> published in Wso2 Oxygen Tank by Manjula Peiris is a step towards that direction.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=19&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/04/07/developer-guide-needed-for-axis2c-internals-revisited/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Useful Axis2/C Web Services Links</title>
		<link>http://damithakumarage.wordpress.com/2008/04/07/18/</link>
		<comments>http://damithakumarage.wordpress.com/2008/04/07/18/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 19:06:55 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=18</guid>
		<description><![CDATA[Useful Axis2/C web services links
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=18&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a title="Useful Axis2/C Web Services Links" href="http://cwebservices.blogspot.com/2008/04/axis2c-web-services-links.html">Useful Axis2/C web services links</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=18&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/04/07/18/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Developer Guide needed about Axis2/C internals</title>
		<link>http://damithakumarage.wordpress.com/2008/03/03/developer-guide-needed-about-axis2c-internals/</link>
		<comments>http://damithakumarage.wordpress.com/2008/03/03/developer-guide-needed-about-axis2c-internals/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 18:00:48 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/2008/03/03/developer-guide-needed-about-axis2c-internals/</guid>
		<description><![CDATA[See my post on the topic
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=16&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>See my <a href="http://cwebservices.blogspot.com/2008/03/developer-guide-needed-about-axis2c.html">post on the topic</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=16&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/03/03/developer-guide-needed-about-axis2c-internals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Reliable Messaging with Sandesha2/C</title>
		<link>http://damithakumarage.wordpress.com/2008/03/03/reliable-messaging-with-sandesha2c/</link>
		<comments>http://damithakumarage.wordpress.com/2008/03/03/reliable-messaging-with-sandesha2c/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 17:59:04 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/2008/03/03/reliable-messaging-with-sandesha2c/</guid>
		<description><![CDATA[See my post here
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=15&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>See my post<a href="http://cwebservices.blogspot.com/2008/03/reliable-messaging-with-sandesha2c.html"> here</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=15&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/03/03/reliable-messaging-with-sandesha2c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Karate Do and Self Defence</title>
		<link>http://damithakumarage.wordpress.com/2008/02/22/karate-do-and-self-defence/</link>
		<comments>http://damithakumarage.wordpress.com/2008/02/22/karate-do-and-self-defence/#comments</comments>
		<pubDate>Fri, 22 Feb 2008 16:06:10 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=14</guid>
		<description><![CDATA[Nowadays there I have heard that as Self Defence there is no use of learning Karate. They say it is only a sport or a way of creating a healthy body and mind.  But for me  it can never be a good sport and it is the best form of self defence. With [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=14&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Nowadays there I have heard that as Self Defence there is no use of learning Karate. They say it is only a sport or a way of creating a healthy body and mind.  But for me  it can never be a good sport and it is the best form of self defence. With an opponent weilding a gun infront of you what self defence Karate can provide to you? they ask.</p>
<p>Before answering this question we must know the meaning of the phrase &#8220;Self Defence&#8221;. Defend the Self from whom?. Your opponent from whom you could defend yourself could be anything. It could be a flowing stream, a strong wind, a falling tree,  a fierece dog, a burgler or it could be even a physical ailment and most of the time it is your own fear.</p>
<p>To defend from these opponents your self you must be always prepared mentally and physically. By practising Karate devotedly, diligently prepares you for this. It is moving meditation.</p>
<p>It may be true that you cannot avoid a bullet triggered at you in an alarming speed. But before that bullet is triggered at you, you have a thousand and one things to do to defend yourself if you have mastered Karate.</p>
<p>First you could avoid such confrontations by being not angered easily or by not making other ppl angered by you. You could avoid dangerous ppl and places by improving sense of awareness which is result of moving medition of Karate. Even then if you could not avoid such confrontations you could always hide or run before being confronted. To hide, to run effectively you need greater phsical ability. For example to instantly jump over an 8 feet high wall or nimbly climb up 15 feet tree require great phisical strength and some sense of correct technique which are all results of years of training(You don&#8217;t train to climb trees and jumping over walls while practsing Karate. But you are in a better possition than average ppl to successfully doing these when need arise.). Even if you cannot avoid the confrontation by these methods you can attack him in lightening speed before his finger touch the trigger(you are trained for such speed and power). Even if you could not avoid that then you can die bravely and unregrettedly which is the highest attainment the Karate traing could give you.</p>
<p>But realistically being confronted by a opponent with a gun is an incident that an ordinary person face not even once in a life time. But he is sure to be confronted by fear, decease and his own anger many times in life which could effectively devastate one&#8217;s self.</p>
<p>It is interesting to see that ppl who do not have time for practising this moving medition(or whatever form of exercise) at their younger age find ample time in thier old age to suffer from ailments which are unavoidable result of unhealthy mind and body.</p>
<p>I would like to produce following excerpts from the Master Text &#8220;Karate Do Kyohan&#8221; which has been my Bible for &#8220;self defence&#8221; for more than a decade.</p>
<p>* There is absolutely no need for concern about one-sided development of the body in Karate, and the fact that unform development may be considered to be on of the benefits of Karate.</p>
<p>* In most cases, only a minute or two is required to complete a Kata(my note:Predefined sequence of techniques that is soul of Karate) . Moreover, as one continues to practice, the movements become quicker and the training as a whole more vigours, so that one can get ample exercises from a relatively short period of time.</p>
<p>* No specific area, equipment, or even partner are necessary, for it can be performed in a garden, living room, hallway, at any time or place that one feels the desire to practise.</p>
<p>*Other contemporary karate experts such as masters Yamaguchi, Aragaki, chibana, Nakazato, Yahiku, Tokashiki, Sakihara, and chinen, have all lived to be over eighty. These examples are indicative of the role of Karate as a superier method of maintaining one&#8217;s health.</p>
<p>* It is not an exaggeration to assert that a man well trained in this form of defense may consider the whole body to be a weapon of awesomely effective offensive power.</p>
<p>* Although Karate does have throwing techiniques, it relies prinicipally on striking, kicking, and thrusting techiniques. These movements are much quicker and can escape the untrained eye. Block -attack combinations are executed simultaneously, and weaker individual, women or young boys, do have ample strength to control a more powerful opponent with them.</p>
<p>* An insight into this art, a mastery of its techniques a polishing of the virtues of courage, courtesy, integrity, humility, and self-control to make them the inner light to guide one&#8217;s daily actions:these require at the least ten or twenty years, if possible a lifetime of devotion to the study of this art.</p>
<p>* One who truely trains in this do and actually understands Karate-do is never easily drawn into a fight. One attack or a single kick determines life or death.</p>
<p>* True Karate, that is , Karate-do strives internally to train the mind to develop a clear conscience enabling one to face the world truthfully., while externally developing strength until one may overcome even ferocios wild animals. Mind and technique are to become one in true Karate.</p>
<p>* It is the small-minded individual who likes to brag upon acquiring some small skill, and those with little knowledge who carry on as if they were experts are childish. It is because of the large number of false martial artists in the world that the public tends either to ignore the martial artist or to consider him wild.</p>
<p>* For the Karate-do student, the most shameful trait is indecisiveness.</p>
<p>I hope these ideas let newcommers to do correctly</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=14&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/02/22/karate-do-and-self-defence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Amazon web services client using wsclient</title>
		<link>http://damithakumarage.wordpress.com/2008/02/22/amazon-web-services-client-using-wsclient/</link>
		<comments>http://damithakumarage.wordpress.com/2008/02/22/amazon-web-services-client-using-wsclient/#comments</comments>
		<pubDate>Fri, 22 Feb 2008 11:37:40 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=13</guid>
		<description><![CDATA[These days I&#8217;m working on a command line web services client to consume Amazon AWS Web services.
The idea is to use this tool from command line easily to do transactions with amazon. It can search for items, then lookup for searched items for details and review the details of items and when finally decide to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=13&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>These days I&#8217;m working on a command line web services client to consume Amazon <a href="http://www.amazon.com/E-Commerce-Service-AWS-home-page/b/ref=sc_fe_c_0_15763381_1?ie=UTF8&amp;node=12738641&amp;no=15763381&amp;me=A36L942TSJ2AJA" title="AWS" target="_blank">AWS Web services</a>.</p>
<p>The idea is to use this tool from command line easily to do transactions with amazon. It can search for items, then lookup for searched items for details and review the details of items and when finally decide to buy it and add to the amazon shopping cart.</p>
<p>The name I put for the client is amazoneclient(subjected to change).</p>
<p>User can get help for using the tool by</p>
<p>amazoneclient &#8211;help.</p>
<p>There are two kinds of options user can provide; general options and  operation specific options.</p>
<p>For example</p>
<p>$amazoneclient &#8211;subscription_id=&lt;your access key&gt;  &#8211;op=ItemLookup &#8211;op_args=&#8221;ItemId=B00008OE6I ResponseGroup=OfferFull&#8221;</p>
<p>&#8211;subscription_id is a general option. Item_id is a operation specific  option for the operation ItemLookup.</p>
<p>wsclient internally use <a href="http://wso2.org/projects/wsf/c" title="wsclient" target="_blank">wsf/c wsclient</a> as the web sevices client. I hope to finish the work on this tool within a week. I&#8217;ll update you with more information then.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=13&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/02/22/amazon-web-services-client-using-wsclient/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Be Humble, Be Honest</title>
		<link>http://damithakumarage.wordpress.com/2008/02/13/be-humble-be-honest/</link>
		<comments>http://damithakumarage.wordpress.com/2008/02/13/be-humble-be-honest/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 23:53:21 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=11</guid>
		<description><![CDATA[I read this article about the life style of Iranian President. This is unbelievable cosidering the fact that Iran is much more wealthier country compared to Sri Lanka. Whatever their political view every politician in Sri Lanka should consider the facts in this article seriously provided they claim themselves as volunteers dedicated for the benefit [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=11&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I read this article about the life style of Iranian President. This is unbelievable cosidering the fact that Iran is much more wealthier country compared to Sri Lanka. Whatever their political view every politician in Sri Lanka should consider the facts in this article seriously provided they claim themselves as volunteers dedicated for the benefit of the country and it&#8217;s people. Not only politicans, we all should know what is the economy of our country(family) could afford and do accordingly. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>http://lankaguardian.blogspot.com/2008/02/will-our-politicians-emulate-iranian.html</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=11&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/02/13/be-humble-be-honest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Soap Action and Addressing action</title>
		<link>http://damithakumarage.wordpress.com/2008/02/12/soap-action-and-addressing-action/</link>
		<comments>http://damithakumarage.wordpress.com/2008/02/12/soap-action-and-addressing-action/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 12:08:14 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=10</guid>
		<description><![CDATA[For me it has alway been a headache to understand and remember the complexity behind soap action and web services addressing action.  As I have again started working on WSFC/wsclient a wget like command line tool specifically designed for consuming web services, I thought of writing down the facts from the corresponding authentic sources [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=10&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>For me it has alway been a headache to understand and remember the complexity behind soap action and web services addressing action.  As I have again started working on <a href="http://wso2.org/projects/wsf/c" target="_blank">WSFC/wsclient</a> a wget like command line tool specifically designed for consuming web services, I thought of writing down the facts from the corresponding authentic sources clearly for the benefit of at least me for  future reference.</p>
<p>In WS-I version 1.1 it states</p>
<p>The <code>SOAPAction</code> header is purely a hint to processors. All vital information regarding the 						intent of a message is carried in the envelope.</p>
<p class="statement"> &#8211; <span class="statement-id"><a title="R2744" name="R2744"></a></span>`A HTTP request MESSAGE MUST contain a <code>SOAPAction</code> HTTP header field with a quoted value equal to the  					value of the <code>soapAction</code> attribute of <code>soapbind:operation</code>, if present in the  					corresponding WSDL description.`</p>
<p class="statement"> &#8211; <span class="statement-id"><a title="R2745" name="R2745"></a></span>`A HTTP request MESSAGE MUST contain a <code>SOAPAction</code> HTTP header field with a quoted empty string value, if in the  					corresponding WSDL description, the <code>soapAction</code> of <code>soapbind:operation</code> is  					either not present, or present with an empty string as its value.`</p>
<p class="statement"> Again the `Web Services Addressing 1.0 &#8211; WSDL Binding` states  clearly about the explicit association between wsa:action and SOAPAction as follows</p>
<p>`WS-Addressing defines a global attribute, wsaw:Action, that can be used to explicitly define the value of the [action] property for messages in a WSDL description. The type of the attribute is xs:anyURI and it is used as an extension on the WSDL input, output and fault elements. A SOAP binding can specify SOAPAction values for the input messages of operations. In the absence of a wsaw:Action attribute on a WSDL input element where a SOAPAction value is specified, the value of the [action] property for the input message is the value of the SOAPAction specified. Web Services Addressing 1.0 &#8211; SOAP Binding[<cite><a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/#WSADDR-SOAP">WS-Addressing SOAP Binding</a></cite>] specifies restrictions on the relationship between the values of [action] and SOAPAction for SOAP 1.1 and SOAP 1.2.</p>
<p>The inclusion of wsaw:Action without inclusion of wsaw:UsingAddressing has no normative intent and is only informational. In other words, the inclusion of wsaw:Action attributes in WSDL alone does not imply a requirement on clients to use Message Addressing Properties in messages it sends to the service. A client, however, MAY include Message Addressing Properties in the messages it sends, either on its own initiative or as described by other elements of the service contract, regardless of the presence or absence of wsaw:UsingAddressing. Other specifications defining the value of [action] are under no constraint to be consistent with wsaw:Action.`</p>
<p class="statement">&nbsp;</p>
<p class="statement">&nbsp;</p>
<p> I do not like to interpret the above readings from the specifications with my own wording and confuse the reader or myself later. The best thing is to re-read the above and to refer if neccessary to the relevant sources to understand this clearly.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=10&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/02/12/soap-action-and-addressing-action/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Making Logging with Axis2 C Fun !!!</title>
		<link>http://damithakumarage.wordpress.com/2007/10/25/making-logging-with-axis2-c-fun/</link>
		<comments>http://damithakumarage.wordpress.com/2007/10/25/making-logging-with-axis2-c-fun/#comments</comments>
		<pubDate>Thu, 25 Oct 2007 23:37:08 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/2007/10/25/making-logging-with-axis2-c-fun/</guid>
		<description><![CDATA[I have this problem with Axis2 C logging system where I work with a branch of Axis2 C for the project I&#8217;m currently working on. In this project I have several services deployed in Axis2C. While developing these complex services I put whole lot of debugging log messages to track the development process. My problem [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=9&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I have this problem with Axis2 C logging system where I work with a branch of Axis2 C for the project I&#8217;m currently working on. In this project I have several services deployed in Axis2C. While developing these complex services I put whole lot of debugging log messages to track the development process. My <a href="https://issues.apache.org/jira/browse/AXIS2C-734" title="Enabling Service Level Custom Logs" target="_blank">problem</a> is that when axis2c engine is started with log level of debug it prints whole bunch of engine/transport related debug messages so that my debug messages of the service which are my current interest are obscured. It is true that the engine/transport related debug messages are of importance but at this level of my debugging I can safely assume that engine/transport workes as intended and stable I have no interest in debugging them. My only interest is seeing the log messages clearly for the service I&#8217;m developing now.</p>
<p>In one of my services I periodically send soap messess reusing a service client. For each message I send, there are hundereds lines of repeated messages from engine/transport. Not only that, because of this within few minutes the files size become several megabytes.</p>
<p>The unlimited growth of log file without any log rotating mechanism is another issue for which I have put an <a href="http://issues.apache.org/jira/browse/AXIS2C-732" title="Log file size increasing with no upper limit" target="_blank">jira</a> proposing a simple log rotating mechanism  for it.</p>
<p>When I discussed this issue with <a href="http://xydinesh.wordpress.com" title="Dinesh Premala's web blog">Dinesh</a> he suggested that this should be handled at service level, may be by editing and inserting a parameter in services.xml. The solution I have provided below is not exactly that but his idea of handling at service level is taken.</p>
<p>I have provided a soultion for the problem at hand in the axis2c branch using for the project. It is to provide another logging function in addition to the existing set</p>
<p>AXIS2_LOG_DEBUG()</p>
<p>AXIS2_LOG_INFO()</p>
<p>AXIS2_LOG_WARNING()</p>
<p>AXIS2_LOG_ERROR()</p>
<p>AXIS2_LOG_CRITICAL()</p>
<p>The new logging function is AXIS2_LOG_SERVICE()</p>
<p>This function can be called from the service code you are writing. Then you can start the axis2c engine with the new log level AXIS2_LOG_LEVE_SERVICE. Then you will find that only the critical/errors from the engine/transport are printed to the log file and all the messages you put as AXIS2_LOG_SERVICE are also printed. Now it is very useful because you can easily highlight the problems at hand.</p>
<p>So suppose your service have following log messages</p>
<p>AXIS2_LOG_ERROR(env-&gt;log, AXIS2_LOG_SI, &#8220;Error log message&#8221;);<br />
AXIS2_LOG_DEBUG(env-&gt;log, AXIS2_LOG_SI, &#8220;Debug log message&#8221;);</p>
<p>AXIS2_LOG_SERVICE(env-&gt;log, AXIS2_LOG_SI, &#8220;Custom Service Log&#8221;);</p>
<p>Now can you guess what messages are printed and when?</p>
<p>Answer is when started the sever with run level AXIS2_LOG_LEVEL_SERVICE only error/critical and service messages are printed, not the debug level log messages from engine/transport.</p>
<p>If you start the service with log leve debug then all the messages are printed.</p>
<p>Simple solution which save lot of energy right?</p>
<p>One other thing that is needed to make logging with axis2c fun is the ability to plug in some other logging mechanisms to Axis2C.  For example I have a requirement in my project  to log critical errors to syslog while printing other levels to axis2c log.  I&#8217;m thinking how can this be solved immediately.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=9&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2007/10/25/making-logging-with-axis2-c-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>About Apache Savan/C First Release</title>
		<link>http://damithakumarage.wordpress.com/2007/10/21/about-apache-savanc-first-release/</link>
		<comments>http://damithakumarage.wordpress.com/2007/10/21/about-apache-savanc-first-release/#comments</comments>
		<pubDate>Sun, 21 Oct 2007 23:40:26 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/2007/10/21/about-apache-savanc-first-release/</guid>
		<description><![CDATA[Last week I released Apache Savan/C version 0.90 version.
It can be downloaded from
http://ws.apache.org/savan/c/download.cgi
This release is supposed to be used with the Axis2C 1.1.0 distribution which is released recently.
Key Features:
1 Support for WS-Eventing Specification August 2004.
2 Support for Subscribe, Unsubscribe, Renew and GetStatus operations.
3 Support for subscription management endpoint which could be the
Event Source itself or [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=8&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Last week I released Apache Savan/C version 0.90 version.</p>
<p>It can be downloaded from<br />
http://ws.apache.org/savan/c/download.cgi<br />
This release is supposed to be used with the Axis2C 1.1.0 distribution which is released recently.</p>
<p>Key Features:</p>
<p>1 Support for WS-Eventing Specification August 2004.<br />
2 Support for Subscribe, Unsubscribe, Renew and GetStatus operations.<br />
3 Support for subscription management endpoint which could be the<br />
Event Source itself or separate subscription management endpoint.<br />
4 Persistent storage for subscribers.<br />
5 Support for both SOAP 1.1 and 1.2.<br />
6 Samples to test scenarios.<br />
7 Documentation<br />
I have just finished writing an tutorial on Savan/C which will be soon published on Oxygen Tank. I also plan to write an article on my experience of using Savan C on a real project. Your early feedback on this implementation is most welcome.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=8&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2007/10/21/about-apache-savanc-first-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>The First Impression</title>
		<link>http://damithakumarage.wordpress.com/2007/09/26/the-first-impression/</link>
		<comments>http://damithakumarage.wordpress.com/2007/09/26/the-first-impression/#comments</comments>
		<pubDate>Wed, 26 Sep 2007 02:40:15 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/2007/09/26/the-first-impression/</guid>
		<description><![CDATA[I&#8217;m using WSF/C in a project and here is some useful tips that we used in out project that may help WSF/ C more attractive to the linux user.
There is a standard body for File System Hierarchy Standard for Unix-like operating systems. We followed that standard and make our components install to these standard places. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=7&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;m using WSF/C in a project and here is some useful tips that we used in out project that may help WSF/ C more attractive to the linux user.</p>
<p>There is a standard body for File System Hierarchy Standard for Unix-like operating systems. We followed that standard and make our components install to these standard places. For example our libraries go to /opt/wso2/lib, our logging goes to /var/log/opt/wso2/x.log etc. The idea is by making it to standard places one who uses it intuitively know where to look for certain files and also make it all easy to provide standard packages like rpm and deb packages. There are many other advantages as you can see in</p>
<p>http://www.pathname.com/fhs/pub/fhs-2.3.html</p>
<p>Other thing is decide on how to break up the distribution into several packages. Instead of distributing a one big rpm or deb package we can break it into several packages and the interested user will download and install only the components he is interested. He can always download and install other components as required. For example in providing rpm&#8217;s we can give util rpm, axiom rpm,  core rpm and even apache module rpm, xmpp transport rpm etc. Also we can provided dev rpm&#8217;s test rpms etc. Of course we need to put a dependancy on util rpm in core rpm etc. Also the default installation should include minimum useful set of rpm&#8217;s(same apply for debs).</p>
<p>We can provide a set of test rpm&#8217;s which enable the user to immediately make sure that everything goes on well in a very short time.  In the work I&#8217;m doing I have a collection of axis2c services for various purposes. In my tests I deploy these services in the engine, start the engine as an apache module and send some client requests against these services and then show the success/failure of these tests using CUnit at client side. All this is done by running a single CUnit test file.</p>
<p>rpm -i &lt;wsfc package&gt;</p>
<p>rpm -i &lt;product component 1&gt;</p>
<p>rpm -i &lt;product component 2&gt;</p>
<p>rpm -i &lt;product component 3&gt;</p>
<p>rpm -i &lt;test suite&gt;</p>
<p>./test_client.</p>
<p>That&#8217;s all the user need to do to test soe product components. This also make it easy to write good scripts to automate the things.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=7&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2007/09/26/the-first-impression/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Great Team Work</title>
		<link>http://damithakumarage.wordpress.com/2007/09/25/great-team-work/</link>
		<comments>http://damithakumarage.wordpress.com/2007/09/25/great-team-work/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 16:52:49 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/2007/09/25/great-team-work/</guid>
		<description><![CDATA[I had the greatest teamwork experience during our off-season journey to Sri Pada couple of weeks back. Our team consisted of Kaushalya, Nandika, SanjayaR, Dinesh, Dushshantha, Amila, My brother in law(Upul) and Me.  We choose the route along Kuruwita which is the longest(11.5km)  and the most difficult of the three main roads leading [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=6&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I had the greatest teamwork experience during our off-season journey to Sri Pada couple of weeks back. Our team consisted of Kaushalya, Nandika, SanjayaR, Dinesh, Dushshantha, Amila, My brother in law(Upul) and Me.  We choose the route along Kuruwita which is the longest(11.5km)  and the most difficult of the three main roads leading to the the top. We set out early in Saturday morning hoping to comeback in Sunday evening and make it to the office by Monday morning. In the off-season the stoney steps are wowen with moss which cause a slippery serface slowing the progress.  It was about 7pm when we make it to the top finally. We spent the night in a hired room with minimum facility of some mats on the cold floor. But we were lucky to watch the sun rise in the early morning which I must say is a very rare experience which only you can enjoy freely only in the off-season. But the problem in the off-season is that you are often prevented from seeing it by clouds and mist but in our case we were lucky. When we set out the return journey it was sunny all over the mountain range but at the middle of the journey heavy rain began to pour down. We were all equiped with rain coats so it did not hinder our progress, but the danger was awaiting us!.</p>
<p>Amila, Dinesh and Upul Aiya lead rest by about 20 minutes and they managed to cross Seetha Gangula before us. Seetha Gangula is a small river across the Sri pada path. It is about 30 meter&#8217;s wide and normally you can wade it with water upto your knees.</p>
<p>But by the time rest of us reach it, it began to overflow making it difficult to cross. Infront of our eyes the water level was rising rapidly so we decided to stay in the Ambalama nearby(Ambalama is the sinhala name to the resting place for people to use for rest in long journeys) . Luckily there was Ambalam in both side of the river. I think this was built on purpose because the rising of water is a usual thing to happen and people caught in it can stay on these Ambalama&#8217;s until the water level reduce.</p>
<p>Nature has done a nice separation between us on the two banks. All the matchbox and lighter was with us. Firewood was with them!!!. Raw Noodles we took with us to cook for lunch were with us but the pot to cook with was with them!!!.  So SanjayaR, Kaushalya, Nandika, Dushshyantha and me who were trapped in this side had nothing to do, but pray for the Rain to stop. The time was 1pm. There was no sign of stopping the rain. There was a great chance that we may have to spend the night there. There were no signals to our phones  so that we could not inform our families that we may get delayed. It was unimaginable  to stay the night with no food and in the cold and dump Ambalama. We need a fire somehow!!!. All were hopeless for some time and everybody looked bewildered. But slowly but gradually the team started to get it&#8217;s spirit back thanks to Sanjaya who managed to make some fire by using small leftover&#8217;s of some firewood and papers. But how we are going to keep that fire going?. I remembered one of my previous similar experience and knew that wet logs can be make good wirewood if we can dry them for some time in fire. So  Kaushalya and me collected a good amount of wet logs from around the Ambalama. That worked very well and after some strenuos effort we were having a good fireplace promising to give warmth for a whole night. Now we are warm next problem is food. Then Nandika came with that great innovation of making a pot using some left overs of a rectangular Aluminum sheet which he managed somehow to find from within the Ambalama. So we managed to cook the noodles using his primitive age cook pot. I have never enjoyed such delicious noodles !!!.</p>
<p>By the time the rain stoped it was about 8pm.  The rain was so heavily pouring non-stop for about 8 hours!!!.  For water level of the water to reduce it took about another two hours. By the time we crossed the river it was 10pm.</p>
<p>We managed to come to the office by Monday 2pm.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=6&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2007/09/25/great-team-work/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>An Axis2 C design issue?</title>
		<link>http://damithakumarage.wordpress.com/2007/09/23/an-axis2-c-design-issue/</link>
		<comments>http://damithakumarage.wordpress.com/2007/09/23/an-axis2-c-design-issue/#comments</comments>
		<pubDate>Sun, 23 Sep 2007 07:48:40 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/2007/09/23/an-axis2-c-design-issue/</guid>
		<description><![CDATA[There was this discussion between Sanjaya Karunasena, Samisa and me regarding the application/session scope supported by Axis2 C engine when it is deployed as an Apache module.
The problem that initiated the discussion is as following. In Savan C(The WS Eventing Specification implementation of Axis2 C web services Frame Work) when a subscriber send a subscription [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=5&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>There was this discussion between Sanjaya Karunasena, Samisa and me regarding the application/session scope supported by Axis2 C engine when it is deployed as an Apache module.</p>
<p>The problem that initiated the discussion is as following. In Savan C(The WS Eventing Specification implementation of Axis2 C web services Frame Work) when a subscriber send a subscription message to a Data Source, that data source maintain the subscriber&#8217;s state in a hashmap stored in one of it&#8217;s service parameter. So the next time the subscriber send a Renew Subscription message or a GetStatus message or a Unsubscribe message to the data source, that subscriber&#8217;s identity is updated accordingly in the service parameter&#8217;s hashmap.</p>
<p>This scenario works as expected when axis2 C is deployed as an axis2c stanalone server. But when Axis2 C is deployed as an Apache Module this does not work. I will explain it as following. when a request comes to a Axis2 C service, the Apache web server serves it in a thread spawn from a certain process. The next reqeust from the same requester for the same service may be served by a different thread from the same process or a different thread from a completely different process spawned by Apache2 to increase the performance. When a new process is spawned by Apache the Axis2c module&#8217;s init module function is called for that process, resulting in a new Axis2 C configuration context. A new configuration context means a new serivce context!!!. Now all the state stored in the earlier process&#8217;s service parameter is lost in this new service context&#8217;s service. Because of this problem the subscription information stored in the hashmap of the datasource service&#8217;s parameter in the subscription request may be lost when another request comes  regarding the state of the subscription.</p>
<p>To solve this problem what I did is to store the subscriber&#8217;s state to a database. But Sanjaya&#8217;s argument was this is a hack the developer has to provide because of the Axis2 C engine&#8217;s inability to maintain the application or session scope as it promise. But Samisa argued back saying that it&#8217;s wrong of Apache2 to init the Axis2 each time it serve the new request. But Sanjaya is saying that still we should be able to do some inter process communication to keep the session or application scope as required. He proposed to do a multicasting as it is done in gmond applications to propogate the state between the machines in which the gmond is running. He proposed that this same solution can be extended when it comes to load balancing support in Axis2 C.</p>
<p>It was also discussed to find out how other Apache module developer&#8217;s who need to maintain state between module instances do this. For example how PHP do this? The discussion ended agreeing to start a discussion thread on this.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=5&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2007/09/23/an-axis2-c-design-issue/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
		<item>
		<title>Subscription manager for savan C</title>
		<link>http://damithakumarage.wordpress.com/2007/07/27/subscription-manager-for-savan-c/</link>
		<comments>http://damithakumarage.wordpress.com/2007/07/27/subscription-manager-for-savan-c/#comments</comments>
		<pubDate>Fri, 27 Jul 2007 12:39:07 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/2007/07/27/subscription-manager-for-savan-c/</guid>
		<description><![CDATA[I have written a subscription manager for savan C implementation. According to the Ws eventing specification the subscription clients subscribe for a eventing topic which is a web service hosted somewhere. It can handle it&#8217;s own subscriptions or it can delegate the subscription management to another web service(subscription manager service).
In implementing this I used the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=4&subd=damithakumarage&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I have written a subscription manager for <a href="http://ws.apache.org/savan/c/" title="Savan C" target="_blank">savan C</a> implementation. According to the Ws eventing specification the subscription clients subscribe for a eventing topic which is a web service hosted somewhere. It can handle it&#8217;s own subscriptions or it can delegate the subscription management to another web service(subscription manager service).</p>
<p>In implementing this I used the following technique. If the subscription manager service and topic service reside in the same <a href="http://ws.apache.org/axis2/c/" title="axis2c" target="_blank">axis2c</a> engine container then when a subscription is received to the topic service, the subscriber list of the subscription manager  is updated by simply getting the subsription manager service from the configuration context by name. If the subscription service and topic service reside in two differnt axis2c engine instances then use soap to communicate between them through tcp transport.</p>
<p>I initially thought that whether the topic service and subscription manager service reside in the same engine or not should be transparent when I doing the coding, by using an internal transport(yet to be developed) . If the two serivce are in the same service container then it should automatically infer to use internal transport instead of tcp. But since I have the subscriber list as a service parameter value I could be content with the previous techinique I explained.</p>
<p>My subscription manager support following functions</p>
<p>add_topic</p>
<p>remove_topic</p>
<p>get_topic_list</p>
<p>add_subscriber</p>
<p>remove_subscriber</p>
<p>get_subscriber_list_for_topic</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/damithakumarage.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/damithakumarage.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&blog=1419720&post=4&subd=damithakumarage&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2007/07/27/subscription-manager-for-savan-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fba1d8c912a12d9b824555fc524d806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">damitha23</media:title>
		</media:content>
	</item>
	</channel>
</rss>