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

<channel>
	<title>Alessandro De Maria</title>
	<atom:link href="http://alessandrodemaria.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://alessandrodemaria.wordpress.com</link>
	<description>IT Architect</description>
	<lastBuildDate>Fri, 02 Dec 2011 08:33:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='alessandrodemaria.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Alessandro De Maria</title>
		<link>http://alessandrodemaria.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://alessandrodemaria.wordpress.com/osd.xml" title="Alessandro De Maria" />
	<atom:link rel='hub' href='http://alessandrodemaria.wordpress.com/?pushpress=hub'/>
		<item>
		<title>ANDROID!!!</title>
		<link>http://alessandrodemaria.wordpress.com/2010/06/28/android/</link>
		<comments>http://alessandrodemaria.wordpress.com/2010/06/28/android/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 16:08:28 +0000</pubDate>
		<dc:creator>alledm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://alessandrodemaria.wordpress.com/?p=39</guid>
		<description><![CDATA[Hell yeah!!! I have decided to work on a super secret (for you) Android project. Time to put some fun in the Java learning process!!! Filed under: Uncategorized<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alessandrodemaria.wordpress.com&amp;blog=4135905&amp;post=39&amp;subd=alessandrodemaria&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hell yeah!!!</p>
<p>I have decided to work on a super secret (for you) Android project.<br />
Time to put some fun in the Java learning process!!!</p>
<p><a href="http://alessandrodemaria.files.wordpress.com/2010/06/android.png"><img class="alignnone size-medium wp-image-40" title="Android" src="http://alessandrodemaria.files.wordpress.com/2010/06/android.png?w=300&#038;h=200" alt="" width="300" height="200" /></a></p>
<br />Filed under: <a href='http://alessandrodemaria.wordpress.com/category/uncategorized/'>Uncategorized</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alessandrodemaria.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alessandrodemaria.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alessandrodemaria.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alessandrodemaria.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alessandrodemaria.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alessandrodemaria.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alessandrodemaria.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alessandrodemaria.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alessandrodemaria.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alessandrodemaria.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alessandrodemaria.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alessandrodemaria.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alessandrodemaria.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alessandrodemaria.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alessandrodemaria.wordpress.com&amp;blog=4135905&amp;post=39&amp;subd=alessandrodemaria&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alessandrodemaria.wordpress.com/2010/06/28/android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/72b993fc7dff4e4ea272c488262693b5?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Alle</media:title>
		</media:content>

		<media:content url="http://alessandrodemaria.files.wordpress.com/2010/06/android.png?w=300" medium="image">
			<media:title type="html">Android</media:title>
		</media:content>
	</item>
		<item>
		<title>Blogging</title>
		<link>http://alessandrodemaria.wordpress.com/2010/06/13/blogging/</link>
		<comments>http://alessandrodemaria.wordpress.com/2010/06/13/blogging/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 06:45:28 +0000</pubDate>
		<dc:creator>alledm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://alessandrodemaria.wordpress.com/?p=34</guid>
		<description><![CDATA[Time has passed since my last post&#8230; no I am not the blogger type!!! Need to force myself to make more regular updates&#8230; Anyway.. since my last post many things have changed in my life, among which: New job @ FTSE UK New toys&#8230; Ipad and HTC Desire New obsession&#8230; Improving my programming skills! New [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alessandrodemaria.wordpress.com&amp;blog=4135905&amp;post=34&amp;subd=alessandrodemaria&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Time has passed since my last post&#8230; no I am not the blogger type!!!</p>
<p>Need to force myself to make more regular updates&#8230;</p>
<p>Anyway.. since my last post many things have changed in my life, among which:</p>
<ul>
<li>New job @ FTSE UK</li>
<li>New toys&#8230; Ipad and HTC Desire</li>
<li>New obsession&#8230; Improving my programming skills!</li>
<li>New house (to call my own)</li>
</ul>
<br />Filed under: <a href='http://alessandrodemaria.wordpress.com/category/uncategorized/'>Uncategorized</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alessandrodemaria.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alessandrodemaria.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alessandrodemaria.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alessandrodemaria.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alessandrodemaria.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alessandrodemaria.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alessandrodemaria.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alessandrodemaria.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alessandrodemaria.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alessandrodemaria.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alessandrodemaria.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alessandrodemaria.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alessandrodemaria.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alessandrodemaria.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alessandrodemaria.wordpress.com&amp;blog=4135905&amp;post=34&amp;subd=alessandrodemaria&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alessandrodemaria.wordpress.com/2010/06/13/blogging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/72b993fc7dff4e4ea272c488262693b5?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Alle</media:title>
		</media:content>
	</item>
		<item>
		<title>Scalability of Web Servers with AJAX and GWT</title>
		<link>http://alessandrodemaria.wordpress.com/2008/11/28/12/</link>
		<comments>http://alessandrodemaria.wordpress.com/2008/11/28/12/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 07:11:13 +0000</pubDate>
		<dc:creator>alledm</dc:creator>
				<category><![CDATA[Architectures]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Glassfish]]></category>
		<category><![CDATA[Google Web Toolkit]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[Load Balancer]]></category>
		<category><![CDATA[Scalability]]></category>

		<guid isPermaLink="false">http://alessandrodemaria.wordpress.com/?p=12</guid>
		<description><![CDATA[Abstract The community of web developers has warmly welcomed AJAX-like technologies but has so far treated them as an “eye-candy”, a magic recipe to make web applications look pretty. The author believes that AJAX, and especially Google Web Toolkit, can bring benefits to the back-end of the web infrastructure as much as to the front-end. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alessandrodemaria.wordpress.com&amp;blog=4135905&amp;post=12&amp;subd=alessandrodemaria&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Abstract</h2>
<address> The community of web developers has warmly welcomed AJAX-like technologies but has so far treated them as an “eye-candy”, a magic recipe to make web applications look pretty. The author believes that AJAX, and especially Google Web Toolkit, can bring benefits to the back-end of the web infrastructure as much as to the front-end.<br />
Keeping the session-state on the client is the secret to achieve higher scalability by decoupling Clients and Servers and providing instantaneous fault tolerance at no extra cost.</address>
<h2>Introduction</h2>
<p>The growth that The Internet as has in the last years has changed the expectation in terms of number of users that a web infrastructures is required to serve. A web server infrastructure might nowadays need to be able to cope with millions of users.<br />
Whenever it is possible to foresee such a high demand of connections, it is important to make sure that the system we work with is able to expand in order to easily accommodate the increased load. Such ability to expand is called Scalability.</p>
<p>The purpose of this article is to show different ways to design a scalable system, and explore the opportunity given by the AJAX technology to facilitate Scalability by removing the need for stateful servers.</p>
<h2><span id="more-12"></span>Scalability</h2>
<h3>The need for scalability</h3>
<p>It is not always easy to understand how many users will be accessing a web resource.<br />
Furthermore, it is not always possible to have a precise idea of when users will decide to access such resources. Special events, advertising or news sometimes tend to create a burst of connections that will have no mercy for architectures that are not prepared to this kinds of traffic patterns, creating the famous (or infamous) Slashdot effect.<br />
Other factors, like SSL Cryptography, might also reduce the capacity of a Server even on a low number of users.<br />
The result would be a web site with a reduced availability, which will lead to problems like losing customers, loss of profit and bad reputation.</p>
<h3>Approaches to Scalability</h3>
<p>Scalability can be approached in 2 different ways. A system can scale up (Vertical Scalability) or scale out (Horizontal scalability).</p>
<ul>
<li> <strong>Vertical scalability</strong> is obtained by increasing the capacity of the Server (processor, memory, storage). It increases manageability but decreases availability and reliability, as the system is still relying on one server.</li>
</ul>
<ul>
<li> <strong>Horizontal scalability</strong> is known to decrease manageability by increasing the  complexity of the system, as it is achieved by adding servers to the infrastructure, and having the global load shared between the machines usually by the means of a Load Balancer.</li>
</ul>
<p>This article is focused on showing the limitation and complexity of scale out architectures, and how GWT and AJAX can simplify the scenario.</p>
<h2>Problem: Servers are stateful</h2>
<p>The foundation of the web is a stateless protocol named HTTP. Because of its stateless nature, a web server is not naturally able to understand whether two or more incoming requests are related to the same user or not. This creates a huge number of problems when a web application needs to remember a user in order to perform a task (i.e. a shopping chart application).</p>
<p>Traditionally, to solve this problem web servers implement ways to store a “session state” in order to offer to a user the same environment it had in its previous request (i.e. the shopping chart remembers the product added by the user).<br />
In this scenario, session states for each user are maintained on each server, and the load balancer always needs to route requests coming from  the same user to the same server (called “session affinity”).</p>
<p>This means that although the load balancer could send each request to a different server, it actually needs to send the same user to the same server or the whole web application will not work.<br />
In this scenario, scalability suffers from a reduced reliability and availability.</p>
<p>In fact, if one of the servers dies, the same faith will be shared by all the user sessions that were stored on the server, preventing the system from being fault tolerant even if there are more active servers available.</p>
<p>Clustering the web servers or using databases for session persistency are both method used to increase the availability of the solution, but with the cost of a more complex infrastructure .</p>
<p>In fact, using a DB to store our sessions is slower to access and makes the Database a single point of failure. Clustering the DB to solve this problem would increase the complexity to the solution.</p>
<p>On the other hand, creating a web cluster forces us to use a proprietary solution that supports clustering, and limits us to have the same web server on each machine. Also, implementation of clustering have a number of limitations, especially concerning the number of nodes supported.</p>
<h2>Solution: Stateful Clients, Stateless Servers</h2>
<p>Although the traditional approach described above considers the browser a “dumb” terminal, over the years browsers have become more and more powerful.<br />
Additions like DOM (1998), Javascript (1995) and XML technologies pave the base for AJAX (Asynchronous Javascript And XML), which transforms the web browser into something more than a simple terminal.</p>
<p>With AJAX, technologies like Javascript, CSS and DOM are used to build a Single Page Application which, which presents a number of benefits over traditional HTML Multi-page Web Applications.</p>
<p>Such application holds the state and communicates with the server just when data needs to be fetched or sent back to the system.</p>
<h4>From a Scalability point of view, with Ajax based applications:</h4>
<ul>
<li>Less data is exchanged between the server and the client, improving responsiveness, bandwidth utilization and server load;</li>
</ul>
<ul>
<li> Session State can be kept on the client, effectively decoupling client-server and removing session affinity, with benefit on scalability.</li>
</ul>
<ul>
<li> Some Business logic is pushed to the client (i.e. page flow), removing this task to the server.</li>
</ul>
<p>As for the cons, Ajax applications have built the bad reputation of being not maintainable, lacking of enterprise grade tools and suffering from issue due to different implementations of DOM and Javascript on the different browsers, leaving the Developer to keep track of browser glitches.</p>
<p>Google Web Toolkit (GWT) Framework attempts to solve many of these problems by allowing the developer to code the application in Java, and as such relying on a wider base of tools and support. Browsers differences are also mostly hidden by the Java to JavaScript compiler, which allows the Developer to concentrate on the actual code.</p>
<h2>Simplified Architecture</h2>
<p>Pushing the state to the client, and making the servers “stateless” greatly simplifies the architecture  of a load balanced web server farm.</p>
<p>Under this scenario, because the session state is now kept on the client, the load balancer is free to send the requests to any server.</p>
<p>The most direct consequence is that fail-over is almost immediate.</p>
<h2>Limitations</h2>
<p>Although keeping the state on the client clearly shows the benefits it can bring to the whole infrastructure, it is important to clearly identify limitations and problems.</p>
<p>While the application is able to keep the state while running, it is important to remember that such state is lost whenever the user hits the reload button, creating a huge number of problems regarding session persistency and usability of the application.</p>
<p>Although, like in legacy web application, it is still possible to use cookies as a way to recover from a reload, it is important to consider that:</p>
<ul>
<li> Cookies were conceived to be small and simple, and some browsers allow for a small number of data to be stored.</li>
</ul>
<ul>
<li> Storing authentication information and other sensitive data on cookies is seen as a security risk.</li>
</ul>
<h2 class="western"><strong><span style="font-family:Arial,sans-serif;"><span style="font-style:normal;"><strong>Conclusions</strong></span></span></strong></h2>
<p style="margin-bottom:0;line-height:150%;">
<p style="margin-bottom:0;line-height:150%;"><strong><span style="font-family:Aahs;"><span style="font-style:normal;"><span style="font-weight:normal;">AJAX (and frameworks like GWT) have changed the way we used to think and develop web pages and web applications.</span></span></span></strong></p>
<p style="margin-bottom:0;line-height:150%;"><strong><span style="font-family:Aahs;"><span style="font-style:normal;"><span style="font-weight:normal;">The same seems to be happening to the way we think and design the web infrastructure that will deliver the solution.</span></span></span></strong></p>
<p style="margin-bottom:0;line-height:150%;"><strong><span style="font-family:Aahs;"><span style="font-style:normal;"><span style="font-weight:normal;">Making a completely stateless web server infrastructure requires the client to be able to offer the web application a better environment, especially in terms of data persistency, which is currently not possible by using cookies.</span></span></span></strong></p>
<p style="margin-bottom:0;line-height:150%;">
<p style="margin-bottom:0;line-height:150%;"><strong><span style="font-family:Aahs;"><span style="font-style:normal;"><span style="font-weight:normal;">Because of these huge limitations, the author believes that, until better client side persistency technologies will be available (now available through plug-ins like Google Gears), keeping the state completely on the client is non feasible for complex web applications.</span></span></span></strong></p>
<p style="margin-bottom:0;line-height:150%;">
<br />Posted in Architectures Tagged: AJAX, Glassfish, Google Web Toolkit, GWT, Load Balancer, Scalability <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alessandrodemaria.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alessandrodemaria.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alessandrodemaria.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alessandrodemaria.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alessandrodemaria.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alessandrodemaria.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alessandrodemaria.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alessandrodemaria.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alessandrodemaria.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alessandrodemaria.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alessandrodemaria.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alessandrodemaria.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alessandrodemaria.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alessandrodemaria.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alessandrodemaria.wordpress.com&amp;blog=4135905&amp;post=12&amp;subd=alessandrodemaria&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alessandrodemaria.wordpress.com/2008/11/28/12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/72b993fc7dff4e4ea272c488262693b5?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Alle</media:title>
		</media:content>
	</item>
		<item>
		<title>The right tool for the right task</title>
		<link>http://alessandrodemaria.wordpress.com/2008/07/03/the-right-tool-for-the-right-task/</link>
		<comments>http://alessandrodemaria.wordpress.com/2008/07/03/the-right-tool-for-the-right-task/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 21:11:17 +0000</pubDate>
		<dc:creator>alledm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://alessandrodemaria.wordpress.com/?p=6</guid>
		<description><![CDATA[My biggest and most recent achievement while working in my company comes from a really basic concept. Every task can be completed in a number of ways, but one tool (the right one) will make it easier! In our complex infrastructure, the biggest bottleneck was validating data within XML Files. The files, usually representing Purchase [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alessandrodemaria.wordpress.com&amp;blog=4135905&amp;post=6&amp;subd=alessandrodemaria&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My biggest and most recent achievement while working in my company comes from a really basic concept. Every task can be completed in a number of ways, but one tool (the right one) will make it easier!</p>
<p>In our complex infrastructure, the biggest bottleneck was validating data within XML Files. The files, usually representing Purchase Orders or Invoices, had to be validated against a number of simple rules.</p>
<p>The process that was taking care of it was extremely inefficient, and some files would take up to 40 seconds to be validated.</p>
<p>This article on <a title="Schematron" href="http://www.xml.com/pub/a/2003/11/12/schematron.html" target="_blank">Schematron</a> and this on <a href="http://www.xml.com/pub/a/2004/02/11/relaxtron.html">RelaxNG</a> gave me the idea, while <a title="MSV" href="https://msv.dev.java.net/" target="_blank">SUN&#8217;s MSV</a> and ZVON&#8217;s <a href="http://www.zvon.org/ZvonSW/saxonserver/Output/index.html" target="_blank">SaxonServer</a> gave me the tools.</p>
<p>Now my Java Frankenstein can munch documents at the average speed of 20ms (yes&#8230; MILLISECONDS) saving hours of processing time and integrating seamlessly in the present infrastructure.</p>
<p>Not bad, uhu?</p>
<p><a href="mailto:alessandro.demaria@gmail.com">Ask me</a> how to have the same in your system.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/alessandrodemaria.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/alessandrodemaria.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alessandrodemaria.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alessandrodemaria.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alessandrodemaria.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alessandrodemaria.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alessandrodemaria.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alessandrodemaria.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alessandrodemaria.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alessandrodemaria.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alessandrodemaria.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alessandrodemaria.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alessandrodemaria.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alessandrodemaria.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alessandrodemaria.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alessandrodemaria.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alessandrodemaria.wordpress.com&amp;blog=4135905&amp;post=6&amp;subd=alessandrodemaria&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alessandrodemaria.wordpress.com/2008/07/03/the-right-tool-for-the-right-task/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/72b993fc7dff4e4ea272c488262693b5?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Alle</media:title>
		</media:content>
	</item>
	</channel>
</rss>
