<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Damitha&#039;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, 02 Jun 2011 05:50:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='damithakumarage.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Damitha&#039;s Web Log</title>
		<link>http://damithakumarage.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://damithakumarage.wordpress.com/osd.xml" title="Damitha&#039;s Web Log" />
	<atom:link rel='hub' href='http://damithakumarage.wordpress.com/?pushpress=hub'/>
		<item>
		<title>NTLM auth support for Axis2/C</title>
		<link>http://damithakumarage.wordpress.com/2011/06/02/ntlm-auth-support-for-axis2c/</link>
		<comments>http://damithakumarage.wordpress.com/2011/06/02/ntlm-auth-support-for-axis2c/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 05:46:09 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Axis2/C]]></category>
		<category><![CDATA[NTLM]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=521</guid>
		<description><![CDATA[I have added NTLM authentication support for Axis2/C recently. I have added this support by writing a dynamically loadable library called axis2_ntlm which wrap an existing NTLM library. Currently it wrap a NTLM library called Heimdal [1]. However one can write his own wrapper for the external NTLM library of his choice. When using Heimdal, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=521&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have added NTLM authentication support for Axis2/C recently.</p>
<p>I have added this support by writing a dynamically loadable library called axis2_ntlm which wrap an existing NTLM library. Currently it wrap a NTLM library called Heimdal [1].</p>
<p>However one can write his own wrapper for the external NTLM library of his choice.</p>
<p>When using Heimdal, if I send same messages to a server requiring NTLM authentication using different connections, I noticed that some authentication requests fail with server responding that the provided credentials are not valid, even when the provided credentials are perfectly valid. If I repeat the same request again it is authorized. This intermittent failure come from Heimdal, because when linked with a wrapper for a different external library like libntlm[2] it works fine. It seems that Heimdal no longer actively support it&#8217;s NTLM library, so I encourage ppl to use libntlm instead. I have attached the code for libntlm wrapper for Axis2/C NTLM below[3] as a text file. One use this code to compile a wrapper for Axis2/C by studing how it is done for Heimdal. Note the additions to configure.ac, samples/configure.ac when it is done for Heimdal.</p>
<p>[1] http://www.h5l.org/</p>
<p>[2] http://josefsson.org/libntlm/</p>
<p>[3] http://damithakumarage.files.wordpress.com/2011/06/libntlm_wrapper-c.doc</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/521/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/521/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/521/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/521/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/521/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/521/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/521/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/521/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/521/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/521/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/521/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/521/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/521/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/521/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=521&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2011/06/02/ntlm-auth-support-for-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>Try Eclim</title>
		<link>http://damithakumarage.wordpress.com/2011/02/27/try-eclim/</link>
		<comments>http://damithakumarage.wordpress.com/2011/02/27/try-eclim/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 01:06:44 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Software that impressed me]]></category>
		<category><![CDATA[c++ ide]]></category>
		<category><![CDATA[eclim]]></category>
		<category><![CDATA[java ide]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=510</guid>
		<description><![CDATA[I have started using eclim as my Java, C and C++ development environment. eclim is a project aimed for vim developers to incorporate the power of Eclipse into vim editor. eclim provide host of features for java development that can be used from within your vim environment. Some of them are - Context sensitive code [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=510&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have started using <a title="Eclim" href="http://eclim.org/" target="_blank">eclim</a> as my Java, C and C++ development environment.</p>
<p>eclim is a project aimed for vim developers to incorporate the power of Eclipse into vim editor.</p>
<p>eclim provide host of features for java development that can be used from within your vim environment.<br />
Some of them are</p>
<p>- Context sensitive code completion<br />
- Code correction suggestions with option to apply a           suggestion<br />
- Java source and java doc searching capabilities.</p>
<p>Above features together with the most of the essential features one would expect from a java development environment make eclim a strong development environment for vim users.</p>
<p>The only catch is that you need to start a daemon called eclimd in order to use eclipse features from within vim. But that&#8217;s OK with me.</p>
<p>There is another way of using eclim as a vi editor from within Eclipose IDE. However I don&#8217;t like to play with Monsters like Eclipse.</p>
<p>My way of doing things is using the most familiar tool for me to get a job done. In that respect Unix pipe concept, which emphasize &#8220;use the best tool for the task at hand and if need to do more things plumb it with other tools. One tool do just the thing it is intended, nothing more, nothing less&#8221;.</p>
<p>See <a title="Eclim Features" href="http://eclim.org/features.html" target="_blank">here</a> for a set of eclim features. This getting <a title="Eclim Getting Started" href="http://eclim.org/gettingstarted.html" target="_blank">started guide</a> is the only document I followed to get my eclim environment running.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/510/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/510/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/510/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/510/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/510/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/510/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/510/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=510&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2011/02/27/try-eclim/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>Ravana Performance Test Framework</title>
		<link>http://damithakumarage.wordpress.com/2011/02/07/ravana-performance-test-framework/</link>
		<comments>http://damithakumarage.wordpress.com/2011/02/07/ravana-performance-test-framework/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 05:28:11 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[Software that impressed me]]></category>
		<category><![CDATA[apache bench]]></category>
		<category><![CDATA[httperf]]></category>
		<category><![CDATA[java-ab]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=506</guid>
		<description><![CDATA[In some of my previous blogs [1], [2], [3] I mentioned about some of the open source performance testing tools I have been using. Among them were httperf, Autobench, Apache Bench and Java Bench. I used these tools heavily to performance test WSO2 open source products. While doing so I understood that the performance test [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=506&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In some of my previous blogs [1], [2], [3] I mentioned about some of the open source performance testing tools I have been using. Among them were <a title="httperf" href="http://www.hpl.hp.com/research/linux/httperf/" target="_blank">httperf</a>, <a title="Autobench" href="http://www.xenoclast.org/autobench/" target="_blank">Autobench</a>, <a title="Apache Bench" href="http://httpd.apache.org/docs/2.0/programs/ab.html" target="_blank">Apache Bench</a> and <a title="java bench" href="http://charithaka.blogspot.com/2010/11/java-bench-simple-and-lightweight.html" target="_blank">Java Bench</a>.</p>
<p>I used these tools heavily to performance test <a title="WSO2 open source" href="http://wso2.com/products/">WSO2 open source products</a>. While doing so I understood that the performance test tool, usually the load generator is not alone adequate to fulfill my performance test requirements. Load generation is only a part of my requirement. The bigger picture required a systematic approach to performance testing which, none of these tools alone could fulfill. So what are my requirements?</p>
<p>- Provide easy to use standard configuration system so that tests could be configured easily.</p>
<p>- A standard way to provide my input for the tests</p>
<p>- A standard way to collect output from my tests.</p>
<p>- Way to collect system statistics while running the tests</p>
<p>- Automate the whole process. Just provide input data, required configuration and run the test. That&#8217;s it. Then collect the results</p>
<p>- A standard way to organize tests and the results</p>
<p>Commercially avaiable performance testing tools provide some or all of these requirements but for a very high cost. The name of the framework I implemented with <a title="Eranda" href="http://emsooriyabandara.blogspot.com/" target="_blank">Eranda</a> to fulfill above requirements, is Ravana. Ravana will be released during next couple of weeks licensed with GPL. Ravana will be released with helpful documentation that will get you familiar with Ravana immediately.</p>
<p>Using Ravana is simple. All your input, configuration, output for a particular test scenario will come  under one test scenario you define. You just need to define your input, configuration under that scenario and then run the test.</p>
<p>With Ravana you can use one of httperf, java bench or apache bench as the load generator. It also support a JMS load generator.</p>
<p>If you are too curious and need immediately try  Ravana, check it out from https://svn.wso2.org/repos/wso2/branches/commons/performance-tools/ravana2. The code in svn is pretty stable now.</p>
<p>[1] http://damithakumarage.wordpress.com/2009/03/15/benchmark-testing-with-httperf/</p>
<p>[2] http://damithakumarage.wordpress.com/2008/07/20/profiling-tools-that-i-used-to-profile-axis2c/</p>
<p>[3] http://damithakumarage.wordpress.com/2008/07/11/benchmark-testing-tools-for-web-services/</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/506/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=506&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2011/02/07/ravana-performance-test-framework/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>WSO2 ESB Performance</title>
		<link>http://damithakumarage.wordpress.com/2010/12/08/wso2-esb-performance/</link>
		<comments>http://damithakumarage.wordpress.com/2010/12/08/wso2-esb-performance/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 11:51:24 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[WSO2]]></category>
		<category><![CDATA[WSO2 ESB]]></category>
		<category><![CDATA[ESB Performance]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=483</guid>
		<description><![CDATA[I uploaded  an  article [1] with the latest performance numbers of WSO2 Enterprise Service Bus. It is quite a long time since WSO2 last published it&#8217;s ESB performance numbers. During that time it released performance numbers on customer request on various instances. WSO2 ESB has undergone various feature additions during that time. It is now [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=483&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I uploaded  an <a href="http://wso2.org/library/articles/2010/08/wso2-esb-performancenew"> article</a> [1] with the latest performance numbers of WSO2 Enterprise Service Bus. It is quite a long time since WSO2 last published it&#8217;s ESB performance numbers. During that time it released performance numbers on customer request on various instances.</p>
<p>WSO2 ESB has undergone various feature additions during that time. It is now based  on WSO2 Carbon (with ESB 2.x family of products). WSO2 Carbon[2] provides  the development framework and the runtime environment for the WSO2  products including the ESB. I am not going to talk all the new features here. <a href="//wso2.org/library">WSO2 Oxygen Tank</a> library is full of articles/tutorial written on WSO2 ESB. So decided it is time again to publish some performance numbers.</p>
<p>In Previous articles the performance was compared with different open source and commercial competitors.That is a time WSO2 was desperately searching for a niche in the middleware market. Now WSO2 ESB has established it&#8217;s ground firmly in the middleware ESB market, it has changed it&#8217;s approach on publishing performance numbers. No comparison with other vendors. We just publish our numbers and provide a performance test framework freely for our customers(or any interested user) to download and verify the results and, also do perform their own comparison with the products of their choice. This performance testing framework will be available soon on WSO2 Oxygen Tank.</p>
<p>This article has taken a different approach from previous performance test articles of WSO2 ESB in various aspects. I would like to discuss some of them here</p>
<p>First, the way performance presented is different. To quote from the article</p>
<p>&#8220;For each scenario each message size load is generated with concurrency  varying from 20 to 300(increasing by 40 at each stage). Then the maximum  transactions per second(TPS) achieved during this concurrency range is  recorded as the Transactions per second(TPS) for the corresponding  scenarios message size.&#8221;</p>
<p>What does that mean?.  From the experience of the previous performance tests I could see that  WSO2 ESB performs best at the concurrency range from 20 to 300. So I decided that the best performance number for a particular message size within that range would be the best choice to present to the reader. My original plan was to break several ranges like</p>
<p>20-300, 300-900 and 900-1800. But that could overly make the results complex. So I omitted the higher concurrency results from the article to avoid unnecessary cluttering.</p>
<p>Besides I wanted to capture results for a wider message size range. I thought that the concurrency range mentioned in the article best suited for that purpose.</p>
<p>Also my approach this time is to present the numbers in best possible way, so that one could easily grasp the results in easy to read graphs. When you compare the graphs from round3 this could be easily understood.</p>
<p>Note that I have done the performance test without keep alive enabled. HTTP keep-alive is great to improve performance. But it is not the best way to say that your product has good performance. My understanding<br />
is that, to emulate how the server react to real world scenario of concurrent users, the best way is to assume that each tcp connection represent a user. So my decision was to ignore how many requests each user do on a particular connection.</p>
<p>In the article I have provided enough information to reproduce the performance test scenarios. . I have not done any special tweaks to gain extra bit of performance, other than the things I have mentioned in the article. Providing the exact scripts, messages in files etc for somebody to immediately reproduce the results is a bonus. Yet WSO2 have planned a something more than a bonus. It will soon upload into Oxygen tank a great open source performance test framework which I sincerely hope will serve as a good platform for benchmark tests for many open source projects. It is a fun to reproduce the performance numbers provided in the article  using that tool.</p>
<p>[1] http://wso2.org/library/articles/2010/08/wso2-esb-performancenew</p>
<p>[2] http://wso2.com/products/carbon/</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/483/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=483&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2010/12/08/wso2-esb-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>We are 5</title>
		<link>http://damithakumarage.wordpress.com/2010/09/19/we-are-5/</link>
		<comments>http://damithakumarage.wordpress.com/2010/09/19/we-are-5/#comments</comments>
		<pubDate>Sun, 19 Sep 2010 04:15:41 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=478</guid>
		<description><![CDATA[Last week WSO2 celebrated 5 years in all grandeur befitting the success it achieved so far. When I joined WSO2, 5 years ago it composed of a bunch of young extremely talented people guided by Dr. Sanjiva and Paul Fremantle, driven by a passion to become a global brand. The ongoing success of WSO2 could [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=478&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last week WSO2 celebrated 5 years in all grandeur befitting the success it achieved so far.<br />
When I joined WSO2, 5 years ago it composed of a bunch of young extremely talented people guided by Dr. Sanjiva and Paul Fremantle, driven by a passion to become a global brand.<br />
The ongoing success of WSO2 could be briefed in these words. Vision, Culture and Passion.</p>
<p>Vision: Dr. Sanjiva Weeerawarana, Paul Fremantle, James Clerk and Jonathan Marsh. These people are great visionaries of the XML and Web Services technology. Without their vision, without their guidance WSO2 would not be here today.</p>
<p>Culture: WSO2 have a unique culture which is blender of open source thinking, Sri Lankan ingenuity, Freedom, sports, off-site meetings, tours. People here don&#8217;t consider work as work. it is their life. They blend work nicely with freedom, pastime, happiness.</p>
<p>Passion: It is the passion that binds the WSO2 threads together. As I understand even a genius who is non-cooperating, non-passionate, unapproachable is useless when it come to the success of a software product. WSO2 is gifted with several genius people who are quite the opposite.</p>
<p>Now WSO2 fast growing with number, quality I sincerely hope that it&#8217;s community will keep the good things that helped it so far, up to the future.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/478/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/478/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/478/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/478/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/478/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/478/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/478/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/478/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/478/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/478/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/478/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/478/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/478/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/478/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=478&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2010/09/19/we-are-5/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>vimperator</title>
		<link>http://damithakumarage.wordpress.com/2010/07/19/vimperator/</link>
		<comments>http://damithakumarage.wordpress.com/2010/07/19/vimperator/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 08:50:26 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[vim]]></category>
		<category><![CDATA[vimperator]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=474</guid>
		<description><![CDATA[I have been using firefox in vimperator mode for some time. It is an extremely fun way to browse the web for an vi addict. Once a vi user, get addict to it I&#8217;m sure he will never go back to usual firefox mode using mouse. I can navigate pages and links, add and search [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=474&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have been using firefox in vimperator mode for some time. It is an extremely fun way to browse the web for an vi addict.<br />
Once a vi user, get addict to it I&#8217;m sure he will never go back to usual firefox mode using mouse.<br />
I can navigate pages and links, add and search bookmarks and  more importanty search the vi way, so much easily without moving my hands off the keyboard.</p>
<p>Of course good old Lynx is still usable in these modern days of the web. It is immensely valuble on certain low bandwidth environments.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/474/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/474/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/474/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/474/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/474/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/474/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/474/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/474/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/474/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/474/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/474/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/474/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/474/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/474/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=474&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2010/07/19/vimperator/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>WSO2 Web Services Framework for PHP v2.1.0 Released</title>
		<link>http://damithakumarage.wordpress.com/2010/07/09/wso2-web-services-framework-for-php-v2-1-0-released/</link>
		<comments>http://damithakumarage.wordpress.com/2010/07/09/wso2-web-services-framework-for-php-v2-1-0-released/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 04:58:46 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=473</guid>
		<description><![CDATA[WSO2 Web Services Framework for PHP v2.1.0 Released ===================================================== We are pleased to announce the release of WSO2 WSF/PHP 2.1.0 WSO2 Web Services Framework for PHP (WSO2 WSF/PHP), is an open source, enterprise grade, PHP extension for providing and consuming Web Services in PHP. WSO2 WSF/PHP is a complete solution for building and deploying Web [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=473&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div>WSO2 Web Services Framework for PHP v2.1.0 Released</div>
<div>=====================================================</div>
<div>We are pleased to announce the release of WSO2 WSF/PHP 2.1.0</div>
<div>WSO2 Web Services Framework for PHP (WSO2 WSF/PHP), is an open source,</div>
<div>enterprise grade, PHP extension for providing and consuming Web Services in PHP.</div>
<div>WSO2 WSF/PHP is a complete solution for building and deploying Web services  and is</div>
<div>the only PHP extension with the widest range of WS-* specification implementations.</div>
<div>It&#8217;s Key features include, secure services and clients with WS-Security support,</div>
<div>binary attachments with MTOM, automatic WSDL generation (code first model),</div>
<div>WSDL mode for both services and clients (contract first model)</div>
<div>and interoperability with .NET and J2EE.</div>
<div>You can download the release from:</div>
<div><a href="http://wso2.org/downloads/wsf/php">http://wso2.org/downloads/wsf/php</a></div>
<div>Project home page:</div>
<div><a href="http://wso2.org/projects/wsf/php">http://wso2.org/projects/wsf/php</a></div>
<div>&#8212;&#8212;&#8212;&#8212;</div>
<div>Key Features</div>
<div>============</div>
<div>1. Client API to consume Web services</div>
<div>* WSMessage class to handle message level options</div>
<div>* WSClient class with both one way and two way service invocation support</div>
<div>* Option of using functions in place of object oriented API with ws_request</div>
<div>2. Service API to provide Web services</div>
<div>* WSMessage class to handle message level options</div>
<div>* WSService class with support for both one way and two way operations</div>
<div>* Option of using functions in place of object oriented API with ws_reply</div>
<div>3. Attachments with MTOM</div>
<div>* Binary optimized</div>
<div>* Non-optimized (Base64 binary)</div>
<div>4. WS-Addressing</div>
<div>* Version 1.0</div>
<div>* Submission</div>
<div>5. WS-Security</div>
<div>* UsernameToken and Timestamp</div>
<div>* Encryption</div>
<div>* Signing</div>
<div>* WS-SecurityPolicy based configuration</div>
<div>* WS-Secure Conversation</div>
<div>6. WSDL Generation for Server Side</div>
<div>* WSDL generation based on annotations and function signatures, and</div>
<div>serving on ?wsdl or ?wsdl2 requests</div>
<div>7. WSDL mode support for both client and server side</div>
<div>* Write services and client based on a given WSDL</div>
<div>* WS-Addressing and WS-SecurityPolicy is supported in WSDL mode</div>
<div>* MTOM is now supported with WSDL mode</div>
<div>8. REST Support</div>
<div>* Expose a single service script both as SOAP and REST service</div>
<div>9. Provide easy to use classes for common services</div>
<div>* Consume some well known services such as Yahoo search and Flickr</div>
<div>and Amazon services using predefined classes</div>
<div>10. wsdl2php.php script. This script can generate PHP classes for services</div>
<div>and clients for a given WSDL to be used with WSDL Mode .</div>
<div>11. Data Services API</div>
<div>PHP Data Services API that enables exposing database queries as web services.</div>
<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</div>
<div>Major Changes Since Last Release</div>
<div>================================</div>
<div>* Many issues were fixed since last release.</div>
<div>* API Improvements for WS-Addressing, WS-Security.</div>
<div>* Compatibility changes for PHP 5.3.</div>
<div>* Enabled built-in guththila xml parser.</div>
<div>* Preformance enhancements.</div>
<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</div>
<div>Reporting Problems</div>
<div>===================</div>
<div>Issues can be reported using the public JIRA available at:</div>
<div><a href="https://wso2.org/jira/browse/WSFPHP">https://wso2.org/jira/browse/WSFPHP</a></div>
<div>&#8212;&#8212;&#8212;&#8212;</div>
<div>Contact Us</div>
<div>============</div>
<div>&#8212;&#8212;&#8212;&#8212;-</div>
<div>Mailing lists</div>
<div>============</div>
<div>Please subscribe to our user or developer mailing lists. For details on how</div>
<div>to subscribe please visit: <a href="http://wso2.org/mail#wsfphp">http://wso2.org/mail#wsfphp</a></div>
<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</div>
<div>Discussion Forums</div>
<div>==================</div>
<div>Questions could be raised using the WSF/PHP forum.</div>
<div><a href="http://wso2.org/forum/188">http://wso2.org/forum/188</a></div>
<div>Training</div>
<div>========</div>
<div>WSO2 Inc. offers a variety of professional Training Programs which includes training on WSF/PHP.</div>
<div>For additional support information please refer to <a href="http://wso2.org/training">http://wso2.org/training</a></div>
<div>Support</div>
<div>========</div>
<div>WSO2 Inc. offers a variety of development and production support programs, ranging from Web-based support</div>
<div>up through normal business hours, to premium 24&#215;7 phone support. For additional support information</div>
<div>please refer to <a href="http://wso2.com/support/">http://wso2.com/support/</a></div>
<div>We welcome your early feedback on this implementation.</div>
<div>Thank you for your interest in WSO2 WSF/PHP.</div>
<div>&#8211; WSO2 WSF/PHP Team &#8211;</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/473/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=473&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2010/07/09/wso2-web-services-framework-for-php-v2-1-0-released/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>A book of five rings</title>
		<link>http://damithakumarage.wordpress.com/2010/06/27/a-book-of-five-rings/</link>
		<comments>http://damithakumarage.wordpress.com/2010/06/27/a-book-of-five-rings/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 11:10:22 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=461</guid>
		<description><![CDATA[These days I am reading two different translations of the same book &#8220;Go Rin No Sho&#8221; a book originally written by famous Japanese warrier Miyamoto Mushashi(1584-1646).  Why two translations of the same book and why I read both?. To understand let&#8217;s go into some detail. Miyamoto Mushashi lived in a time where Feudal Japan is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=461&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>These days I am reading two different translations of the same book &#8220;<a href="http://samuraiconsulting.ca/5rings/">Go Rin No Sho</a>&#8221; a book originally written by famous Japanese warrier Miyamoto Mushashi(1584-1646).  Why two translations of the same book and why I read both?. To understand let&#8217;s go into some detail.</p>
<p>Miyamoto Mushashi lived in a time where Feudal Japan is ruled by various warrier clans. He was a wondering Samurai (Ronin) who travelled alone honing his sword skills. He faced many duals with famous Samurai many of which were between life and death.</p>
<p>He survived all the duals  he fought and later his life he lived an ascetic life and just few months before his death wrote &#8220;A book of five rings&#8221;. This book was about strategy. The strategies he learned from his life and death duals and his life long learning. Those days his followers used these strategies in real war. As time passed when business became the war between people, companies and nations, some started to use those strategies in business.<br />
<a href="http://www.amazon.com/Book-Five-Rings-Classic-Strategy/dp/0517415283">The translation by Victor Harris</a> try to interpret the original content intended by Mushashi. <a href="http://www.amazon.com/Book-Five-Rings-Miyamoto-Musashi/dp/1590302486">The translation by Thomas Cleary</a> try to interpret the ideas targeting the business world.</p>
<p>The idea is that wherever strategy is involved these ancient techniques still give insight into winning. Present WBA heavyweight boxing champion David Haye said that his camp trained according to <a href="http://www.amazon.com/Art-War-Sun-Tzu/dp/0385292163">Art of War by Sun Tzu,</a> another ancient strategy book famous among todays strategists. His opponent was seemingly ahead of every aspect but to astonishment of many(including me), he won the fight.</p>
<p>It is said that Australian cricket team and Philiphines Manny Pacquiao(currently WBO welter weight champ) and many other sport teams also use Art of War.<br />
Some of the well know general guide lines of Mushashi are as follows</p>
<table border="0" cellpadding="3" width="100%">
<tbody>
<tr>
<td>1. Do not think dishonestly.</td>
</tr>
<tr>
<td>2. The Way is in training.</td>
</tr>
<tr>
<td>3. Become acquainted with every art.</td>
</tr>
<tr>
<td>4. Know the Ways of all professions</td>
</tr>
<tr>
<td>5. Distinguish between gain and loss in worldly matters.</td>
</tr>
<tr>
<td>6. Develop an intuitive judgement and understanding for everything.</td>
</tr>
<tr>
<td>7. Perceive those things which cannot be seen.</td>
</tr>
<tr>
<td>8. Pay attention even to trifles.</td>
</tr>
<tr>
<td>9. Do nothing which is of no use.</td>
</tr>
</tbody>
</table>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/461/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=461&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2010/06/27/a-book-of-five-rings/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>Consuming secured WSO2 ESB proxy service from command line</title>
		<link>http://damithakumarage.wordpress.com/2010/06/20/consuming-secured-wso2-esb-proxy-service-from-command-line/</link>
		<comments>http://damithakumarage.wordpress.com/2010/06/20/consuming-secured-wso2-esb-proxy-service-from-command-line/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 13:36:27 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Axis2/C]]></category>
		<category><![CDATA[WSO2]]></category>
		<category><![CDATA[WSO2 ESB]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=446</guid>
		<description><![CDATA[I have a proxy service deployed in my esb server. This service will verify the signature of the incoming messages and decrypt them before sending it to the target service. I send the messges to ESB using WSO2 wsclient which is bundled with WSO2 WSF/C. To sign the messages I use Alice&#8217;s private key. To [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=446&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have a proxy service deployed in my esb server. This service will verify the signature of the incoming messages and decrypt them before sending it to the target service. I send the messges to ESB using WSO2 wsclient which is bundled with WSO2 WSF/C. To sign the messages I use Alice&#8217;s private key. To encrypt the messages I use the public key received from ESB ( You can find Alice&#8217;s samples keys bundled with WSF/C samples. More on ESB keys during this article).</p>
<p>To deploy that service I followed the following procedure. I first created a simple pass through service using the Add/Proxy Service menu. I gave the target server as my WSAS instance running on a separate server. After that I selected the created proxy service and added security using the Sign and Encrypt option. I also gave the private and trusted key store as wso2carbon.jks. I also added Alice&#8217;s public key to the wso2carbon.jks key store using WSO2 ESB admin console facilities.</p>
<p>Now my services are ready, I wanted to use WSO2 wsclient (A command line web services client tool) to access the service through ESB. To learn more about how to use wsclient and how to secure your messages using it please refer to [1] and [2]. To encrypt and sign messages wsclient use server certificate in PEM format. We give the server certificate using &#8211;recipient-certificate option.  Usually I use my wsclient command line tool to access web services deployed in Apache2 server. So I knew how to generate my server certificates in PEM format from  PKCS key stores. But did not know how to generate PEM certificates from JKS key stores. Howerver I could not find a direct way to do this. Following is how I did this using java keytool and openssh x509 commands.</p>
<p><strong><em>keytool -export -file wso2carbon.cer -keystore /wso2carbon.jks -alias wso2carbon</em></strong></p>
<p>In this step we create a wso2carbon.cer file using wso2carbon.jks server keystore. Here you will be asked the password for the keystore entry alias.</p>
<p>After that I executed the following command to create the recipient certificate in PEM format.</p>
<p><strong><em>openssl x509 -out wso2carbon.pem -outform pem -in wso2carbon.cer -inform der</em></strong></p>
<p>Now I could use the created pem certificate to execute the following command to access the service</p>
<p><strong><em>./wsclient &#8211;log-level error &#8211;no-wsa &#8211;soap &#8211;no-mtom &#8211;sign-body &#8211;key /alice_key.pem &#8211;certificate /alice_cert.cert &#8211;recipient-certificate /wso2carbon.pem &#8211;encrypt-payload &#8211;policy-file ./policy.xml  http://localhost:8280/services/SignEncProxy &lt; ./data/POService.xml</em></strong></p>
<p>&nbsp;</p>
<p>[1] http://damithakumarage.wordpress.com/2008/10/04/access-secure-enabled-web-services-from-command-line/</p>
<p>[2] http://damithakumarage.wordpress.com/2010/05/25/using-wso2-wsclient-generate-your-custom-soap-messages-for-you/</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/446/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=446&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2010/06/20/consuming-secured-wso2-esb-proxy-service-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>Samurai Warriors</title>
		<link>http://damithakumarage.wordpress.com/2010/06/18/samurai-warriors/</link>
		<comments>http://damithakumarage.wordpress.com/2010/06/18/samurai-warriors/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 04:47:29 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=357</guid>
		<description><![CDATA[Samurai warriors are famous for their dedication to the master. They are trained to do or die for the master&#8217;s cause. They preferred self sacrificing through the traditional suicide method called &#8216;Hara Kiri&#8217; rather than betraying his master. There are so many tales of Samurai bravery and honesty. Some say that Japanese army inherited this [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=357&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Samurai  warriors are famous for their dedication to the master. They are trained to do or die for the master&#8217;s cause. They preferred self sacrificing through the traditional suicide method called &#8216;Hara Kiri&#8217; rather than betraying his master. There are so many tales of Samurai bravery and honesty.</p>
<p>Some say that Japanese army inherited this mindset of Samurai. Even when Japanese army is defeated during WW2 they still refused to surrender. Army generals preferred dying in the battle rather than surrender. There were so many Hara-kiri&#8217;s in Japanese military hierarchy during the last phase of the war.</p>
<p>Some say still Japanese people carry this Samurai mentality in there genes. Once I happen to work with some Japanese co-workers for some time. From my experience with them, I believe that they are inherited this mindset still but in a different form. Now their Feudal master is replaced by the company they work for. The war is replaced with business. In business they play a do or die attitude. They consider their company&#8217;s or country&#8217;s failure, as their own failure. Japanese economy is their own personal problem. They consider leaving one&#8217;s company is kind of betrayal. It is kind of black mark in their carrier if they happen to leave the company.</p>
<p>Perhaps this mindset is partly the main force behind Japans Economic success during late 20&#8242;th century.<br />
My personal belief is that nations that did not surrender to a super power during past centuries are proud about the fact. Some people say it is a waste, that in some contries they still maintain the feudal monarchies, at least symbolically. But I think that symbolises those nation&#8217;s pride. That pride is in their genes. That help them to rise as a nation.</p>
<p>Sri Lanka had completely surrendered to Britain after their long standing struggle for survival. They lost their Monarchy completely.I think that completely affected the minds of native people.</p>
<p>I think Sri Lankan people (and in that respect Asians) are not political beings. They completely rely on the King to rule the country. King is trained from childhood for that purpose. History says that most of the Kings executed that responsibility to the word. People had pride in their country and in their King. So when they lost their King and their Sovereignty, it was a great mental blow from which they still could not survive as a nation.</p>
<p>Every native became desperate. &#8220;Ko apata Rajek?&#8221;(Where is a king for us now?&#8221;). That question plagued the mind of the native.</p>
<p>I believe after two centuries they still carry that question in the back of their mind. I am not concerned whether this is right or wrong, but as a fact people still want the king to do the ruling and leave them in their own peaceful living.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/357/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=357&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2010/06/18/samurai-warriors/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>Generating, Implementing, Building and Deploying my WSO2 WSAS service</title>
		<link>http://damithakumarage.wordpress.com/2010/06/07/generating-implementing-building-and-deploying-my-wsas-service/</link>
		<comments>http://damithakumarage.wordpress.com/2010/06/07/generating-implementing-building-and-deploying-my-wsas-service/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 09:29:37 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[WSO2]]></category>
		<category><![CDATA[WSO2 WSAS]]></category>
		<category><![CDATA[Axis2 Service]]></category>
		<category><![CDATA[Generate web services code]]></category>
		<category><![CDATA[Write web services]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=355</guid>
		<description><![CDATA[There are many ways you can write a web service and deploy it in WSO2 WSAS application server environment. I already to explained how to deploy your POJO service in Eclipse platform. Here I&#8217;ll explain in detail the top down approach(Contract first) using WSAS admin console. I don&#8217;t use Eclipse platform here. An WSO2 Oxygentank [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=355&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There are many ways you can write a web service and deploy it in WSO2 WSAS application server environment. I already to explained how to deploy your POJO service in Eclipse platform.<br />
Here I&#8217;ll explain in detail the top down approach(Contract first) using WSAS admin console. I don&#8217;t use Eclipse platform here. An WSO2 Oxygentank article, &#8220;<a href="http://wso2.org/library/1986">Deploying Web Services using Apache Axis2 Eclipse Plugins</a>&#8221; explain using Eclipse plugins for deploying your web services using contract first approach.</p>
<p>I started code generating for <a href="http://damithakumarage.files.wordpress.com/2010/06/powsdl.pdf">POWSDL</a></p>
<p>I used the WSO2 WSAS admin UI to generate my service code. Select the WSDL2Java tool under tools menu.  In the -uri option select the wsdl from your filesystem and upload it. I selected the options -ss, -sd and -u.  When you click generate it will generate the code and download it to your local file system as a zip file.</p>
<p>I unzipped this file and add my server code at src/org/wso2/carbon/core/services/po/POServiceSkeleton.java as</p>
<p><em><span style="color:#3366ff;">public org.wso2.carbon.core.services.po.BuyStocks buyStocks<br />
(org.wso2.carbon.core.services.po.BuyStocks buyStocks)<br />
{<br />
return buyStocks;<br />
}</span></em></p>
<p>Note that at the root of the unzipped folder there is a pom.xml file. So you execute <em>mvn</em> to build your source. If you have a maven repository already with required jars it is advised to use <em>mvn</em> with <em>-o</em> option so that maven will not download already existing jars in your repository.</p>
<p>When the build is completed you will have <em>target/build/lib/POService.aar</em> ready to be deployed in WSO2 WSAS.</p>
<p>I then uploaded this in to WSAS as an Axis2 service. To do that in WSAS admin UI under services menu select add Axis2 Service sub menu. Then just browse to your aar file and click upload. Your POService will be listed in the services list.</p>
<p><span id="more-355"></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/355/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=355&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2010/06/07/generating-implementing-building-and-deploying-my-wsas-service/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>Using WSO2 wsclient to generate your custom soap messages</title>
		<link>http://damithakumarage.wordpress.com/2010/05/25/using-wso2-wsclient-generate-your-custom-soap-messages-for-you/</link>
		<comments>http://damithakumarage.wordpress.com/2010/05/25/using-wso2-wsclient-generate-your-custom-soap-messages-for-you/#comments</comments>
		<pubDate>Tue, 25 May 2010 18:17:28 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Axis2/C]]></category>
		<category><![CDATA[httperf]]></category>
		<category><![CDATA[performance testing]]></category>
		<category><![CDATA[ws security]]></category>
		<category><![CDATA[wsclient]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=321</guid>
		<description><![CDATA[WSO2 wsclient can consume web services from your platforms command line shell. I have already introduced it in my previous entry titled Access security enabled web services from command line and in an article titled Calling web services from the shell Today I discuss about generating your custom soap messages using wsclient. You may need [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=321&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em><strong><a href="http://wso2.org/project/wsf/c/1.2.0/docs/index.html">WSO2 wsclient</a></strong></em> can consume web services from your platforms command line shell. I have already introduced it in my previous entry titled <em><strong><a href="http://damithakumarage.wordpress.com/2008/10/04/access-secure-enabled-web-services-from-command-line/">Access security enabled web services from command line</a></strong></em> and in an article titled <em><strong><a href="http://wso2.org/library/3362">Calling web services from the shell</a></strong></em></p>
<p>Today I discuss about generating your custom soap messages using wsclient. You may need pre-built custom soap messages for various purposes. For example your performance test tool may need pre-built soap messages in order to generate load for the target server, or you may need to customize each of your message sent to the target server and observe how server react.</p>
<p>Here is a sample usage of wsclient to send a message to target server at http://localhost:8280/services/EchoProxy</p>
<p><em><strong>./wsclient &#8211;action echo &#8211;log-level debug &#8211;soap &#8211;no-mtom http://localhost:8280/services/EchoProxy &lt; ./data/msg.xml</strong></em></p>
<p>So your input file msg.xml contain</p>
<p>&lt;m:buyStocks xmlns:m=&#8221;http://services.samples/xsd&#8221;&gt;<br />
&lt;m:order&gt;<br />
&lt;m:symbol&gt;IBM&lt;/m:symbol&gt;<br />
&lt;m:buyerID&gt;asankha&lt;/m:buyerID&gt;<br />
&lt;m:price&gt;140.34&lt;/m:price&gt;<br />
&lt;m:volume&gt;200000&lt;/m:volume&gt;<br />
&lt;/m:order&gt;<br />
&lt;m:order&gt;<br />
&lt;m:symbol&gt;MSFT&lt;/m:symbol&gt;<br />
&lt;m:buyerID&gt;ruwan&lt;/m:buyerID&gt;<br />
&lt;m:price&gt;23.56&lt;/m:price&gt;<br />
&lt;m:volume&gt;803000&lt;/m:volume&gt;<br />
&lt;/m:order&gt;<br />
&lt;m:order&gt;<br />
&lt;m:symbol&gt;SUN&lt;/m:symbol&gt;<br />
&lt;m:buyerID&gt;indika&lt;/m:buyerID&gt;<br />
&lt;m:price&gt;14.56&lt;/m:price&gt;<br />
&lt;m:volume&gt;500000000&lt;/m:volume&gt;<br />
&lt;/m:order&gt;<br />
&lt;/m:buyStocks&gt;</p>
<p>Now we want instead of sending that message to the server, dump it to a file.</p>
<p><em><strong>./wsclient &#8211;action echo &#8211;log-level debug &#8211;soap &#8211;no-mtom &#8211;soap-dump http://localhost:8281/services/EchoProxy &lt; ./data/msg.xml &gt; output.xml</strong></em></p>
<p>The trick is <em><strong>&#8211;soap-dump</strong></em> option passed to the wsclient.</p>
<p>Here is the message dumped into a file by the wsclient</p>
<p>&lt;soapenv:Envelope xmlns:soapenv=&#8221;http://www.w3.org/2003/05/soap-envelope&#8221;&gt;<br />
&lt;soapenv:Header xmlns:wsa=&#8221;http://www.w3.org/2005/08/addressing&#8221;&gt;<br />
&lt;wsa:To&gt;http://localhost:8281/services/EchoProxy&lt;/wsa:To&gt;<br />
&lt;wsa:Action&gt;echo&lt;/wsa:Action&gt;<br />
&lt;wsa:MessageID&gt;urn:uuid:da14cd20-6820-1df1-2c4f-000000000000&lt;/wsa:MessageID&gt;<br />
&lt;/soapenv:Header&gt;<br />
&lt;soapenv:Body&gt;<br />
&lt;m:buyStocks xmlns:m=&#8221;http://services.samples/xsd&#8221;&gt;<br />
&lt;m:order&gt;<br />
&lt;m:symbol&gt;IBM&lt;/m:symbol&gt;<br />
&lt;m:buyerID&gt;asankha&lt;/m:buyerID&gt;<br />
&lt;m:price&gt;140.34&lt;/m:price&gt;<br />
&lt;m:volume&gt;200000&lt;/m:volume&gt;<br />
&lt;/m:order&gt;<br />
&lt;m:order&gt;<br />
&lt;m:symbol&gt;MSFT&lt;/m:symbol&gt;<br />
&lt;m:buyerID&gt;ruwan&lt;/m:buyerID&gt;<br />
&lt;m:price&gt;23.56&lt;/m:price&gt;<br />
&lt;m:volume&gt;803000&lt;/m:volume&gt;<br />
&lt;/m:order&gt;<br />
&lt;m:order&gt;<br />
&lt;m:symbol&gt;SUN&lt;/m:symbol&gt;<br />
&lt;m:buyerID&gt;indika&lt;/m:buyerID&gt;<br />
&lt;m:price&gt;14.56&lt;/m:price&gt;<br />
&lt;m:volume&gt;500000000&lt;/m:volume&gt;<br />
&lt;/m:order&gt;<br />
&lt;/m:buyStocks&gt;<br />
&lt;/soapenv:Body&gt;<br />
&lt;/soapenv:Envelope&gt;<br />
<code><br />
</code></p>
<p>You may argue that you can hand write these messages without going into hassle of downloading and using wsclient to do the task. But the real important usage comes when your target server expect ws secured soap messages. How do you encrypt and/or sign your messages?. wsclient come into rescue.<br />
Say you need to encrypt and sign your message. Here is how you do it in wsclient.</p>
<p><em><strong>./wsclient &#8211;log-level error &#8211;no-wsa &#8211;soap &#8211;no-mtom &#8211;sign-body &#8211;key $WSFC_HOME/samples/src/rampartc/data/keys/ahome/alice_key.pem &#8211;certificate $WSFC_HOME/samples/src/rampartc/data/keys/ahome/alice_cert.cert &#8211;recipient-certificate /home/damitha/projects/perftest-framework/wsclient/wso2carbon.pem &#8211;encrypt-payload &#8211;policy-file ./policy.xml &#8211;soap-dump http://localhost:8280/services/EchoProxy &lt; ./data/message1k.xml &gt; output.xml</strong></em></p>
<p>I can take you one step further by showing how this could be useful when using <a href="http://damithakumarage.wordpress.com/2009/03/15/benchmark-testing-with-httperf/">httperf</a>,  a populer opensource performance testing tool.</p>
<p>Say you need to load your server with signed and encryped timestamped messages with a nonce. Each of your messages should be different. That means your input file to httperf should not contain the same message.</p>
<p>My trick is to generate an input file with as much as different messages by using the following script, which uses wsclient</p>
<p><code>echo -n "/services/SignEncProxy method=POST contents=\"" &gt; inputfile<br />
./wsclient --log-level error --no-wsa --soap --no-mtom --sign-body --key $WSFC_HOME/samples/src/rampartc/data/keys/ahome/alice_key.pem --certificate $WSFC_HOME/samples/src/rampartc/data/keys/ahome/alice_cert.cert --recipient-certificate /home/damitha/projects/perftest-framework/wsclient/wso2carbon.pem --encrypt-payload --policy-file ./policy.xml --soap-dump http://localhost:8280/services/EchoProxy &lt; ./data/message1k.xml &gt; inputfile_temp<br />
perl -e 'while (&lt;&gt;) { if (! /\|$/ ) { chomp; } print ;}' inputfile_temp &gt;&gt; inputfile</p>
<p>echo -n "\"" &gt;&gt; inputfile<br />
echo "" &gt;&gt; inputfile<br />
echo "" &gt;&gt; inputfile</p>
<p>for i in {1..10}<br />
do<br />
echo -n "/services/SignEncProxy method=POST contents=\"" &gt;&gt; inputfile<br />
./wsclient --log-level error --no-wsa --soap --no-mtom --sign-body --key $WSFC_HOME/samples/src/rampartc/data/keys/ahome/alice_key.pem --certificate $WSFC_HOME/samples/src/rampartc/data/keys/ahome/alice_cert.cert --recipient-certificate /home/damitha/projects/perftest-framework/wsclient/wso2carbon.pem --encrypt-payload --policy-file ./policy.xml --soap-dump http://localhost:8280/services/EchoProxy &lt; ./data/message1k.xml &gt; inputfile_temp<br />
perl -e 'while (&lt;&gt;) { if (! /\|$/ ) { chomp; } print ;}' inputfile_temp &gt;&gt; inputfile</p>
<p>echo -n "\"" &gt;&gt; inputfile<br />
echo "" &gt;&gt; inputfile<br />
echo "" &gt;&gt; inputfile</p>
<p>done<br />
sed s/'"'/'\\\"'/g &lt; inputfile &gt; x<br />
sed s/'Envelope&gt;\\"'/'Envelope\&gt;"'/g &lt; x &gt; y<br />
sed s/'contents=\\"'/'contents="'/g &lt; y &gt; z<br />
cat z &gt; inputfile</p>
<p>rm x y z inputfile_temp</code></p>
<p>Above script would generate an httperf input file for http post with 11 different soap messages.<br />
In the above example codes and scripts make sure that you replace paths with your own environment.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/321/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=321&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2010/05/25/using-wso2-wsclient-generate-your-custom-soap-messages-for-you/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>Deploying my Axis2 service in WSO2 WSAS using Eclipse platform.</title>
		<link>http://damithakumarage.wordpress.com/2010/05/23/deploying-my-axis2-service-in-wso2-wsas-using-eclipse-platform/</link>
		<comments>http://damithakumarage.wordpress.com/2010/05/23/deploying-my-axis2-service-in-wso2-wsas-using-eclipse-platform/#comments</comments>
		<pubDate>Sun, 23 May 2010 19:12:15 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[WSO2]]></category>
		<category><![CDATA[WSO2 WSAS]]></category>
		<category><![CDATA[Axis2]]></category>
		<category><![CDATA[Carbon]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[WSAS]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=315</guid>
		<description><![CDATA[I wanted to try create a web service using my POJO style bean without going too much detail into Axis2. I found this useful tutorial by Saminda. However although it was too easy to get a Axis2 service deployed into WSO2 WSAS server, I had to struggle a bit in Ubuntu Karmic platform. Following I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=315&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I wanted to try create a web service using my POJO style bean without going too much detail into Axis2. I found <a href="http://wso2.org/library/tutorials/create-axis2-web-service-in-3-steps-using-eclipse">this useful tutorial</a> by Saminda.<br />
However although it was too easy to get a Axis2 service deployed into WSO2 WSAS server, I had to struggle a bit in  Ubuntu Karmic platform. Following I explain what happened there.</p>
<p>In the tutorial it does not mention that we need Eclipse IDE for EE developers. Either you need to use this or upgrade your Eclipse IDE for Java developers for EE. First I downloaded the EE version and tried it. However in my machine it had some stability issues with Eclipse and it crashed serveral times. So I installed Eclipse Java developer version. Note that I had to install all JST related plugins in addition to EE plugin for Eclipse in order to get this work.</p>
<p>Once I had my Eclipse ready for J2EE the rest of the tutorial went smoothly and in less than one minite I could deploy my service in WSO2 WSAS and try it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/315/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=315&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2010/05/23/deploying-my-axis2-service-in-wso2-wsas-using-eclipse-platform/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>Opensource software for Mathematics</title>
		<link>http://damithakumarage.wordpress.com/2010/02/06/opensource-software-for-mathematics/</link>
		<comments>http://damithakumarage.wordpress.com/2010/02/06/opensource-software-for-mathematics/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 15:56:18 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Software that impressed me]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/2010/02/06/opensource-software-for-mathematics/</guid>
		<description><![CDATA[It is a long time I&#8217;m back into Mathematics. Time has changed a lot. There are abundance of resources available for students of Mathematics out there in Internet which is almost unthinkable before a decade. Life is so easy. No need to run for the Library just to get familier with that Definition or Theorem. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=311&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It is a long time I&#8217;m back into Mathematics. Time has changed a lot. There are abundance of resources available for students of Mathematics out there in Internet which is almost unthinkable before a decade. Life is so easy. No need to run for the Library just to get familier with that Definition or Theorem.<br />
I remember loading dozens of diskettes just to run Mathematica or Maple and with absolutely no resources to know how to get that thing or this thing done.<br />
I&#8217;m greatly indebted to open source comunity to see a vast amount of software and learning resources available today just in a click away.<br />
Following are some software I found very useful and at the same time seems very advanced. I&#8217;m yet to explore them more but the first impression dive me into writing this.</p>
<p>R &#8211; A statistical package that helps you do all that satistics computing and graphics. apt-get install r-base would do all the installing. It is said that this can do anything provided by it&#8217;s commercial counterpart S-Plus.</p>
<p>maxima &#8211; A CAS(Computer Algebra System) tool which has great support for numerical and symbolic representations. It has several GUI frontend tools like wxmaxima and mascyma. apt-get install maxima will do all the installation. The closest proprietary counterpart is Maple.</p>
<p>scilab &#8211; This is also a great numerical tool for doing any complex computation. The closest proprietary software is Matlab.</p>
<p>There are so many more great tools like Octave, Euler, Sage, Freemat etc etc.<br />
I particularly found that GNU Octave scripts are compatible with Matlab for most of my purposes. Where it is not compatible I could find workarounds pointed by other users.  </p>
<p>I also came across a great OpenOffice spreadsheet macro plugin called OOStat which is a very useful basic statistical package.<br />
More on these tools as I experiment with these</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/311/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=311&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2010/02/06/opensource-software-for-mathematics/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>Securing Axis2/C Web Services with SSL</title>
		<link>http://damithakumarage.wordpress.com/2009/11/15/securing-axis2c-web-services-with-ssl/</link>
		<comments>http://damithakumarage.wordpress.com/2009/11/15/securing-axis2c-web-services-with-ssl/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 17:51:32 +0000</pubDate>
		<dc:creator>damitha23</dc:creator>
				<category><![CDATA[Axis2/C]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=295</guid>
		<description><![CDATA[Axis2/C has strong support for message level web services security. It also provides wire level protection between web services and its clients. In this guide I do not detail basics of Axis2/C web services. You can refer for them else where. WSO2 Oxygen Tank is a good place for you to refer. Here are the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=295&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Axis2/C has strong support for message level web services security. It also provides wire level protection between web services and its clients. In this guide I do not detail basics of Axis2/C web services. You can refer for them else where. <a href="http://wso2.org">WSO2 Oxygen Tank</a> is a good place for you to refer. Here are the steps.</p>
<p>1. Make sure your Apache2 web server is installed with <strong>mod_ssl</strong> module support.</p>
<p>2. Configure and install Axis2/C with ssl support</p>
<p>3. Configure your Apache2 server with ssl support</p>
<p>4. Configure your clients to access secured web service.</p>
<p>Following are the steps in detail</p>
<p>1. Install Apache2 with ssl support:</p>
<p>Make sure that your Apache2 server is installed with mod_ssl support. Here is how to check your installed modules.</p>
<p>httpd -l</p>
<p>If your Apache2 server does not already have mod_ssl  module support you may need to configure it again and install.</p>
<p>Here is an example configuration.</p>
<p><code>%./configure --prefix=/usr/local/apache2  <strong>--enable-ssl</strong> --enable-setenvif  --enable-mods-shared="mod_log_config mod_status mod-mime mod-dir"</code></p>
<p>2. Configure and install Axis2/C with SSL support:</p>
<p>First you need to install openssl dev package. In Ubuntu and Dabian related distros you can install it by</p>
<p><code>%sudo apt-get install libssl-dev</code></p>
<p><code>%sh configure --prefix=${AXIS2C_HOME} --enable-openssl=yes --with-apache2=/usr/local/apache2/include<code> </code></code></p>
<p><code>%make<br />
%make install</code><br />
3. Configure Apache2 server for ssl support:<br />
You need to create certificates for your server. Here I just show you the command how<br />
to create a self signed certificate for testing purposes. A detailed explanation on<br />
creating your certificates with certificate authorities please refer to</p>
<p><em>http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#selfcert</em></p>
<p><code><strong>%openssl req -new -x509 -nodes -out server.crt -keyout server.key</strong></code></p>
<p>In httpd.conf Add the virtual host entry for https server as following<br />
Note that you need to replace &#8216;localhost&#8217; with your running server name<br />
and replace the paths with the paths to above generated key/certificates.</p>
<p><em>&lt;VirtualHost localhost:443&gt;<br />
 DocumentRoot &#8220;/usr/local/apache2/htdocs&#8221;<br />
 SSLEngine on<br />
 SSLCertificateFile /usr/local/apache2/damitha-cert/server.crt<br />
 SSLCertificateKeyFile /usr/local/apache2/damitha-cert/server.key<br />
 &lt;/VirtualHost&gt;</em><br />
<em><br />
</em>You can test your ssl enabled server with the following command<br />
<code>%openssl s_client -connect localhost:443</code><br />
<em><br />
</em>4. Configure your Axis2/C client to support ssl</p>
<p>Create the client certificates to access your secured web service as following</p>
<p><code>%echo |\<br />
 openssl s_client -connect localhost:443 2&gt;&amp;1 |\<br />
 sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' &gt; client_cert.pem</code></p>
<p>Remember to replace the &#8216;localhost&#8217; in the above command with your secured<br />
server url</p>
<p>Now to send ssl secured messages using your Axis2/C client uncomment the<br />
following https related entries in axis2.xml</p>
<p><em>&lt;transportReceiver name=&#8221;https&#8221;&gt;<br />
 &lt;parameter name=&#8221;port&#8221; locked=&#8221;false&#8221;&gt;6060&lt;/parameter&gt;<br />
 &lt;parameter name=&#8221;exposeHeaders&#8221; locked=&#8221;true&#8221;&gt;false&lt;/parameter&gt;<br />
&lt;/transportReceiver&gt;</em></p>
<p><em>&lt;transportSender name=&#8221;https&#8221;&gt;<br />
 &lt;parameter name=&#8221;PROTOCOL&#8221; locked=&#8221;false&#8221;&gt;HTTP/1.1&lt;/parameter&gt;<br />
&lt;/transportSender&gt;</em></pre>
<p><em><code>&lt;parameter name="SERVER_CERT"&gt;/path/to/ca/certificate&lt;/parameter&gt;</code></em><br />
Remember to replace the server certicate path with the path to the client certificate created above.<br />
Now you are good to go with your secured Axis2/C web services.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/damithakumarage.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/damithakumarage.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/damithakumarage.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/damithakumarage.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/damithakumarage.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/damithakumarage.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/damithakumarage.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/damithakumarage.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/damithakumarage.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/damithakumarage.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/damithakumarage.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/damithakumarage.wordpress.com/295/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=295&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2009/11/15/securing-axis2c-web-services-with-ssl/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>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[general]]></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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=284&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br />  <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/gofacebook/damithakumarage.wordpress.com/284/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/284/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/284/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=284&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Software that impressed me]]></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&amp;blog=1419720&amp;post=277&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br />  <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/gofacebook/damithakumarage.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=277&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></category>
		<category><![CDATA[WSO2]]></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 its [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=269&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br />  <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/gofacebook/damithakumarage.wordpress.com/269/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/269/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/269/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=269&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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>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>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[Travelling]]></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&amp;blog=1419720&amp;post=253&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br />  <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/gofacebook/damithakumarage.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=253&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Software that impressed me]]></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&amp;blog=1419720&amp;post=235&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br />  <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/gofacebook/damithakumarage.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=235&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2009/03/15/benchmark-testing-with-httperf/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>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[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&amp;blog=1419720&amp;post=217&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br />  <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/gofacebook/damithakumarage.wordpress.com/217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=217&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></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&amp;blog=1419720&amp;post=207&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br />  <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/gofacebook/damithakumarage.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=207&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2009/03/07/memory-handling-conventions-in-axis2c/feed/</wfw:commentRss>
		<slash:comments>3</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[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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=184&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br />  <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/gofacebook/damithakumarage.wordpress.com/184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=184&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Travelling]]></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&amp;blog=1419720&amp;post=160&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br />  <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/gofacebook/damithakumarage.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=160&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2009/01/07/bambarakanda-jeep-trek/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/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[WSO2]]></category>
		<category><![CDATA[WSO2 ESB]]></category>
		<category><![CDATA[WSO2 WSAS]]></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&amp;blog=1419720&amp;post=157&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br />  <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/gofacebook/damithakumarage.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=157&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=155&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br />  <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/gofacebook/damithakumarage.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=155&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[WSO2]]></category>

		<guid isPermaLink="false">http://damithakumarage.wordpress.com/?p=141</guid>
		<description><![CDATA[I finished reading Samisa&#8216;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&amp;blog=1419720&amp;post=141&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I finished reading <a href="http://samisa-abeysinghe.blogspot.com/">Samisa</a>&#8216;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>
<br />  <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/gofacebook/damithakumarage.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/141/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=141&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/11/20/restful-php-web-services/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>Deepal’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[WSO2]]></category>
		<category><![CDATA[WSO2 WSAS]]></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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=137&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br />  <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/gofacebook/damithakumarage.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=137&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/11/09/deepals-axis2-book/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>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[Axis2/C]]></category>
		<category><![CDATA[WSO2]]></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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=100&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br />  <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/gofacebook/damithakumarage.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=100&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/10/04/access-secure-enabled-web-services-from-command-line/feed/</wfw:commentRss>
		<slash:comments>3</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[Axis2/C]]></category>
		<category><![CDATA[Software that impressed me]]></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&amp;blog=1419720&amp;post=96&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=96&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=84&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=84&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[general]]></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&amp;blog=1419720&amp;post=82&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=82&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></category>
		<category><![CDATA[WSO2]]></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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=78&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=78&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></category>
		<category><![CDATA[Software that impressed me]]></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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=62&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=62&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></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&amp;blog=1419720&amp;post=60&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Axis2/C benchmark performance test results are published <a href="http://wso2.org/library/3868">here</a></p>
<br /><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/gofacebook/damithakumarage.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=60&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/07/30/axis2c-performance/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>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[Axis2/C]]></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&amp;blog=1419720&amp;post=56&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=56&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></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&amp;blog=1419720&amp;post=52&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=52&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></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&amp;blog=1419720&amp;post=45&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=45&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/07/22/apache-axis2c-programming-model/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>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[Travelling]]></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&amp;blog=1419720&amp;post=43&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Interesting <a href="http://www.secretreality.com/labels/xt225.html">bike journey</a>, again using XT225 serow</p>
<br /><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/gofacebook/damithakumarage.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=43&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></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&amp;blog=1419720&amp;post=41&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=41&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></category>
		<category><![CDATA[Software that impressed me]]></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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=39&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=39&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></category>
		<category><![CDATA[WSO2]]></category>
		<category><![CDATA[WSO2 ESB]]></category>
		<category><![CDATA[WSO2 WSAS]]></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<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=37&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One of the best way to get you immediately get aware of the concepts</p>
<p><embed type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid=1710477770315021899&amp;hl=en&amp;fs=true" style="width:500px;height:404px" allowFullScreen="true" allowScriptAccess="always" /></p>
<br /><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/gofacebook/damithakumarage.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=37&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/07/17/if-you-are-new-to-web-services-world/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>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[Software that impressed me]]></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&amp;blog=1419720&amp;post=35&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=35&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Travelling]]></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&amp;blog=1419720&amp;post=33&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=33&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></category>
		<category><![CDATA[Software that impressed me]]></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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=26&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=26&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=25&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=25&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://damithakumarage.wordpress.com/2008/05/08/axis2c-14-version-140-released/feed/</wfw:commentRss>
		<slash:comments>3</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[Axis2/C]]></category>
		<category><![CDATA[WSO2]]></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&amp;blog=1419720&amp;post=24&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>See <a href="http://cwebservices.blogspot.com/2008/05/c-web-services-demo-site.html">here</a></p>
<br /><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/gofacebook/damithakumarage.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=24&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[WSO2]]></category>
		<category><![CDATA[WSO2 ESB]]></category>
		<category><![CDATA[WSO2 WSAS]]></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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=damithakumarage.wordpress.com&amp;blog=1419720&amp;post=23&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=23&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></category>
		<category><![CDATA[WSO2]]></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&amp;blog=1419720&amp;post=21&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=21&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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[Axis2/C]]></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&amp;blog=1419720&amp;post=20&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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>
<br /><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/gofacebook/damithakumarage.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/damithakumarage.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/damithakumarage.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=1419720&amp;post=20&amp;subd=damithakumarage&amp;ref=&amp;feed=1" width="1" height="1" />]]></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>
	</channel>
</rss>
