<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CUIDQ3s9eip7ImA9WhRVF00.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712</id><updated>2012-01-16T00:46:12.562-08:00</updated><category term="yahoo" /><category term="wiki" /><category term="Microsoft" /><category term="javascript" /><category term="geocode java API" /><category term="charting" /><category term="Semantic Web" /><category term="java API" /><category term="google geocode java" /><category term="google address parser" /><category term="jpcap" /><category term="browsers" /><category term="flash for ie7" /><category term="java conference" /><category term="Anti virus" /><category term="SaaS" /><category term="kml parser" /><category term="agile" /><category term="opensource" /><category term="denial-of-service" /><category term="google plugin" /><category term="javaone" /><category term="spring" /><category term="telnet" /><category term="computer" /><category term="internet" /><category term="portal" /><category term="hit counter" /><category term="eclipse" /><category term="jess" /><category term="java network packets" /><category term="News" /><category term="Cloud computing" /><category term="Quartz" /><category term="database" /><category term="sdlc" /><category term="RDF" /><category term="mysql" /><category term="CRM" /><category term="java" /><category term="webservices" /><category term="cewolf" /><category term="ERP" /><category term="geocoder java" /><category term="CSS Sprites" /><category term="webdriver" /><category term="how-to" /><category term="google chrome" /><category term="hiring" /><category term="portlet" /><category term="bluetooth" /><category term="Java scheduler" /><category term="rule engine" /><category term="html" /><category term="POS" /><category term="framework" /><category term="testing" /><category term="mule2" /><category term="j2ee" /><category term="OS" /><category term="google" /><category term="java exceptions" /><title>Ananth Chellathurai's walk on software</title><subtitle type="html">My blood was tested +ve for java</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://ananthchellathurai.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>71</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/AnanthChellathuraisWalkOnSoftware" /><feedburner:info uri="ananthchellathuraiswalkonsoftware" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;A0MHQnYyfCp7ImA9WhdSEE0.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-9004008441243665975</id><published>2011-07-18T10:14:00.000-07:00</published><updated>2011-07-18T10:17:13.894-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-18T10:17:13.894-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="framework" /><category scheme="http://www.blogger.com/atom/ns#" term="opensource" /><title>Hate JSP?</title><content type="html">Here is Thymeleaf&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'DejaVu Serif', 'Times New Roman', Times; font-size: 14px; "&gt;&lt;p style="margin-top: 20px; margin-right: 40px; margin-bottom: 20px; margin-left: 40px; text-align: justify; "&gt;Thymeleaf is a Java library. It is an &lt;b&gt;XML / XHTML / HTML5 template engine&lt;/b&gt; that can work both in web and non-web environments. It is better suited for serving XHTML/HTML5 at the &lt;i&gt;view layer&lt;/i&gt; of web applications, but it can process any XML file even in offline environments.&lt;/p&gt;&lt;p style="margin-top: 20px; margin-right: 40px; margin-bottom: 20px; margin-left: 40px; text-align: justify; "&gt;It provides an optional module for integration with &lt;b&gt;Spring MVC&lt;/b&gt;, so that you can use it as a complete substitute of JSP in your applications made with this technology, even with HTML5.&lt;/p&gt;&lt;p style="margin-top: 20px; margin-right: 40px; margin-bottom: 20px; margin-left: 40px; text-align: justify; "&gt;The main goal of Thymeleaf is to provide an elegant and well-formed way of creating templates. Its &lt;i&gt;Standard&lt;/i&gt; and &lt;i&gt;SpringStandard&lt;/i&gt; dialects allow you to create powerful &lt;i&gt;natural templates&lt;/i&gt;, that can be correctly displayed by browsers and therefore work also as static prototypes. You can also extend Thymeleaf by developing your own dialects.&lt;/p&gt;&lt;p style="margin-top: 20px; margin-right: 40px; margin-bottom: 20px; margin-left: 40px; text-align: justify; "&gt;Get started &lt;a href="http://www.thymeleaf.org/documentation.html"&gt;here&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-9004008441243665975?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/ahX5CyPjJ_Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/9004008441243665975/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2011/07/hate-jsp.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/9004008441243665975?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/9004008441243665975?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/ahX5CyPjJ_Y/hate-jsp.html" title="Hate JSP?" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2011/07/hate-jsp.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAMR3cyeyp7ImA9Wx9WFko.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-2431236864960084816</id><published>2011-01-21T21:11:00.001-08:00</published><updated>2011-01-21T21:23:06.993-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-21T21:23:06.993-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="html" /><title>HTML is a roller coaster</title><content type="html">Yesterday,  one of my colleague was struggling to bring his menus and submenus to the correct look.  Struts was used for the presentation layer.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;He approached me for help after spending hours on the problem,  when I looked into the code he was using &lt;logic:equal&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;His code was looking like&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;li&amp;lt;logic:equal name="xxx" value="0"&amp;gt;class="on"&amp;lt;/logic:equal&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;adding a space before the logic:equal tag did the fix.   HTML could be the simplest,  sometimes the TOUGHEST. :-)&lt;logic:equal&gt;&lt;/logic:equal&gt;&lt;/div&gt;&lt;/logic:equal&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-2431236864960084816?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/rUTLBeFth0I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/2431236864960084816/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2011/01/html-is-roller-coaster.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/2431236864960084816?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/2431236864960084816?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/rUTLBeFth0I/html-is-roller-coaster.html" title="HTML is a roller coaster" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2011/01/html-is-roller-coaster.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcHR3g9cSp7ImA9Wx9WFko.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-577283408628489846</id><published>2011-01-21T21:09:00.000-08:00</published><updated>2011-01-21T21:10:36.669-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-21T21:10:36.669-08:00</app:edited><title>I'm Back</title><content type="html">Planning to blog again after a very long time...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-577283408628489846?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/o17leD08M8w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/577283408628489846/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2011/01/im-back.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/577283408628489846?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/577283408628489846?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/o17leD08M8w/im-back.html" title="I'm Back" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2011/01/im-back.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQNRXk7eyp7ImA9WxFSGUw.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-2783525931997076810</id><published>2010-04-21T22:10:00.000-07:00</published><updated>2010-04-21T22:16:34.703-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-21T22:16:34.703-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><title>Where does eclipse store recent workspace details</title><content type="html">I knew that eclipse creates a .project file for every project that I create.  I was trying to bundle my eclipse(I have lot of plugins) for my team.  Who ever used it were getting the path of my default workspace which actually will not be available in their machine.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So where does eclipse store this default or recent workspace details?&lt;/div&gt;&lt;div&gt;You can find it under eclipse_home/configuration/.settings/org.eclipse.ui.ide.prefs file&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-2783525931997076810?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/Mmk3Qn02T-Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/2783525931997076810/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2010/04/where-does-eclipse-store-recent.html#comment-form" title="20 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/2783525931997076810?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/2783525931997076810?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/Mmk3Qn02T-Y/where-does-eclipse-store-recent.html" title="Where does eclipse store recent workspace details" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>20</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2010/04/where-does-eclipse-store-recent.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04CQXwzfyp7ImA9WxFSGE4.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-3129633457842902226</id><published>2010-04-21T00:40:00.000-07:00</published><updated>2010-04-21T00:46:00.287-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-21T00:46:00.287-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="spring" /><title>How to get Spring Plugin for your Eclipse</title><content type="html">&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Geneva, Arial, Helvetica, sans-serif; font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Spring IDE&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; line-height: 1.5; margin-top: 5px; margin-bottom: 5px; text-align: justify; "&gt;Spring IDE is an eclipse plug-in that helps in developing Spring Application. First we will see how to install the Spring IDE and later we will create our first Spring project using it. I am using Eclipse 3.4.1 version to demonstrate this.&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; line-height: 1.5; margin-top: 5px; margin-bottom: 5px; text-align: justify; "&gt;To install Spring IDE, Go to Help -&gt; Software Updates.&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:'Times New Roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;a href="http://2.bp.blogspot.com/_b3XXe8NcHck/S86sZklndMI/AAAAAAAAAzI/ozFqKq-JpqQ/s1600/spring-ide-pic-1.gif"&gt;&lt;img src="http://2.bp.blogspot.com/_b3XXe8NcHck/S86sZklndMI/AAAAAAAAAzI/ozFqKq-JpqQ/s320/spring-ide-pic-1.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5462492953365148866" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 276px; height: 249px; " /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-family:'Times New Roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;a href="http://2.bp.blogspot.com/_b3XXe8NcHck/S86sZklndMI/AAAAAAAAAzI/ozFqKq-JpqQ/s1600/spring-ide-pic-1.gif"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; line-height: 1.5; margin-top: 5px; margin-bottom: 5px; text-align: justify; "&gt;Click the "&lt;em style="padding: 0px; font-family: 'Courier New',Courier,monospace; font-style: normal; font-size: 10pt; line-height: 1.5; margin-bottom: 10px; text-align: justify;"&gt;Add Site&lt;/em&gt;" button and enter "&lt;em style="padding: 0px; font-family: 'Courier New',Courier,monospace; font-style: normal; font-size: 10pt; line-height: 1.5; margin-bottom: 10px; text-align: justify;"&gt;http://springide.org/updatesite&lt;/em&gt;" in the Add Site popup.&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:'Times New Roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); -webkit-text-decorations-in-effect: none; "&gt;&lt;a href="http://3.bp.blogspot.com/_b3XXe8NcHck/S86s2cKVs1I/AAAAAAAAAzQ/z6PFsHPO-nY/s1600/spring-ide-pic-3.gif"&gt;&lt;img src="http://3.bp.blogspot.com/_b3XXe8NcHck/S86s2cKVs1I/AAAAAAAAAzQ/z6PFsHPO-nY/s320/spring-ide-pic-3.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5462493449319461714" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 126px; " /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-family:'Times New Roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif; "&gt;&lt;a href="http://2.bp.blogspot.com/_b3XXe8NcHck/S86s24-eE2I/AAAAAAAAAzY/wsz0D27kBuU/s1600/spring-ide-pic-4.gif"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; line-height: 1.5; margin-top: 5px; margin-bottom: 5px; text-align: justify; "&gt;Select all the Spring IDE features and click Install.&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:'Times New Roman';"&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"   style="font-family:Georgia, serif;color:#0000EE;"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); -webkit-text-decorations-in-effect: none; "&gt;&lt;a href="http://2.bp.blogspot.com/_b3XXe8NcHck/S86s24-eE2I/AAAAAAAAAzY/wsz0D27kBuU/s1600/spring-ide-pic-4.gif"&gt;&lt;img src="http://2.bp.blogspot.com/_b3XXe8NcHck/S86s24-eE2I/AAAAAAAAAzY/wsz0D27kBuU/s320/spring-ide-pic-4.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5462493457054307170" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 244px; " /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Times New Roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-3129633457842902226?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/dj1eyoeRBss" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/3129633457842902226/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2010/04/how-to-get-spring-plugin-for-your.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/3129633457842902226?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/3129633457842902226?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/dj1eyoeRBss/how-to-get-spring-plugin-for-your.html" title="How to get Spring Plugin for your Eclipse" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_b3XXe8NcHck/S86sZklndMI/AAAAAAAAAzI/ozFqKq-JpqQ/s72-c/spring-ide-pic-1.gif" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2010/04/how-to-get-spring-plugin-for-your.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEHQ3w5cSp7ImA9WxFSF04.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-5257135137399903838</id><published>2010-04-19T21:10:00.001-07:00</published><updated>2010-04-19T21:10:32.229-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-19T21:10:32.229-07:00</app:edited><title>Comparing Open Source Agile Project Management Tools</title><content type="html">&lt;a href=http://olex.openlogic.com/wazi/2009/comparing-open-source-agile-project-management-tools/&gt;Comparing Open Source Agile Project Management Tools&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Posted using &lt;a href="http://sharethis.com"&gt;ShareThis&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-5257135137399903838?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/UZRgU57nnlg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/5257135137399903838/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2010/04/comparing-open-source-agile-project.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/5257135137399903838?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/5257135137399903838?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/UZRgU57nnlg/comparing-open-source-agile-project.html" title="Comparing Open Source Agile Project Management Tools" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2010/04/comparing-open-source-agile-project.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAMRX46eip7ImA9WxFSFko.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-1907166024854544770</id><published>2010-04-18T23:11:00.000-07:00</published><updated>2010-04-19T04:33:04.012-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-19T04:33:04.012-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><category scheme="http://www.blogger.com/atom/ns#" term="sdlc" /><title>Best Project Management tool</title><content type="html">I am in search of a good SDLC tool for my projects. We use agile methodologies for our projects,  I would like to share my experience in finding a tool.&lt;div&gt;Thanks to google which gave me this &lt;a href="http://www.userstories.com/products"&gt;URL&lt;/a&gt; with a good list of tool.&lt;/div&gt;&lt;div&gt;Few free products which I got interested were IceScrum2, Redmine, BananaScrum, Endeavour and AgileFant after a good comparison and study from the list.&lt;/div&gt;&lt;div&gt;Decided to omit  redmine as it was developed in ruby rails.  &lt;a href="http://www.blogger.com/www.redmine.org"&gt;Redmine&lt;/a&gt; was very impressive and with lot of plugins,  but,  I am a Java techie and looking for a java based tool.&lt;/div&gt;&lt;div&gt;Played with &lt;a href="http://endeavour-mgmt.sourceforge.net/"&gt;Endeavor&lt;/a&gt;,  Main features in endeavour are&lt;/div&gt;&lt;div&gt;&lt;div&gt;Projects&lt;/div&gt;&lt;div&gt;Use Cases&lt;/div&gt;&lt;div&gt;Iterations&lt;/div&gt;&lt;div&gt;Project Plans&lt;/div&gt;&lt;div&gt;Change Requests&lt;/div&gt;&lt;div&gt;Defect Tracking&lt;/div&gt;&lt;div&gt;Test Cases&lt;/div&gt;&lt;div&gt;Test Plans&lt;/div&gt;&lt;div&gt;Task&lt;/div&gt;&lt;div&gt;Actors&lt;/div&gt;&lt;div&gt;Document Management&lt;/div&gt;&lt;div&gt;Project Glossary&lt;/div&gt;&lt;div&gt;Project Wiki&lt;/div&gt;&lt;div&gt;Developer Management&lt;/div&gt;&lt;div&gt;Reports (Assignments, Defects, Cumulative Flow)&lt;/div&gt;&lt;/div&gt;&lt;div&gt;I was impressed with the features since it had everything mentioned in this &lt;a href="http://en.wikipedia.org/wiki/List_of_project_management_software"&gt;comparision&lt;/a&gt;&lt;/div&gt;&lt;div&gt;After playing with endoeavour 1.7, I saw the application is still in very early stage.  Less downloads in SF, average UI(after all an open source project).  The main reason which put me back is the bugs in test plan module.&lt;/div&gt;&lt;div&gt;Playing with agilefant now.  A demo version of it is available in this &lt;a href="http://www.blogger.com/demo.agilefant.org/"&gt;URL&lt;/a&gt;.  Looks good at this point still have to look into Icescrum and banana scrum before deciding.&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.blogger.com/icescrum.org/"&gt;Icescrum&lt;/a&gt; was a bit jazzy,  and I found it hard for usage.  Doesn't flow freely.  But it looks were cool.&lt;/div&gt;&lt;div&gt;Agilefant has higher searches in google(insights) compared to bananascrum.  Leaning towards Agilfant and endeavour now.&lt;/div&gt;&lt;div&gt;Have to decide one from these 2 tools(&lt;a href="http://www.agilefant.org/"&gt;Agilefant&lt;/a&gt; or &lt;a href="http://endeavour-mgmt.sourceforge.net/"&gt;Endeavour&lt;/a&gt;).]&lt;/div&gt;&lt;div&gt;What is your pick out of the two?  Or is there something else?  If so drop your comments here.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-1907166024854544770?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/NhQKDZLsvYo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/1907166024854544770/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2010/04/best-project-management-tool.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/1907166024854544770?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/1907166024854544770?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/NhQKDZLsvYo/best-project-management-tool.html" title="Best Project Management tool" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2010/04/best-project-management-tool.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08GQ3c6cSp7ImA9WxBVGE4.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-1348423920321520687</id><published>2010-02-22T03:52:00.000-08:00</published><updated>2010-02-22T03:57:02.919-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-22T03:57:02.919-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="database" /><title>PostgreSQL 8.3.x installation issues in vista(Cluster Initialisation Failed)</title><content type="html">I have been trying to install postgresql-8.3.7-1 in y vista laptop.  And I faced several issues during installations and I almost got frustrated.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The problem is that Vista has some safety features associated with setting permissions on the Program Files folder. Basically, even if you are an admin, you can’t change permissions on some folders like Program Files and Windows folder itself. This causes initdb to be unable to create some folders and the database cluster. What this means for you is that you need to install PostgreSQL in another folder that is not inside Program Files.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The solution and how to fix this issue can be found in this &lt;a href="http://www.geekscribes.net/blog/2009/04/22/postgresql-database-cluster-initialisation-failed-solution/"&gt;URL&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-1348423920321520687?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/Aa6_dBOfAbg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/1348423920321520687/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2010/02/postgresql-83x-installation-issues-in.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/1348423920321520687?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/1348423920321520687?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/Aa6_dBOfAbg/postgresql-83x-installation-issues-in.html" title="PostgreSQL 8.3.x installation issues in vista(Cluster Initialisation Failed)" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2010/02/postgresql-83x-installation-issues-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8BRXY7fip7ImA9WxBVGEw.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-8829040666022119752</id><published>2010-02-21T21:59:00.000-08:00</published><updated>2010-02-21T22:07:34.806-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-21T22:07:34.806-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="POS" /><title>Open Source Point of Sale</title><content type="html">In the process of finding a good open source POS,  I found &lt;a href="http://www.posterita.org/"&gt;posterita&lt;/a&gt;.&lt;div&gt;For Indian markets I was looking for a POS with bar code, cash, credit card, CSV import, Multiple price lists, discounts.  Posterita has all the above mentioned with with cool ajax searches.  They have a Saas Version too.&lt;/div&gt;&lt;div&gt;However the documentation was poor,  it is a good POS system(Open Source).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-8829040666022119752?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/HBkPEWxjExc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/8829040666022119752/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2010/02/open-source-point-of-sale.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/8829040666022119752?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/8829040666022119752?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/HBkPEWxjExc/open-source-point-of-sale.html" title="Open Source Point of Sale" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2010/02/open-source-point-of-sale.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04BRHozcCp7ImA9WxNXGE0.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-3355486858034050425</id><published>2009-10-05T22:00:00.000-07:00</published><updated>2009-10-05T22:12:35.488-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-05T22:12:35.488-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="framework" /><category scheme="http://www.blogger.com/atom/ns#" term="opensource" /><title>How to access office 2007(OOXML) from Java</title><content type="html">&lt;a href="http://poi.apache.org/"&gt;Apache POI&lt;/a&gt; is the solution you are looking for.  The project made java developers life simple to read and write excel, word and powerpoint files.  I have used Apache POI 3.1 which helped me to read Office 2003 documents.&lt;div&gt;When microsoft released office 2007 it used OOXML formats such as XLSX and DOCX,  which limited POIs capabilities.  The earlier versions of POI used OLE 2 Compound Document format,  and now you can easily read or write excel, doc(97-2007).&lt;/div&gt;&lt;div&gt;The latest release POI 3.5 final came out in 28-September-09 and I am very eager to use it for my project and I swear u will be eager too.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-3355486858034050425?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/d00HZ3l39QA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/3355486858034050425/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/10/how-to-access-office-2007ooxml-from.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/3355486858034050425?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/3355486858034050425?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/d00HZ3l39QA/how-to-access-office-2007ooxml-from.html" title="How to access office 2007(OOXML) from Java" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/10/how-to-access-office-2007ooxml-from.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8BQH86fSp7ImA9WxNXEkQ.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-4259811184481108931</id><published>2009-09-29T22:07:00.000-07:00</published><updated>2009-09-29T23:07:31.115-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-29T23:07:31.115-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hiring" /><title>What to expect for hiring a fresh java engineer?</title><content type="html">I was in the process of hiring fresh java candidates for my team.  During the process most of the time the guy who could answer well in technical personal/phone interview could not do well in the written test.  And who did average in personal/phone interview was able to score better in the written test.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Should I have to go with the my intuition or should I have to follow what was put on the paper?  Still haven't found the answer.  After a deep thought I came up with few points to consider while hiring a fresh java engineer.&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Do not even ask questions from what he doesn't know. (JavaAPI is big and can not expect any one to remember each and every class and methods of it.)&lt;/li&gt;&lt;li&gt;Instead find that he really understands what he knows or is he a book worm.&lt;/li&gt;&lt;li&gt;Ask yourself whether he/she can fit well into my team and can he/she get the work done.&lt;/li&gt;&lt;li&gt;Look whether the candidate is good at problem solving.  Programming is all about problem solving so give a business problem and try to check how solves it.&lt;/li&gt;&lt;li&gt;Does he has a good communication, grasping and able to explain the concepts which he knows well.&lt;/li&gt;&lt;li&gt;Does he/she loves programming or he wants a job desperately. &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;I am sure I have left lot of other aspects to be considered,  but still the above 6 looks very important to me.  What are your thoughts?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-4259811184481108931?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/FyT-5nydgYY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/4259811184481108931/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/09/what-to-expect-for-hiring-fresh-java.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/4259811184481108931?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/4259811184481108931?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/FyT-5nydgYY/what-to-expect-for-hiring-fresh-java.html" title="What to expect for hiring a fresh java engineer?" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/09/what-to-expect-for-hiring-fresh-java.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04CSX8zfip7ImA9WxNQEkg.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-2081584207169594449</id><published>2009-09-17T22:07:00.000-07:00</published><updated>2009-09-17T22:32:48.186-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-17T22:32:48.186-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="ERP" /><category scheme="http://www.blogger.com/atom/ns#" term="opensource" /><title>Best Java based open source eCommerce Software</title><content type="html">There are a number of open source java based ERP softwares.  Listing few good ones here&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ofbiz.org/"&gt;OFBiz&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The Open For Business (OFBiz) project is an open source enterprise automation software project licensed under the MIT Open Source License. By open source enterprise automation we mean: Open Source ERP, Open Source CRM, Open Source E-Business / E-Commerce, Open Source SCM, Open Source MRP, Open Source CMMS/EAM, and so on.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;a href="http://sourcetapcrm.sourceforge.net/index.htm"&gt;SourceTap CRM&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SourceTap's CRM application is a highly flexible Sales Force Automation (SFA) tool that meets both the needs of sales managers and the sales rep. SourceTap's CRM includes Sales Force Automation (SFA), marketing, campaign management, and customer service.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;a href="http://www.compiere.org/"&gt;Compiere ERP&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Compiere is a Open Source ERP software application with fully integrated CRM software solutions. Compiere is a fully integrated business solution for small-to-medium enterprises worldwide. Compiere is based on business process rather then departmental boundaries.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;a href="http://www.centriccrm.com/"&gt;Centric CRM&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Centric CRM is an enterprise-class Open Source Customer Relationship Management web application that allows companies to better develop and maintain customers. Key application modules include Sales, Help Desk, Project Management, Communications, and Document Management. The license prevent the redistribution of the source code.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;a href="http://www.openbravo.com/"&gt;Openbravo ERP&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Openbravo is an open source ERP solution designed specifically for the SME (small to midsize firm). Developed in a web based environment, it includes many robust functionalities which are considered part of the extended ERP: procurement and warehouse management, project and service management, production management, and financial management. Additionally, this same application seemlessly integrates the rest of the areas, starting with a management scope directly helping clients with its CRM (Customer Relationship Management) and BI (Business Intelligence).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;And there are more.  A quick googling would produce more results.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;a href="http://www.konakart.com/"&gt;KonaKart&lt;/a&gt; is an affordable java based shopping cart software solution for online retailers. Let KonaKart help increase your eCommerce sales. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-size:small;"&gt;In my views after a trial with &lt;a href="http://www.konakart.com/"&gt;konakart&lt;/a&gt;, I would rate it as the best eCommerce / Shopping cart software.  &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-2081584207169594449?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/0q1tqjKeRok" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/2081584207169594449/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/09/best-java-based-open-source-ecommerce.html#comment-form" title="19 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/2081584207169594449?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/2081584207169594449?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/0q1tqjKeRok/best-java-based-open-source-ecommerce.html" title="Best Java based open source eCommerce Software" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>19</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/09/best-java-based-open-source-ecommerce.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAMQng8fCp7ImA9WxNSGE0.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-7800332009325341653</id><published>2009-09-01T04:54:00.000-07:00</published><updated>2009-09-01T05:06:23.674-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-01T05:06:23.674-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="framework" /><category scheme="http://www.blogger.com/atom/ns#" term="opensource" /><title>P6Spy Open Source Framework to detect database performance bottlenecks in Java applications</title><content type="html">&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;What is P6Spy?&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;a href="http://www.p6spy.com/"&gt;P6Spy&lt;/a&gt; is an open source framework for applications that intercept and optionally modify database statements. The P6Spy distribution includes the following modules:&lt;br /&gt;&lt;/span&gt; &lt;ol&gt;   &lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;a href="http://www.p6spy.com/documentation/other.htm#p6log"&gt;P6Log&lt;/a&gt;. P6Log intercepts and logs the database statements of any application that uses JDBC. This application is particularly useful for developers to monitor the SQL statements produced by EJB servers, enabling the developer to write code that achieves maximum efficiency on the server.  P6Spy is designed to be installed in minutes and requires no code changes.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;a href="http://www.p6spy.com/documentation/other.htm#p6outage"&gt;P6Outage&lt;/a&gt;. P6Outage detects long-running statements that may be indicative of a database outage proble and will log any statement that surpasses the configurable time boundary during its execution. P6Outage was designed to minimize any logging performance penalty by logging only long running statements.&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; P6Spy includes installation instructions for JBoss, ATG, Orion, JOnAS, iPlanet, WebLogic, WebSphere, Resin and Tomcat.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;What if you want it inside your favorite Eclipse IDE?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Don't worry there is an eclipse plugin for you &lt;a href="http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-1278.html"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-7800332009325341653?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/210-L-of7NU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/7800332009325341653/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/09/p6spy-open-source-framework-detect.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/7800332009325341653?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/7800332009325341653?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/210-L-of7NU/p6spy-open-source-framework-detect.html" title="P6Spy Open Source Framework to detect database performance bottlenecks in Java applications" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/09/p6spy-open-source-framework-detect.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcHQnk-fip7ImA9WxNSF0w.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-4885558321685749519</id><published>2009-08-31T02:42:00.000-07:00</published><updated>2009-08-31T02:47:13.756-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-31T02:47:13.756-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><title>org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir svn</title><content type="html">I had this error when I tried to update my source directory of my project.  The reason for this exception is unsuccessful previous commit/update with svn.  For example when you close your eclipse when a transaction takes place.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How do I resolve this issue?&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Right Click your project and select Team --&gt; Cleanup&lt;/li&gt;&lt;li&gt;Now try to do your update/commit&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Try to do it at your project level since even if you try cleanup at source level and if the project has a lock,  you will still not be able to do an update/commit.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-4885558321685749519?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/uu2uyYVvCbs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/4885558321685749519/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/08/orgtigrissubversionjavahlclientexceptio.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/4885558321685749519?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/4885558321685749519?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/uu2uyYVvCbs/orgtigrissubversionjavahlclientexceptio.html" title="org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir svn" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/08/orgtigrissubversionjavahlclientexceptio.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4BQ38yfCp7ImA9WxNSFE4.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-1283828164229796912</id><published>2009-08-27T21:15:00.001-07:00</published><updated>2009-08-27T21:15:52.194-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-27T21:15:52.194-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javaone" /><title>James Gosling's Toy show</title><content type="html">&lt;object id="flashObj" width="486" height="322" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0"&gt;&lt;param name="movie" value="http://c.brightcove.com/services/viewer/federated_f9/1640183659?isVid=1&amp;publisherID=1460825906" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;param name="flashVars" value="videoId=25466436001&amp;playerID=1640183659&amp;domain=embed&amp;" /&gt;&lt;param name="base" value="http://admin.brightcove.com" /&gt;&lt;param name="seamlesstabbing" value="false" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="swLiveConnect" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://c.brightcove.com/services/viewer/federated_f9/1640183659?isVid=1&amp;publisherID=1460825906" bgcolor="#FFFFFF" flashVars="videoId=25466436001&amp;playerID=1640183659&amp;domain=embed&amp;" base="http://admin.brightcove.com" name="flashObj" width="486" height="322" seamlesstabbing="false" type="application/x-shockwave-flash" allowFullScreen="true" swLiveConnect="true" allowScriptAccess="always" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-1283828164229796912?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/RX6AEAXFiz4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/1283828164229796912/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/08/james-goslings-toy-show.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/1283828164229796912?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/1283828164229796912?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/RX6AEAXFiz4/james-goslings-toy-show.html" title="James Gosling's Toy show" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/08/james-goslings-toy-show.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcGQXk5fCp7ImA9WxNSE0o.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-3995892155126583686</id><published>2009-08-27T04:07:00.000-07:00</published><updated>2009-08-27T04:20:20.724-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-27T04:20:20.724-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SaaS" /><category scheme="http://www.blogger.com/atom/ns#" term="portal" /><title>Best practices for SAAS implementation using an Open Source Portal (JBoss)</title><content type="html">&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;Introduction&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;JBoss Portal is a very popular open source portal offering from Red Hat. It is JSR-168 compliant and&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;provides support for deployment in a clustered environment with high-availability. The JBoss Portal framework&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;provides support for features like customizable UI tier using themes and skins, creating workflows using a&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;process server and also supports SOA.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;In this article we will explore various design approaches to implement a SAAS application using&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;JBoss as the portal vendor.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Some of the key considerations in implementing a SAAS solution involve:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;1) Addressing MultiTenancy&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;2) Providing a unique user experience&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;3) Keeping user/tenant data separated and secure&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;4) Having a SOA based architecture and using Web Services based messaging for the middle-tier&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;or business layer.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;MultiTenancy&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Multi-tenancy refers to the ability to host a software solution that serves multiple client organizations&lt;/div&gt;&lt;div&gt;or tenants. Its scope includes:&lt;/div&gt;&lt;div&gt;1) Application customization&lt;/div&gt;&lt;div&gt;2) Data isolation&lt;/div&gt;&lt;div&gt;3) Security isolation&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Portlet design considerations for multitenancy&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;Application customization:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;A portal implementation offers a lot of features which can be leveraged to provide a customized feel for&lt;/div&gt;&lt;div&gt;every tenant. Each portlet can be made configurable for each subscriber. To enable a high level of reuse,&lt;/div&gt;&lt;div&gt;the degree of configurability in the portlets must support subscriber-specific settings in a range from name and-value pair configurations, such as subscriber IDs or subscriber's service endpoints, to subscriberspecific&lt;/div&gt;&lt;div&gt;look-and-feel. JBOSS can provide a clone-and-configure approach to the implementation and&lt;/div&gt;&lt;div&gt;deployment of the portal in multi-tenant applications i.e. the ability to clone a portal and configure it. JBoss&lt;/div&gt;&lt;div&gt;like many other portal vendors supports the concept of a virtual portal which is a logical copy of an existing&lt;/div&gt;&lt;div&gt;portal utilizing the same hardware and software resources.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;Security Isolation:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Each virtual portal supports isolation of user populations for each tenant bank through a multi-tenant LDAP&lt;/div&gt;&lt;div&gt;tree structure in a single instance of a directory Server. A sample scenario as outlined by folks at IBM&lt;/div&gt;&lt;div&gt;involve the following steps which can also be recreated in JBoss&lt;/div&gt;&lt;div&gt;1) Create a multitenant user directory structure in LDAP by:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;- Create a realm for each tenant i.e. a separate tree hierarchy starting at dn [dc=tenant1, dc=com]&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;- For each security realm, a new partition and security context entry must be created in the server.xml&lt;/div&gt;&lt;div&gt;configuration file in Apache Directory Server (Apache Directory Server Install Directory / instances /&lt;/div&gt;&lt;div&gt;default /conf /server.xml)&lt;/div&gt;&lt;div&gt;2) Dynamic LDAP routing with Spring security&lt;/div&gt;&lt;div&gt;The basis of dynamic LDAP routing hinges on the possibility of dynamically selecting the LDAP&lt;/div&gt;&lt;div&gt;security context at run time based upon a lookup key. In a multitenant environment, this translates to&lt;/div&gt;&lt;div&gt;authenticating and authorizing against an LDAP source that is derived on the fly based on the tenant's&lt;/div&gt;&lt;div&gt;ID.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;Providing a unique user experience:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Unique User Experience is providing a different User Interface to different users as per the application&lt;/div&gt;&lt;div&gt;scope. Unique User Experience consists of look and feel , structure and scope for every user role.&lt;/div&gt;&lt;div&gt;Using the model proposed by Jesse Richard Dalton we attempt to show how a Unique User Experience&lt;/div&gt;&lt;div&gt;(UUE) can be provided to tenants using Jboss.&lt;/div&gt;&lt;div&gt;&lt;div&gt;JBoss provides a lot of features which can be utilized to create a distinct look and feel that is also&lt;/div&gt;&lt;div&gt;consistent with the organization branding. Also it provides flexibility to the tenant to customize the look and&lt;/div&gt;&lt;div&gt;feel based on their specific business requirements.&lt;/div&gt;&lt;div&gt;At a high level providing a UUE can be divided into the following 4 S’s:&lt;/div&gt;&lt;div&gt;1. Surface&lt;/div&gt;&lt;div&gt;2. Skeleton&lt;/div&gt;&lt;div&gt;3. Structure&lt;/div&gt;&lt;div&gt;4. Scope&lt;/div&gt;&lt;div&gt;Surface is the client-facing element directly visible to the client. This layer is supported by themes and skins&lt;/div&gt;&lt;div&gt;of the portal application. Themes and skins control the overall look and feel of all the pages in a Portal.&lt;/div&gt;&lt;div&gt;Changes to them are made via updating stylesheet classes provided by JBoss. Themes and skins can be&lt;/div&gt;&lt;div&gt;set at a virtual portal level. They can also be set at a user level based on the user role and access. This can&lt;/div&gt;&lt;div&gt;be done dynamically in the application or can be set by an Admin using the portal’s administrative console.&lt;/div&gt;&lt;div&gt;Skeleton is responsible for ensuring that the page architecture and layout are as per the user needs and&lt;/div&gt;&lt;div&gt;can be customized. A UUE in this context can be achieved through providing different layout options of the&lt;/div&gt;&lt;div&gt;page. By default there are three types of layouts: - right, center and left.&lt;/div&gt;&lt;div&gt;Structure is the next element of UUE. Structure differentiates a site or application as per the organization,&lt;/div&gt;&lt;div&gt;line of business and user needs. A virtual portal provides a quick way to achieve this objective.&lt;/div&gt;&lt;div&gt;Virtual Portals are logical portals that share the same hardware and software installation. Virtual portals can&lt;/div&gt;&lt;div&gt;also specify a default locale through portal’s administrative console to implement internationalization&lt;/div&gt;&lt;div&gt;functionality for organizations that require different languages to cater to their distinct global locations.&lt;/div&gt;&lt;div&gt;Scope includes access control and roles. Portal provides access functionality at the page level accessibility&lt;/div&gt;&lt;div&gt;for user role and user group. For example hiding certain sections or links on a page from anonymous users&lt;/div&gt;&lt;div&gt;or displaying content relevant only to a specific user group. Above that Portal also provides functionality at&lt;/div&gt;&lt;div&gt;the application.&lt;/div&gt;&lt;div&gt;Per the JSR 168 spec, portlet has 4 modes view, edit, config and help. View and help modes can be&lt;/div&gt;&lt;div&gt;available for all registered users or anonymous users. Edit mode can be available to registered users and&lt;/div&gt;&lt;div&gt;configuration mode is available only to administrator. These modes provide another level of customization&lt;/div&gt;&lt;div&gt;at the portlet level.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;Separate and Secure Data Tier:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;Implementing a Multi-Tenant database:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Key considerations while designing the multi-tenant database are consolidation, scalability and extensibility.&lt;/div&gt;&lt;div&gt;Each tenant can have its own extensions for base tables as per the requirement, forming the separate&lt;/div&gt;&lt;div&gt;logical schema for that tenant. Query transformation can be used to map these single-tenant logical&lt;/div&gt;&lt;div&gt;schemas to one multi-tenant physical schema. Available physical memory can limit the scalability of the&lt;/div&gt;&lt;div&gt;database.&lt;/div&gt;&lt;div&gt;The simplest approach to implement multi-tenancy would be to create private database structure for each&lt;/div&gt;&lt;div&gt;tenant. In this approach the database structure is replicated and customized according to the tenant’s&lt;/div&gt;&lt;div&gt;requirement. Accordingly query transformation becomes very simple but it puts overhead to physical&lt;/div&gt;&lt;div&gt;memory as the number of tables keeps growing when new tenants are added. Hence this approach gets&lt;/div&gt;&lt;div&gt;expensive in terms of memory.&lt;/div&gt;&lt;div&gt;Second approach could be to use Universal tables. Universal table is a very generic structure containing&lt;/div&gt;&lt;div&gt;data for all the tenants. Table schema includes the tenant column and the large number of generic columns&lt;/div&gt;&lt;div&gt;considering requirements of all tenants. Tenant column is used to identify which tenant the row belongs.&lt;/div&gt;&lt;div&gt;Columns from the logical source tables of each tenant are mapped to generic columns in universal table&lt;/div&gt;&lt;div&gt;which allows different tenants to extend same table in different ways. Keeping all values altogether in one&lt;/div&gt;&lt;div&gt;table avoids the reconstruction overhead. The disadvantage of this approach is that rows are unnecessarily&lt;/div&gt;&lt;div&gt;wide containing null values for those generic columns which do not belong to the tenant.&lt;/div&gt;&lt;div&gt;Base-Extension table layout can be the better approach to overcome the above mentioned disadvantages.&lt;/div&gt;&lt;div&gt;Here extensibility can be achieved by splitting the universal table in base and extension table. Base table’s&lt;/div&gt;&lt;div&gt;schema will have minimum required generic columns those used by all tenants. A separate extension table&lt;/div&gt;&lt;div&gt;is created for additional requirements of particular tenant. This extension table can be shared by other&lt;/div&gt;&lt;div&gt;tenants having the same extension requirement, which avoids creating unnecessary tables with the same&lt;/div&gt;&lt;div&gt;schema.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-3995892155126583686?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/da_yY7iyvH0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/3995892155126583686/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/08/best-practices-for-saas-implementation.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/3995892155126583686?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/3995892155126583686?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/da_yY7iyvH0/best-practices-for-saas-implementation.html" title="Best practices for SAAS implementation using an Open Source Portal (JBoss)" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/08/best-practices-for-saas-implementation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIFQn48fip7ImA9WxNSEkU.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-4748341468673844965</id><published>2009-08-26T02:51:00.000-07:00</published><updated>2009-08-26T03:28:33.076-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-26T03:28:33.076-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="webservices" /><title>Developer toolsets for webservices</title><content type="html">Taking SOAP and REST architectures into consideration.&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;What Toolkits are for SOAP&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);   font-family:'Times New Roman';font-size:medium;"&gt;&lt;table border="0" cellspacing="0" cellpadding="0" width="549"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;blockquote&gt;&lt;table cellspacing="5" cellpadding="0" border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://xml.apache.org/soap/"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Apache SOAP (see also AXIS) (Apache project) [Full, Java] 2.3.1, 2001/06/10&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://xml.apache.org/axis/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;AXIS (Apache project) [Full, Java] 1.0, 2002/10/07&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.trl.ibm.co.jp/projects/xml/soap/trlsoap/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;TRLSOAP [not available] (IBM Research, Tokyo) [Full, Java] 0.72, 2000/11/24&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.alphaworks.ibm.com/tech/webservicestoolkit"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Web Services Toolkit (IBM, alphaWorks) [Full, Java 1.3, LotusScript] 3.2.2, 2002/08/26&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.systinet.com/products/wasp_advanced/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;WASP for Java [login required] (Systinet) [Full, Java] 4.0, 2002/10/01&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.themindelectric.com/products/glue/glue.html"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;GLUE [registration required] (Graham Glass) [Full, Java] 3.2, 2002/10/08&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.embedding.net/eSOAP"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;eSOAP [login required] (Rosimildo da Silva) [Client, Java] 1.0, 2001/10/18&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://java.sun.com/xml/downloads/javaxmlpack.html"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Java XML Pack [login required] (Sun) [Full, Java] summer02_01, 2002/07/31&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://java.sun.com/webservices/webservicespack.html"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Java Web Services Developer Pack (WSDP) (Sun) [Full, Java] 1.0_01, 2002/07/31&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.borland.com/jbuilder/webservices/index.html"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Web Services Kit for Java (Borland) [Full, Java] ?, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.develop.com/soap/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;DevelopMentor SOAP [abandoned] (DevelopMentor) [Full, Java] 0.3, 2000/01/24&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.extreme.indiana.edu/soap/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;XSOAP (aka SoapRMI) (Indiana University) [Full, Java] 1.2, 2001/11/04&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.silverstream.com/Website/app/en_US/JBrokerWeb"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;jBroker Web [login required] (Novell/SilverStream Software) [Full, Java] 2.0, 2002/06/24&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.xwaresoft.com/products/main.html"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;X-Soap Toolkit [not available] (Xwaresoft.com) [Full, Java] 0.9, 2000/09/17&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://soap.fmui.de/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Spheon JSOAP (Florian Muller) [Full, Java] 0.4.1, 2002/06/29&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.wingfoot.com/products.jsp"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Wingfoot SOAP [registration required] (Wingfoot) [Full, Java/J2ME/J2SE] 1.0, 2002/03/31&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.jboss.org/business/jboss-zoap.html"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;ZOAP [not available] (jBoss.org) [Full, Java] ?, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.capeclear.com/products/webservices/architecture.shtml"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;CapeConnect (Java Web Services) [registration required] (Cape Clear Software) [Full, Java] 2.0, 2001/05/11&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.hp.com/go/webservices"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;HP Web Services Platform [discontinued] (HP) [Full, Java] 2.0.1, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.soaprpc.com/software/bubbles/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Bubbles Project [folded into the Wingfoot SOAP] (Vivek Chopra) [Client, Java | PDA | KVM-based] ?, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://ksoap.enhydra.org/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;kSOAP (Enhydra.org) [Client, Java 2 Micro Edition | PDA | KVM-based] 1.2, 2002/06/06&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=15690"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SoapWiz (SOAP toolkit for JBuilder) [login required] (Stephen Schaub) [Client, Java | JBuilder 4 | Win] 1.0, 2001/03/31&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.killdara.com/products/vitiris/index.htm"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Vitiris Web Services Platform [login required] (Killdara/Interbind) [Full, Java] ?, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.tradia.com/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;InstantXML [not available] (Tradia) [?, Java] ?, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://developer.bea.com/techtrack/detail.jsp?highlight=webservices"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAP for BEA WebLogic [no official support] (BEA Systems) [Server?, Java? | BEA WebLogic Server] ?, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.xmlbus.com/work/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;XMLBus [registration required] (IONA Technologies) [Full, Java | iPortal AppServer, BEA WebLogic] 5.4, 2002/09/16&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.shinkatech.com/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Business Integration Platform [not available] (Shinka Technologies) [Full, Java, Visual Basic, C++] 1.3, 2001/08/01&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn.microsoft.com/code/sample.asp?url=/msdn-files/027/001/580/msdncompositedoc.xml"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Microsoft SOAP toolkit (Microsoft) [Full, VB/C# | WinNT/2K] 2.0 SP2, 2001/06/21&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn.microsoft.com/vstudio/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Visual Studio .NET (Microsoft) [Full, .NET | WinNT/2K/98/Me] ?, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn.microsoft.com/netframework/productinfo/next/download.asp"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;.NET Framework SDK (Microsoft) [Full, .NET | WinNT/XP/2K/98/Me] 1.1, 2002/10/03&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn.microsoft.com/webservices/building/wsdk/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Microsoft Web Services Development Kit (WSDK) (Microsoft) [Full, VB/C# | WinNT/2K] ?, 2002/08/26&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.4s4c.com/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;4s4c (Simon Fell) [Server, COM | WinNT/2K] 1.3.8, 2002/03/02&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.pocketsoap.com/pocketsoap/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;pocketSOAP (Simon Fell) [Client, COM? | Win9x/Me/NT/2K/Pocket] 1.3.7, 2002/08/19&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.whitemesa.com/wmsoapsvc_about.htm"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;White Mesa (Robert Cunnings) [Full, C++ | COM | WinNT/2K] 2.7.2, 2002/07/28&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.phalanxsys.com/toolset/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;vbSOAP [not available] (Phalanx Systems) [?, VB6.0] 3.0, 2002/03/13&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.nsoftware.com/download/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAP component in IP*Works (Nsoftware) [Client, .NET/VB/VC++/Delphi/C++Builder | Win9x/NT] ?, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.dart.com/powertcp/webserver.asp"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;WebServer Tool [registration required] (Dart) [Full, VB/VC++/Delphi/C++Builder | COM | WinNT/2K] 1.6.0, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.soaplite.com/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAP::Lite (Paul Kulchenko) [Full, Perl] 0.55, 2002/04/15&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.develop.com/soap/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;DevelopMentor SOAP [abandoned] (DevelopMentor) [Full, Perl] 0.28, 2000/09/05&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.activestate.com/Products/Components/PerlEx/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;PerlEx (ActiveState) [Server, Perl | WinNT/2K] 2.2.1, 2002/05/27&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.pythonware.com/products/soap/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Secret Labs SOAP [abandoned] (Secret Labs) [Full, Python] 0.8, 2000/06/21&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://sourceforge.net/projects/pywebsvcs/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAP.py (Cayce Ullman) [Full, Python] 0.9.7, 2001/06/27&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://soapy.sourceforge.net/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAPy (Adam Elman) [Client, Python] 0.1, 2001/04/26&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://pywebsvcs.sf.net/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;ZSI: Zolera Soap Infrastructure (Zolera Systems, Rich Salz) [Full, Python] 1.3RC2, 2002/05/14&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://dev.zope.org/Wikis/DevSite/Projects/WebServicesForZope/FrontPage"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Web Services for Zope (Zope Corporation, Brian Lloyd) [?, Python] 1.0a, 2001/10/30&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.biopython.org/~dalke/lye/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Lye -- COM to SOAP (Andrew Dalke) [Client, Python | COM clients] 0.1, 2000/09/14&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.systinet.com/products/wasp_cserver/overview"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;WASP for C++ [login required] (Systinet) [Full, C++] 4.0, 2002/09/01&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://scottseely.com/soap.htm"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SimpleSOAP [not available] (Scott Seely) [Client, Visual C++] ?, 2001/01/13&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.sqldata.com/soapclient/soapclient.htm"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;C++ Library for SOAP Client (SQLData) [Client, C++ | WinNT/2K] 2.0, 2000/12/10&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.cs.fsu.edu/~engelen/soap.html"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;gSOAP (Robert van Engelen) [Full, C/C++] 2.1.10, 2002/10/14&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.sqldata.com/soap.htm"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SQLData SOAP Server (SQLData) [Server, C++ | WinNT/2K] 3.01, 2001/01/25&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://sourceforge.net/projects/easysoap/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;EasySOAP (David Crowley) [Client, C++ | Linux/WinNT/2K/POSIX] 0.6.1, 2002/06/10&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.embedding.net/eSOAP"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;eSOAP (Rosimildo da Silva ) [Full, C++ | Linux/Windows/RTEMS/eCos] 1.0, 2001/10/18&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://lists.gnome.org/archives/gnome-announce-list/2001-May/msg00045.html"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOUP [abandoned?] (Ximian) [Full, C | Linux/Windows] 0.2, 2001/05/22&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://xmlrpc-epi.sourceforge.net/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;XMLRPC-EPI (Dan Libby) [Full, C | Linux] 0.50, 2001/09/26&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.opensoap.jp/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;OpenSOAP (OpenSOAP project) [Full, C] 1.0-20030110, 2003/01/10&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://sourceforge.net/projects/soap2corba/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAP to CORBA bridge (LifeLine Networks bv) [Full?, C++ | Linux/WinNT/2K] 2.0.5, 2001/10/15&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.apple.com/applescript/webservices/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Web Services for Mac OS (Apple) [Client, AppleScript | Mac OS X] 10.1, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.soaptoolset.com/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAP toolkit LITE [registration required] (Lucin) [Full, ? | Windows 95/98/NT/2000] 2.3.0, 2000/09/18&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://frontier.userland.com/stories/storyReader$4467"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAP for Frontier (UserLand) [Full, Frontier] ?, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://ascl.sourceforge.net/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAP for Ada (Michael Erdmann) [Full, GNU Ada | Linux SuSe] 0.1.5, 2002/10/03&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.bayes.co.uk/xml/index.xml?/xml/utils/anyservice.xml"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;anyService (Chris Bayes) [Client, JavaScript/XSLT | Win | IE/HTA] 0.3, 2001/05/15&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.microsoft.com/mind/0100/code/Skonnard0100.zip"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAP client for IE 5.0 [not available] (Aaron Skonnard) [Client, JavaScript | Win | IE] ?, 2000/01&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn.microsoft.com/workshop/author/webservice/webservice_node_entry.asp"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;WebService Behavior (SOAP client for IE 5 and later) [not supported] (Microsoft) [Client, DHTML | Win | IE | HTC] 2.01, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.mozilla.org/xmlextras/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;XML Extras with SOAP (mozilla.org) [Client, JavaScript | Win | Mozilla] ?, 2000/12/28&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.dolphinharbor.org/qad/spray/index.html"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Spray for Dolphin Smalltalk (Steve Waring) [Full, Smalltalk] 0.5, 2001/11/16&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://wiki.cs.uiuc.edu/CampSmalltalk/SOAP+Smalltalk+Reference+Implementation"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAP Smalltalk (Camp Smalltalk) [Client, Smalltalk] ?, 2000/10/03&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.cincomsmalltalk.com/WebServices/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;VW Opentalk SOAP (Cincom Systems) [Full, Smalltalk] 1.0, 2002/07/01&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.jin.gr.jp/~nahi/Ruby/SOAP4R/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAP4R (Nakamura Hiroshi) [Full, Ruby] 1.4.7, 2002/09/20&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.gigaideas.com.cn/phpsoap/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;PHPSOAP [not available] (GigaIdeas) [Full, PHP] ?, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://dietrich.ganx4.com/soapx4/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;NuSOAP (SOAPx4) (Dietrich Ayala) [Full, PHP] 0.6.1, 2002/04/29&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://phpclasses.upperdesign.com/browse.html/package/251"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAP server class [not available] (Manuel Lemos) [Server, PHP] ?, 2001/06/09&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://sourceforge.net/projects/phpxmlp/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;phpXMLP [abandoned?] (phpApp.org) [Full, PHP] 0.10, 2001/08/19&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://phpsoaptoolkit.sourceforge.net/phpsoap/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;PHP-SOAP (Brad LaFountain) [Full?, PHP] 0.1.1, 2002/05/02&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://pear.php.net/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;PEAR-SOAP (PEAR development team) [Full, PHP] 1.0b1, 2002/10/12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://developer.ez.no/developer/ezsoap"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;eZ soap (eZ systems as ) [Full, PHP] 2.9-1, 2002/05/31&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://oracle.com/features/oow/index.html?oow01_9iaslaunch.html"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Oracle9i Application Server (Oracle) [Server, ?] R2, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.vbxml.com/soapworkshop/utilities/kafka/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Kafka Framework (Christopher Dix) [Server, XSLT] 0.9, 2001/04/05&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://sourceforge.net/projects/tclsoap"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAP for Tcl (Pat Thoyts) [Client, Tcl] 1.6.5, 2002/09/22&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://sourceforge.net/projects/nssoap/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;NSSOAP for AOLserver [abandoned?] (Lee Teague) [Client, C, Tcl] Not released yet&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.cfdev.com/products/productdetail.cfm/id/1015"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Web services in ColdFusion (Macromedia) [?, ColdFusion] MX, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://evals.webmethods.com/cgi-bin/evals/ev_main.jsp?campaign=11"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;webMethods Enterprise Web Services [registration required] (webMethods) [Full, - | Linux/Solaris/HP-UX/WindowsNT/2K] 4.6 SP2, 2002/10/16&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.o-r-g.org/~azaroth/moosoap/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;MOO SOAP (Rob Sanderson) [Full?, MOO] 0.75, 2002/06/13&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.openlinksw.com/virtuoso/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Virtuoso (Openlink) [Full, ? | Windows/Linux/Solaris] 2.5, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.puresoftwaretech.com/PureSOAP/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Pure SOAP (Pure Software Technology) [Full, Delphi] 0.0.4, 2001/01/28&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.borland.com/delphi/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Delphi 7 Studio (Borland) [Full, Delphi] 7.0, ?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.west-wind.com/wwsoap.asp"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;wwSOAP (West Wind Technologies) [Full?, Visual FoxPro] 2.0, 2001/09/08&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.mars.dti.ne.jp/~umejava/smalltalk/soapOpera/index.html"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SoapOpera (SOAP-HTTP ORB) (Masashi Umezawa) [?, SqueakSmalltalk] 0.5beta4, 2002/10/09&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="2"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://ulim.cocoonhost.com/taglibs/soap.tar.gz"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;img src="http://static.userland.com/shortcuts/images/qbullets/remote.gif" width="11" height="11" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;SOAP taglib [not available] (Ulrich Mayring) [Client, XSP/taglib | Cocoon?] ?, 2001/04/05&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/blockquote&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;What is a REST Web Service&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The acronym REST stands for Representational State Transfer, this basically means that each unique URL is a representation of some object. You can get the contents of that object using an HTTP GET, to delete it, you then might use a POST, PUT, or DELETE to modify the object (in practice most of the services use a POST for this).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;What Toolkits are for REST&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;REST is not a standard. You will not see the W3 putting out a REST specification. You will not see IBM or Microsoft or Sun selling a REST developer's toolkit. Why? Because REST is just an architectural style. You can't bottle up that style. You can only understand it, and design your Web services in that style.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;While REST is not a standard, it does prescribe the use of standards:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;HTTP&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;URL&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;XML/HTML/GIF/JPEG/etc (Resource Representations)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;text/xml, text/html, image/gif, image/jpeg, etc (Resource Types, MIME Types)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-4748341468673844965?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/0A_bisa5vC4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/4748341468673844965/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/08/developer-toolsets-for-webservices.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/4748341468673844965?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/4748341468673844965?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/0A_bisa5vC4/developer-toolsets-for-webservices.html" title="Developer toolsets for webservices" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/08/developer-toolsets-for-webservices.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QFRHo5fCp7ImA9WxNSEk0.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-5007254704053305448</id><published>2009-08-25T04:48:00.000-07:00</published><updated>2009-08-25T04:55:15.424-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-25T04:55:15.424-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title>Bug in google's built in calculator</title><content type="html">You all might have known about google's built in calculator function. You can simply enter the calculation you'd like done into the search box.&lt;br /&gt;&lt;br /&gt;Example: 5*9+(sqrt 10)^3=&lt;br /&gt;&lt;br /&gt;For all reference tools of google's search features visit &lt;a href="http://www.google.com/intl/en/help/features.html"&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Now try this URL to see whats the &lt;a href="http://www.google.com/search?q=999999999999999+-+999999999999997"&gt;bug in google's calculator&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-5007254704053305448?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/Bgk8DqUIMlY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/5007254704053305448/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/08/bug-in-googles-built-in-calculator.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/5007254704053305448?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/5007254704053305448?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/Bgk8DqUIMlY/bug-in-googles-built-in-calculator.html" title="Bug in google's built in calculator" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/08/bug-in-googles-built-in-calculator.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMEQnc-cSp7ImA9WxNTEUs.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-3347058293901608618</id><published>2009-08-13T05:23:00.000-07:00</published><updated>2009-08-13T05:43:23.959-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-13T05:43:23.959-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><title>Code in a "finally" clause "may" fail to execute!!!</title><content type="html">&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;We all would have studied that &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;finally&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; block always executes.  This ensures that the finally block is executed even if an unexpected exception occurs. But finally is useful for more than just exception handling — it allows the programmer to avoid having cleanup code accidentally bypassed by a return, continue, or break. Putting cleanup code in a finally block is always a good practice, even when no exceptions are anticipated.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;But here's an example where the finally code will not execute&lt;/span&gt;,&lt;/div&gt;&lt;pre name="code" class="java"&gt;try&lt;br /&gt;{&lt;br /&gt;  if (userInput)&lt;br /&gt;  {&lt;br /&gt;    while (true) ;&lt;br /&gt;  }&lt;br /&gt;  else&lt;br /&gt;  {&lt;br /&gt;   System.exit(1);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;finally&lt;br /&gt;{&lt;br /&gt;  // what ever you want to clean up&lt;br /&gt;}&lt;/pre&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Please note&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;:  If the JVM exits while the try or catch code is being executed, then the &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;finally&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; block will not execute. Likewise, if the thread executing the try or catch code is interrupted or killed, the &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;finally&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; block will not execute even though the application as a whole continues.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-3347058293901608618?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/nUxhZwT13rU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/3347058293901608618/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/08/code-in-finally-clause-may-fail-to.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/3347058293901608618?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/3347058293901608618?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/nUxhZwT13rU/code-in-finally-clause-may-fail-to.html" title="Code in a &quot;finally&quot; clause &quot;may&quot; fail to execute!!!" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/08/code-in-finally-clause-may-fail-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIBSXc8fyp7ImA9WxNTEUs.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-7649842148203822322</id><published>2009-08-13T04:29:00.000-07:00</published><updated>2009-08-13T04:39:18.977-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-13T04:39:18.977-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="webservices" /><title>United States Postal Service web tool kit</title><content type="html">&lt;span class="Apple-style-span"   style="  ;font-family:'Times New Roman';font-size:medium;"&gt;&lt;p class="MsoNormal"  style="margin-top: 0in; margin-right: 0in; margin-bottom: 6pt; margin-left: 0in;  font-size:12pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia, serif;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:georgia, serif;"&gt;&lt;p class="MsoNormal" size="12pt" style="margin-top: 0in; margin-right: 0in; margin-bottom: 6pt; margin-left: 0in;  "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The USPS Web Tool Kit Application Program Interfaces (APIs) allow developers of web-based and shrink-wrapped applications access to the on-line services of the United States Postal Service (USPS). They provide easy access to shipping information and services for your customers. By integrating these APIs into your web site, your customers can utilize the functions provided by the USPS without ever leaving your web site. Once the APIs are integrated into your web site, the USPS Shipping API Server communicates over HTTP using XML (Extensible Markup Language).&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" size="12pt" style="margin-top: 0in; margin-right: 0in; margin-bottom: 6pt; margin-left: 0in;  "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" size="12pt" style="margin-top: 0in; margin-right: 0in; margin-bottom: 6pt; margin-left: 0in;  "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Implementing these APIs requires experienced programmers who are familiar with Internet and web site development tools and techniques.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" size="12pt" style="margin-top: 0in; margin-right: 0in; margin-bottom: 6pt; margin-left: 0in;  "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" size="12pt" style="margin-top: 0in; margin-right: 0in; margin-bottom: 6pt; margin-left: 0in;  "&gt;&lt;a href="http://www.usps.com/webtools/htm/Development-Guide-v3-0b.htm"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;This&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; document provides guidance and step-by-step instructions for installing the USPS APIs, as well as fulfilling various administrative requirements. The administrative requirements vary between different APIs (e.g., submitting samples of labels for some APIs, signing a licensing agreement for certain software, etc.), and &lt;/span&gt;&lt;a href="http://www.usps.com/webtools/htm/Development-Guide-v3-0b.htm"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;this&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; document provides guidance to navigate through the process for the API you are implementing. It is imperative that developers read this manual first, as it provides necessary information and procedures prior to use.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" size="12pt" style="margin-top: 0in; margin-right: 0in; margin-bottom: 6pt; margin-left: 0in;  "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" size="12pt" style="margin-top: 0in; margin-right: 0in; margin-bottom: 6pt; margin-left: 0in;  "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;There is a Web Tool Kit User’s Guide for each API available at &lt;/span&gt;&lt;a href="http://www.usps.com/webtools/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.usps.com/webtools/&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. These user guides provide information of the XML transactions to the USPS Shipping API server.&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-7649842148203822322?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/jAFvS4gyiVI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/7649842148203822322/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/08/united-states-postal-service-web-tool.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/7649842148203822322?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/7649842148203822322?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/jAFvS4gyiVI/united-states-postal-service-web-tool.html" title="United States Postal Service web tool kit" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/08/united-states-postal-service-web-tool.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8NSXc-eip7ImA9WxNTEUg.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-8571265276388866610</id><published>2009-08-13T02:25:00.000-07:00</published><updated>2009-08-13T02:48:18.952-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-13T02:48:18.952-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="browsers" /><title>Mozilla Firefox and Microsoft Internet Explorer web browsers descended from Netscape Navigator?</title><content type="html">&lt;div&gt;I came to know through wikipedia that both &lt;a href="http://en.wikipedia.org/wiki/Mozilla_Firefox"&gt;Mozilla Firefox&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Internet_Explorer"&gt;Microsoft Internet Explorer&lt;/a&gt; web browsers descended from Netscape Navigator? It was interesting to me and I thought I would blog about it.&lt;/div&gt;&lt;div&gt;And now, where did Netscape Navigator descended from?!!! Mosiac. If all browsers are from something else then which was the original one? Opera?&lt;/div&gt;&lt;div&gt;The most widely used browser according to me is Firefox and a closer one to it is Chrome. Microsoft Chairman Bill Gates has used Firefox, has commented &lt;a href="http://news.bbc.co.uk/2/hi/business/4508897.stm"&gt;here&lt;/a&gt; that "so much software gets downloaded all the time, but do people actually use it?" I am sure the rest of the world will not agree his views.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-8571265276388866610?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/1VW1b1LnIt0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/8571265276388866610/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/08/mozilla-firefox-and-microsoft-internet.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/8571265276388866610?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/8571265276388866610?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/1VW1b1LnIt0/mozilla-firefox-and-microsoft-internet.html" title="Mozilla Firefox and Microsoft Internet Explorer web browsers descended from Netscape Navigator?" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/08/mozilla-firefox-and-microsoft-internet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QNQXoyeSp7ImA9WxJaGEU.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-378089129022091258</id><published>2009-08-09T23:05:00.000-07:00</published><updated>2009-08-09T23:23:10.491-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-09T23:23:10.491-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="framework" /><category scheme="http://www.blogger.com/atom/ns#" term="j2ee" /><title>Debate on best framework for developing JEE applications</title><content type="html">Frameworks, Frameworks everywhere. Listing frameworks for developing JEE applications:&lt;div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Echo&lt;/li&gt;&lt;li&gt;Struts&lt;/li&gt;&lt;li&gt;RIFE&lt;/li&gt;&lt;li&gt;JPublish&lt;/li&gt;&lt;li&gt;Verge&lt;/li&gt;&lt;li&gt;Action Framework&lt;/li&gt;&lt;li&gt;Expresso&lt;/li&gt;&lt;li&gt;OpenEmcee&lt;/li&gt;&lt;li&gt;JWAA&lt;/li&gt;&lt;li&gt;Smile&lt;/li&gt;&lt;li&gt;Jeenius&lt;/li&gt;&lt;li&gt;Dovetail&lt;/li&gt;&lt;li&gt;Japple&lt;/li&gt;&lt;li&gt;Nacho&lt;/li&gt;&lt;li&gt;Click&lt;/li&gt;&lt;li&gt;Cocoon&lt;/li&gt;&lt;li&gt;SOFIA&lt;/li&gt;&lt;li&gt;Spring MVC&lt;/li&gt;&lt;li&gt;JATO&lt;/li&gt;&lt;li&gt;Niggle&lt;/li&gt;&lt;li&gt;Shocks&lt;/li&gt;&lt;li&gt;Bento&lt;/li&gt;&lt;li&gt;Turbine&lt;/li&gt;&lt;li&gt;Jaffa&lt;/li&gt;&lt;li&gt;MyFaces&lt;/li&gt;&lt;li&gt;JWarp&lt;/li&gt;&lt;li&gt;Cameleon&lt;/li&gt;&lt;li&gt;Helma&lt;/li&gt;&lt;li&gt;Cassandra&lt;/li&gt;&lt;li&gt;GWT&lt;/li&gt;&lt;li&gt;Millstone&lt;/li&gt;&lt;li&gt;Tapestry&lt;/li&gt;&lt;li&gt;Canyamo&lt;/li&gt;&lt;li&gt;Folium&lt;/li&gt;&lt;li&gt;Bishop&lt;/li&gt;&lt;li&gt;TeaServlet&lt;/li&gt;&lt;li&gt;jStatemachine&lt;/li&gt;&lt;li&gt;Scope&lt;/li&gt;&lt;li&gt;Jacquard&lt;/li&gt;&lt;li&gt;Chiba&lt;/li&gt;&lt;li&gt;Genie&lt;/li&gt;&lt;li&gt;JFormular&lt;/li&gt;&lt;li&gt;Dinamica&lt;/li&gt;&lt;li&gt;Baritus&lt;/li&gt;&lt;li&gt;OXF&lt;/li&gt;&lt;li&gt;WebWork&lt;/li&gt;&lt;li&gt;Maverick&lt;/li&gt;&lt;li&gt;Jucas&lt;/li&gt;&lt;li&gt;Barracuda&lt;/li&gt;&lt;li&gt;wingS&lt;/li&gt;&lt;li&gt;jZonic&lt;/li&gt;&lt;li&gt;Warfare&lt;/li&gt;&lt;li&gt;Macaw&lt;/li&gt;&lt;li&gt;JBanana&lt;/li&gt;&lt;li&gt;Melati&lt;/li&gt;&lt;li&gt;Xoplon&lt;/li&gt;&lt;li&gt;WebOnSwing&lt;/li&gt;&lt;li&gt;Stripes&lt;/li&gt;&lt;li&gt;JSF&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;May be more...&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0); "&gt;Introducing Wicket&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;JSP is by far the worst offender, allowing the embedding of Java code directly in web pages, but to some degree almost all of the frameworks from the list (except Tapestry) above introduce some kind of special syntax to your HTML code.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102); "&gt;Special syntax is highly undesirable because it changes the nature of HTML from the kind of pure-and-simple HTML markup that web designers are familiar with, to some kind of special HTML. This special HTML can be more difficult to preview, edit and understand.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102); "&gt;&lt;a href="http://wicket.apache.org/index.html"&gt;&lt;span class="Apple-style-span"  style="color:#3333FF;"&gt;Wicket&lt;/span&gt;&lt;/a&gt; does not introduce any special syntax to HTML. Instead, it extends HTML in a standards-compliant way via a Wicket namespace that is fully compliant with the XHTML standard. This means that you can use Macromedia Dreamweaver, Microsoft Front Page, Word, Adobe Go Live, or any other existing HTML editor to work on your web pages and Wicket components.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;A comment on struts&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;Struts is great for small to medium size application. When the application gets big, especially when presentation logic gets complicated, it is really a big hassle to maintain the a big xml config file. Also a problem to maintain a big properties file for message used all over the application.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;This&lt;/span&gt; &lt;a href="http://www.theserverside.com/discussions/thread.tss?thread_id=13318"&gt;URL&lt;/a&gt; &lt;span class="Apple-style-span"  style="color:#666666;"&gt;discusses on struts and introduces shine.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102); "&gt;Too much frameworks, my take will be do not ignore any. Though we may not able to master many.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0); "&gt;Struts vs JSF&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;A good article on Struts vs JSF.&lt;/span&gt;  &lt;a href="http://www.simplica.com/strutsvsjsf.htm"&gt;http://www.simplica.com/strutsvsjsf.htm&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0); "&gt;Choosing a java web framework&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;A comparison presentation given in 2008 javaone conference.&lt;/span&gt;  &lt;a href="http://developers.sun.com/learning/javaoneonline/2008/pdf/TS-6457.pdf"&gt;http://developers.sun.com/learning/javaoneonline/2008/pdf/TS-6457.pdf&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;This&lt;/span&gt; &lt;a href="http://manojmaniraj.blogspot.com/2009/07/choosing-java-web-framework.html"&gt;blog&lt;/a&gt; &lt;span class="Apple-style-span"  style="color:#666666;"&gt;by Manoj maniraj has few more important points to be considered while picking your framework.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102); "&gt;Just put in your views on the best framework.&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-378089129022091258?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/mGXkEzqCEWg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/378089129022091258/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/08/debate-on-best-framework-for-developing.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/378089129022091258?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/378089129022091258?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/mGXkEzqCEWg/debate-on-best-framework-for-developing.html" title="Debate on best framework for developing JEE applications" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/08/debate-on-best-framework-for-developing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYDRn4yeyp7ImA9WxJaF08.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-994607464425376675</id><published>2009-08-08T01:52:00.000-07:00</published><updated>2009-08-08T02:02:57.093-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-08T02:02:57.093-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="telnet" /><category scheme="http://www.blogger.com/atom/ns#" term="geocode java API" /><title>Java based Telnet daemon</title><content type="html">&lt;a href="http://telnetd.sourceforge.net/"&gt;Telnetd&lt;/a&gt; &lt;span class="Apple-style-span"   style="  ;font-family:Verdana, Helvetica, Arial, sans-serif;font-size:small;"&gt;is an Open Source effort to implement a Java telnet daemon that is compact and generic and thus easily embeddable into other applications.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana, Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana, Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"   style="  ;font-family:Georgia, serif;font-size:16px;"&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana, Helvetica, Arial, sans-serif;font-size:small;"&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;Main Features are&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"   style="  ;font-family:Verdana, Helvetica, Arial, sans-serif;font-size:small;"&gt;:&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana, Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-size:small;"&gt;&lt;ul style="margin-top: 0.67em; margin-bottom: 0.67em; "&gt;&lt;li&gt;Telnet protocol implementation (following specifications, support for NVT, ECHO, TTYPE, NAWS, LINEMODE,NEWENV)&lt;/li&gt;&lt;li&gt;Terminal I/O with support for various terminal types&lt;/li&gt;&lt;li&gt;Simple UI toolkit as OO layer on top of the basic terminal I/O (work progress)&lt;/li&gt;&lt;li&gt;Connection management (host based access and handling of idle connections)&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana, Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Main focus is a design that is flexible and powerful, yet at the same time stable and with a small runtime footprint. Threads required are two system threads per listener, as well as one per connection.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Helvetica, Arial, sans-serif; color: rgb(255, 102, 0); "&gt;How To&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana, Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 0);  font-size:small;"&gt;For starting up the telnetd and the required number of listeners, you have two choices:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana, Helvetica, Arial, sans-serif;color:#FF6600;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 0);  font-size:small;"&gt;&lt;ol style="margin-top: 0.67em; margin-bottom: 0.67em; "&gt;&lt;li&gt;using the existing main() in the TelnetD class&lt;/li&gt;&lt;li&gt;instantiating and activating the daemon from within your application.&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Helvetica, Arial, sans-serif; color: rgb(255, 102, 0); "&gt;Bootstrapping from within your application&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana, Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 0);  font-size:small;"&gt;It will be required to take the following steps:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana, Helvetica, Arial, sans-serif;color:#FF6600;"&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 0);  font-size:small;"&gt;&lt;ol style="margin-top: 0.67em; margin-bottom: 0.67em; "&gt;&lt;li&gt;Assemble/prepare the properties that resemble your desired configuration.&lt;/li&gt;&lt;li&gt;Create a &lt;em&gt;TelnetD&lt;/em&gt; instance using one of the given factory methods in the &lt;em&gt;TelnetD&lt;/em&gt; class (see &lt;a href="http://telnetd.sourceforge.net/api/"&gt;API docs&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Start the daemon calling &lt;em&gt;start()&lt;/em&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin-top: 0.67em; margin-bottom: 0.67em; margin-right: 7px; margin-left: 7px; "&gt;An example is given below, &lt;em&gt;props&lt;/em&gt; represents a single &lt;em&gt;Properties&lt;/em&gt; instance containing all properties for your desired configuration:&lt;/p&gt;&lt;pre class="code"  style=" border-top-color: rgb(0, 51, 102); border-right-color: rgb(0, 51, 102); border-bottom-color: rgb(0, 51, 102); border-left-color: rgb(0, 51, 102); font-family:'Andale Mono', Courier, monospace;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;//1. create singleton instance&lt;/span&gt;&lt;/pre&gt;&lt;pre class="code"  style=" border-top-color: rgb(0, 51, 102); border-right-color: rgb(0, 51, 102); border-bottom-color: rgb(0, 51, 102); border-left-color: rgb(0, 51, 102); font-family:'Andale Mono', Courier, monospace;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;TelnetD daemon = TelnetD.createTelnetD(props);&lt;/span&gt;&lt;/pre&gt;&lt;pre class="code"  style=" border-top-color: rgb(0, 51, 102); border-right-color: rgb(0, 51, 102); border-bottom-color: rgb(0, 51, 102); border-left-color: rgb(0, 51, 102); font-family:'Andale Mono', Courier, monospace;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;//2.start serving&lt;/span&gt;&lt;/pre&gt;&lt;pre class="code"  style=" border-top-color: rgb(0, 51, 102); border-right-color: rgb(0, 51, 102); border-bottom-color: rgb(0, 51, 102); border-left-color: rgb(0, 51, 102); font-family:'Andale Mono', Courier, monospace;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;daemon.start(); &lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-994607464425376675?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/1rvOyJ4SgW4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/994607464425376675/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/08/java-based-telnet-daemon.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/994607464425376675?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/994607464425376675?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/1rvOyJ4SgW4/java-based-telnet-daemon.html" title="Java based Telnet daemon" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/08/java-based-telnet-daemon.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcHQHs6cCp7ImA9WxJaEEk.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-678423995598189555</id><published>2009-07-31T05:00:00.000-07:00</published><updated>2009-07-31T05:07:11.518-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-31T05:07:11.518-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java API" /><title>Javasimon - monitoring API in java</title><content type="html">&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; "&gt;&lt;table width="100%" border="0" cellspacing="0" cellpadding="0" style="border-collapse: separate; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="vt" id="wikimaincol" width="100%" style="vertical-align: top; "&gt;&lt;h1 style="font-size: x-large; margin-top: 0px; "&gt;&lt;a name="Introduction"&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;Introduction&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;a name="Introduction"&gt;&lt;p style="max-width: 65em; "&gt;Application performance measurement is pretty old discipline and we are sure that most developers already tried to measure performance in some way. Maybe you have tried it because some “obvious” optimization went wrong, maybe because your application was really slow – and maybe because you just wanted to track the performance for whatever reason.&lt;/p&gt;&lt;/a&gt;&lt;p style="max-width: 65em; "&gt;&lt;a href="http://code.google.com/p/javasimon/"&gt;Java Simon API&lt;/a&gt;&lt;a name="Introduction"&gt; is developed to help you to track your application – to measure parts you are interested in and to process these observations somehow. To achieve that the code must be “infected” by various monitors on various places. It's not the goal to put monitors everywhere, it's up to you – the developer – to decide what you want to measure. Aside from your needs there might be additional business needs you want to answer with such a monitoring as well. (You may find useful to check Java run-time monitoring three-part article to see where Java Simon fits in:&lt;/a&gt;&lt;a href="http://www.ibm.com/developerworks/library/j-rtm1/index.html" rel="nofollow" style="color: rgb(0, 0, 204); "&gt;http://www.ibm.com/developerworks/library/j-rtm1/index.html&lt;/a&gt;)&lt;/p&gt;&lt;h2 style="font-size: large; "&gt;&lt;a name="Profiling_vs._Monitoring"&gt;&lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;Profiling vs. Monitoring&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;a name="Profiling_vs._Monitoring"&gt;&lt;p style="max-width: 65em; "&gt;It is important not to mistake this task with profiling that differs in a few important aspects – even if it is done via explicit monitors in the code and so it might seem to be the same:&lt;/p&gt;&lt;ul style="max-width: 65em; padding-left: 40px; "&gt;&lt;li&gt;profiling solves primarily performance problems, trying to localize the cause of the slowness;&lt;/li&gt;&lt;li&gt;profiling is mostly development-time tool, it is used mostly when the problem occurs and its results are most important for developers;&lt;/li&gt;&lt;li&gt;profiling has often dramatic impact on the performance and is rarely used in production.&lt;/li&gt;&lt;/ul&gt;&lt;p style="max-width: 65em; "&gt;While typical use case for Java Simon is:&lt;/p&gt;&lt;ul style="max-width: 65em; padding-left: 40px; "&gt;&lt;li&gt;you know what you intend to measure and you place monitors exactly where you want;&lt;/li&gt;&lt;li&gt;you probably plan to track measured metrics for some time and process them later – to see them from the perspective, review trends, etc.;&lt;/li&gt;&lt;li&gt;results might be important for developers as well as for administrators or business staff.&lt;/li&gt;&lt;/ul&gt;&lt;p style="max-width: 65em; "&gt;Of course both worlds intersect in many areas and Simon API has also some functions that are close to profiling. Still there is the difference that the application with “Simon profiling” (for instance usage of the Simon JDBC proxy driver) can run in the production unless the performance is critical. This way you can track things that are hard to track during typical development-time profiling. For instance – you can be hunting some nasty resource leak that will likely not occur during short-term test.&lt;/p&gt;&lt;p style="max-width: 65em; "&gt;Monitoring with Simon API is not performance tuning in the first place – it is &lt;i&gt;monitoring&lt;/i&gt;. That does not mean you cannot use the results to tune the performance. Simons allow you to watch your application and it is up to you how you intend to use those results.&lt;/p&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-678423995598189555?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/cE7wOS8oTi8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/678423995598189555/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/07/javasimon-monitoring-api-in-java.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/678423995598189555?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/678423995598189555?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/cE7wOS8oTi8/javasimon-monitoring-api-in-java.html" title="Javasimon - monitoring API in java" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/07/javasimon-monitoring-api-in-java.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EDQXwzfSp7ImA9WxJbGEg.&quot;"><id>tag:blogger.com,1999:blog-454047753577434712.post-6742745753580289043</id><published>2009-07-29T02:27:00.001-07:00</published><updated>2009-07-29T02:27:50.285-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-29T02:27:50.285-07:00</app:edited><title>Saving big on your airway ticket prices</title><content type="html">&lt;p&gt;Cheap airway flights are not that hard to find online. Visiting another country via plane might be very stirring but at times the increment airfare tickets may be more expected. Consequently, without the quality sacrifice of facility compact, airways are a perfect way to save on your tickets. There are lots of airways proffering flight tickets to major destinations at intensely peculiar deals, reduced prices and particular packages. Usually last minute airway tickets are costly, so it returns to order your ticket well beforehand; this is when cheap flights are a best solution. Looking for inexpensive airway flight tickets may frequently mean the distinction amongst having a sumptuous vacation and a budget vacation with money retrenchment. Sometimes a round-trip ticket might save finances unlike buying a ticket for single airfare. Travelers have to examine all of the alternatives accessible before obtaining their tickets for low price. Travelers may delight a trip around the world and out of every three travelers two delight the highest possible travel experience with the recent examination assistance. Nowadays travelers and travel agencies are both searching for the tickets with the market's cheapest prices.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;General suggestion of reduction flights is that all airways wish to market seats at the maximum price probable but they dislike flying vacant seats. Airways announce authoritative IATA airfares frequently more than a further year but the increment &lt;a href="http://www.planeticketsguide.com/"&gt;plane tickets&lt;/a&gt; are so expensive that only few customers practically pay them. Commonly the business travelers, who are completely compensated by their corporations and those with a last moment pressing travel necessity, conduce to purchase such expensive airway tickets. With the IATA airfares only few plane seats are occupied, so airways start many reduction proffers and &lt;a href="http://www.planeticketsguide.com/saving-big.htm"&gt;cheap plane tickets&lt;/a&gt;. Airways engage professionals that are trying to compute market situations on such things like the time to proffer seats for a specific value. As an outcome if you try to book a plane ticket with cheaper price airway might show "not available", but when the airway begins to offer discounts, customers might purchase cheap plane tickets for the identical flights. Cheap tickets could be offered depending on bookings.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Purchasing airplane tickets online is frequently cheaper than going to your usual travel agency or calling the airway. Prior to buying the ticket you should check out for price that should not involve supplementary fees like airport taxes, booking, or any other travel fees, separately from that disadvantage, obtaining airway tickets online deal is still cheaper in general. More advantageous deals are accessible online than at airways or agencies. In accordance to review there is no confine to the amount of astounding cheap plane tickets and vacation deals obtainable on the Internet. As soon as the airways permanently open seats and try to market obtainable tickets for inexpensive airfare, at the last moment, the Internet is updated with fresh and cheap reduction offers. Travelers must expend few minutes everyday on travel deals forthcoming online. Be wary when making your choice for online travel conditions. Ask for whether your ticket might be nontransferable, nonrefundable, dates supple or whether it is modifiable. Answers to these inquiries can make your retrieve much simpler for the correct airfare offers.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/454047753577434712-6742745753580289043?l=ananthchellathurai.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnanthChellathuraisWalkOnSoftware/~4/3dwkiX6Xe_Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ananthchellathurai.blogspot.com/feeds/6742745753580289043/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://ananthchellathurai.blogspot.com/2009/07/saving-big-on-your-airway-ticket-prices.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/6742745753580289043?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/454047753577434712/posts/default/6742745753580289043?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnanthChellathuraisWalkOnSoftware/~3/3dwkiX6Xe_Y/saving-big-on-your-airway-ticket-prices.html" title="Saving big on your airway ticket prices" /><author><name>Ananth Chellathurai</name><uri>http://www.blogger.com/profile/10387223207827170167</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/_b3XXe8NcHck/Sjd7Yaq_rFI/AAAAAAAAAkw/klGBMj0XWJ0/S220/ananth.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ananthchellathurai.blogspot.com/2009/07/saving-big-on-your-airway-ticket-prices.html</feedburner:origLink></entry></feed>

