<?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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
xmlns:rawvoice="http://www.rawvoice.com/rawvoiceRssModule/"
>

<channel>
	<title>Solution Hacker &#187; axis</title>
	<atom:link href="http://www.solutionhacker.com/tag/axis/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.solutionhacker.com</link>
	<description>This blog provides solutions for enterpreneurs!</description>
	<lastBuildDate>Sun, 05 Feb 2012 00:45:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=309</generator>
<!-- podcast_generator="Blubrry PowerPress/2.0.4" -->
	<itunes:summary>This blog provides solutions for enterpreneurs!</itunes:summary>
	<itunes:author>Solution Hacker</itunes:author>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://www.solutionhacker.com/wp-content/plugins/powerpress/itunes_default.jpg" />
	<itunes:subtitle>This blog provides solutions for enterpreneurs!</itunes:subtitle>
	<image>
		<title>Solution Hacker &#187; axis</title>
		<url>http://www.solutionhacker.com/wp-content/plugins/powerpress/rss_default.jpg</url>
		<link>http://www.solutionhacker.com</link>
	</image>
		<item>
		<title>Axis2 vs XFire</title>
		<link>http://www.solutionhacker.com/implement-your-idea/design/axis2-vs-xfire/</link>
		<comments>http://www.solutionhacker.com/implement-your-idea/design/axis2-vs-xfire/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 19:36:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[axis]]></category>
		<category><![CDATA[CXF]]></category>
		<category><![CDATA[StAX]]></category>
		<category><![CDATA[XFire]]></category>

		<guid isPermaLink="false">http://www.solutionhacker.com/2007/12/06/axis2-vs-xfire/</guid>
		<description><![CDATA[<p>Recently, I have assigned a web service project to one of my developers. To provide a guideline to choose the stack, I need to look into the solution provided by Axis and XFire again. Previously, it is no brainer in favor of <strong>XFire</strong> because Axis 1 is using <strong>DOM</strong> based parser whereas XFire is using <strong>StAX</strong>. Now, Axis 2 has come out that uses StAX parser as well. After a series of benchmark comparison and arguments from both parties. I feel that picking either framework isn't likely to matter much. And if it does matter, make sure you chose the proper <strong>databinding</strong> toolkit as that will have the biggest affect on your performance.</p>
<p>For XFire, it uses <strong>JAXB</strong> for databinding by default that you are replaced with <strong>JiBX</strong>. Why JiBX is faster? The reason is JAXB uses reflection to populate the bean whereas JiBX uses byte code generation. According to Dan, JiBX has significant performance improvements.  <code> JiBX can provide significant performance improvements over JAXB as it does not use reflection, but instead does byte code generation to optimize databinding - <a href="http://netzooid.com/blog/" target="_blank">Dan</a> </code></p>
<p>For Axis2, it creates its own databinding solution named <strong>ADB</strong> and it is comparable with JiBX. So, Axis2 really has caught up its competitors in term of performance. Whether I will switch to use Axis2. Probably not. Because I don't see it worth the hassle to learn another databinding solution and WS framework that gives you practically the same thing that XFire already provided.  By switching to a StAX based framework you're likely to see something like a 3-5x speedup (or something like 30x if you switch from rpc/encoded to doc/literal as well). This can make a significant difference in your application's responsiveness and load handling. As long as you are using StAX, you are good.  Oh, before I forget. For anyone who is using XFire or attempt to use XFire, please look at Apache CXF. According to XFire, CXF is XFire 2.0. I am excited to see those new features from CXF:</p>
<ol>
    <li>Spring 2.0 XML support</li>
    <li>RESTful service support</li>
    <li>JSON support</li>
    <li>And some of WS specs support as well</li>
</ol>
<p>Here is what I found from XFire site:  <em>We encourage all users who are currently evaluating XFire to use CXF instead at this point. If you are already an XFire user, you may wish to consider <span class="nobr"><a href="http://cwiki.apache.org/CXF20DOC/xfire-migration-guide.html"><font color="#2266cc">migrating to CXF depending</font></a></span> on where you are in your own release cycle. We will continue to support XFire in the future with bug fix releases, but feature development will be focused on CXF.</em>  <em>* </em>UPDATE * 12/6/2007: Apache CXF 2.0 currently doesn't support JiBX. It is expecting to support it for CXF 2.1.  <strong>Reference</strong>  <a href="http://www.infoq.com/news/2007/02/axis2-xfire-benchmark">http://www.infoq.com/news/2007/02/axis2-xfire-benchmark</a></p>]]></description>
			<content:encoded><![CDATA[<p>Recently, I have assigned a web service project to one of my developers. To provide a guideline to choose the stack, I need to look into the solution provided by Axis and XFire again. Previously, it is no brainer in favor of <strong>XFire</strong> because Axis 1 is using <strong>DOM</strong> based parser whereas XFire is using <strong>StAX</strong>. Now, Axis 2 has come out that uses StAX parser as well. After a series of benchmark comparison and arguments from both parties. I feel that picking either framework isn&#8217;t likely to matter much. And if it does matter, make sure you chose the proper <strong>databinding</strong> toolkit as that will have the biggest affect on your performance.</p>
<p>For XFire, it uses <strong>JAXB</strong> for databinding by default that you are replaced with <strong>JiBX</strong>. Why JiBX is faster? The reason is JAXB uses reflection to populate the bean whereas JiBX uses byte code generation. According to Dan, JiBX has significant performance improvements.  [code]]czoyMjA6XCIgSmlCWCBjYW4gcHJvdmlkZSBzaWduaWZpY2FudCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgb3ZlciBKQVhCIGFzIGl7WyYqJl19dCBkb2VzIG5vdCB1c2UgcmVmbGVjdGlvbiwgYnV0IGluc3RlYWQgZG9lcyBieXRlIGNvZGUgZ2VuZXJhdGlvbiB0byBvcHRpbWl6ZXtbJiomXX0gZGF0YWJpbmRpbmcgLSA8YSBocmVmPVwiaHR0cDovL25ldHpvb2lkLmNvbS9ibG9nL1wiIHRhcmdldD1cIl9ibGFua1wiPkRhbjwvYT4gXCJ7WyYqJl19O3tbJiomXX0=[[/code]</p>
<p>For Axis2, it creates its own databinding solution named <strong>ADB</strong> and it is comparable with JiBX. So, Axis2 really has caught up its competitors in term of performance. Whether I will switch to use Axis2. Probably not. Because I don't see it worth the hassle to learn another databinding solution and WS framework that gives you practically the same thing that XFire already provided.  By switching to a StAX based framework you're likely to see something like a 3-5x speedup (or something like 30x if you switch from rpc/encoded to doc/literal as well). This can make a significant difference in your application's responsiveness and load handling. As long as you are using StAX, you are good.  Oh, before I forget. For anyone who is using XFire or attempt to use XFire, please look at Apache CXF. According to XFire, CXF is XFire 2.0. I am excited to see those new features from CXF:</p>
<ol>
<li>Spring 2.0 XML support</li>
<li>RESTful service support</li>
<li>JSON support</li>
<li>And some of WS specs support as well</li>
</ol>
<p>Here is what I found from XFire site:  <em>We encourage all users who are currently evaluating XFire to use CXF instead at this point. If you are already an XFire user, you may wish to consider <span class="nobr"><a href="http://cwiki.apache.org/CXF20DOC/xfire-migration-guide.html"><font color="#2266cc">migrating to CXF depending</font></a></span> on where you are in your own release cycle. We will continue to support XFire in the future with bug fix releases, but feature development will be focused on CXF.</em>  <em>* </em>UPDATE * 12/6/2007: Apache CXF 2.0 currently doesn't support JiBX. It is expecting to support it for CXF 2.1.  <strong>Reference</strong>  <a href="http://www.infoq.com/news/2007/02/axis2-xfire-benchmark">http://www.infoq.com/news/2007/02/axis2-xfire-benchmark</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.solutionhacker.com/implement-your-idea/design/axis2-vs-xfire/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

