<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">

  <channel rdf:about="http://javabeans.asia/">
    <title>Java Beans dot Asia</title>
    <link>http://javabeans.asia/</link>
    <description>Just a few simple tutorials</description>
    <items>
      <rdf:Seq>
        <rdf:li resource="http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html" />
        <rdf:li resource="http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html" />
        <rdf:li resource="http://javabeans.asia/2010/02/22/1266828900000.html" />
        <rdf:li resource="http://javabeans.asia/2010/02/14/happy_chinese_new_year.html" />
        <rdf:li resource="http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html" />
        <rdf:li resource="http://javabeans.asia/2009/09/08/you_gotta_love_linux.html" />
        <rdf:li resource="http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html" />
        <rdf:li resource="http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html" />
        <rdf:li resource="http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html" />
        <rdf:li resource="http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html" />
        </rdf:Seq>
    </items>
  </channel>

  <item rdf:about="http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html">
    <title>Generate PDF with Flying Saucer and iText by adding font files</title>
    <link>http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html</link>
	 <description>
        In this post, I would like to show how to load font files and format specific sections of the document at run time, when generating PDF document using &lt;a target=&#034;_blank&#034; title=&#034;XML/XHTML/CSS 2.1 Renderer&#034; href=&#034;https://xhtmlrenderer.dev.java.net/&#034;&gt;Flying Saucer&lt;/a&gt; and &lt;a target=&#034;_blank&#034; title=&#034;iText - Free Java-PDF library&#034; href=&#034;http://www.lowagie.com/iText/&#034;&gt;iText&lt;/a&gt; libraries.&lt;br /&gt;
&lt;br /&gt;
I will create a String that has a structure of valid XHTML file. The content of String is what going to be generated as a PDF document. &lt;a href=&#034;https://xhtmlrenderer.dev.java.net/&#034; title=&#034;XML/XHTML/CSS 2.1 Renderer&#034; target=&#034;_blank&#034;&gt;Flying Saucer&lt;/a&gt; knows how to render XHTML. Before generating the PDF, I will load a font file for future formatting. Once the font file is loaded, I will retrieve the font family and will apply it as a formatting style to the selected paragraph of my future PDF document.&lt;br /&gt;
&lt;pre name=&#034;code&#034; class=&#034;java:firstline[1]&#034;&gt;import java.io.*;&lt;br /&gt;import com.lowagie.text.pdf.*;&lt;br /&gt;import org.xhtmlrenderer.pdf.*;&lt;br /&gt;&lt;br /&gt;public class TestFont {&lt;br /&gt;  public static void main(String[] args) {&lt;br /&gt;   try  {&lt;br /&gt;       ITextRenderer renderer = &lt;br /&gt;                         new ITextRenderer();&lt;br /&gt;       File fontDir = &lt;br /&gt;          new File(SOME_ABSOLUTE_PATH_TO_YOUR_FONT_DIR);&lt;br /&gt;&lt;br /&gt;       //Build valid XHTML source for parsing&lt;br /&gt;       StringBuffer buf = new StringBuffer();&lt;br /&gt;       buf.append(&amp;quot;&amp;lt;html&amp;gt;&amp;quot;);&lt;br /&gt;       buf.append(&amp;quot;&amp;lt;head&amp;gt;&amp;quot;);&lt;br /&gt;       buf.append(&amp;quot;&amp;lt;/head&amp;gt;&amp;quot;);&lt;br /&gt;       buf.append(&amp;quot;&amp;lt;body&amp;gt;&amp;quot;);&lt;br /&gt;&lt;br /&gt;       String body = &lt;br /&gt;            &amp;quot;This is formatted paragraph&amp;quot;;&lt;br /&gt;&lt;br /&gt;       //Gets TTF or OTF font file from &lt;br /&gt;       //the font directory&lt;br /&gt;       if (fontDir.isDirectory()) {&lt;br /&gt;&lt;br /&gt;         //Only add fonts with specific extensions&lt;br /&gt;         File[] files = fontDir.listFiles(&lt;br /&gt;                          new FilenameFilter() {&lt;br /&gt;             public boolean accept(File dir, &lt;br /&gt;                                   String name) {&lt;br /&gt;             String lower = name.toLowerCase();&lt;br /&gt;&lt;br /&gt;             //Load TTF or OTF files&lt;br /&gt;             return lower.endsWith(&amp;quot;.otf&amp;quot;) || &lt;br /&gt;                         lower.endsWith(&amp;quot;.ttf&amp;quot;);&lt;br /&gt;              }&lt;br /&gt;            });&lt;br /&gt;&lt;br /&gt;        if (files.length &amp;gt; 0) {&lt;br /&gt;           String fontFamilyName = &amp;quot;&amp;quot;;&lt;br /&gt;           //You should always embed TrueType fonts.&lt;br /&gt;            renderer.getFontResolver().&lt;br /&gt;               addFont(files[0].&lt;br /&gt;                  getAbsolutePath(), &lt;br /&gt;                      BaseFont.IDENTITY_H, &lt;br /&gt;                         BaseFont.EMBEDDED);&lt;br /&gt;&lt;br /&gt;          //Get font family name from the BaseFont object.&lt;br /&gt;          //All this work just to get font family name&lt;br /&gt;          BaseFont font = &lt;br /&gt;                BaseFont.createFont(files[0].&lt;br /&gt;                              getAbsolutePath(), &lt;br /&gt;                                BaseFont.IDENTITY_H , &lt;br /&gt;                                   BaseFont.NOT_EMBEDDED);&lt;br /&gt;          fontFamilyName = TrueTypeUtil.&lt;br /&gt;                                    getFamilyName(font);&lt;br /&gt;&lt;br /&gt;          if (!fontFamilyName.equals(&amp;quot;&amp;quot;)) {&lt;br /&gt;          //Wrap DIV with font family name &lt;br /&gt;          //around the content&lt;br /&gt;          body = &amp;quot;&amp;lt;div style=\&amp;quot;font-family: &amp;quot; + &lt;br /&gt;             fontFamilyName + &amp;quot;;\&amp;quot;&amp;gt;&amp;quot; + body + &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;          }&lt;br /&gt;        }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;       buf.append(&amp;quot;&amp;lt;p&amp;gt;This paragraph is unformatted&amp;lt;/p&amp;gt;&amp;quot;);&lt;br /&gt;       buf.append(&amp;quot;&amp;lt;p&amp;gt;&amp;quot; + body + &amp;quot;&amp;lt;/p&amp;gt;&amp;quot;);&lt;br /&gt;       buf.append(&amp;quot;&amp;lt;/body&amp;gt;&amp;quot;);&lt;br /&gt;       buf.append(&amp;quot;&amp;lt;/html&amp;gt;&amp;quot;);&lt;br /&gt;&lt;br /&gt;       byte[] bytes = buf.toString().getBytes(&amp;quot;UTF-8&amp;quot;);&lt;br /&gt;&lt;br /&gt;       ByteArrayInputStream bais = &lt;br /&gt;                   new ByteArrayInputStream(bytes);&lt;br /&gt;       DocumentBuilder builder = &lt;br /&gt;                  DocumentBuilderFactory.newInstance().&lt;br /&gt;                             newDocumentBuilder();&lt;br /&gt;       InputSource is = new InputSource(bais);&lt;br /&gt;       Document doc = builder.parse(is);&lt;br /&gt;&lt;br /&gt;       renderer.setDocument(doc, null);&lt;br /&gt;       renderer.layout();&lt;br /&gt;&lt;br /&gt;       String filename = &amp;quot;document.pdf&amp;quot;;&lt;br /&gt;       BufferedOutputStream bufferedOutput = &lt;br /&gt;              new BufferedOutputStream(&lt;br /&gt;                       new FileOutputStream(filename));&lt;br /&gt;&lt;br /&gt;       renderer.createPDF(bufferedOutput);&lt;br /&gt;       bufferedOutput.flush();&lt;br /&gt;       bufferedOutput.close();&lt;br /&gt;   }&lt;br /&gt;   catch (Exception e)&lt;br /&gt;   {&lt;br /&gt;       System.out.println(e.getMessage());&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;
I hope by looking at the source code, the concept of how to add fonts and retrieve font family was clear.&lt;br /&gt;
&lt;br /&gt;
Regards,&lt;br /&gt;
Alex&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;title=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;title=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;title=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;title=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;title=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;title=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;t=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;title=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;t=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;b&gt;Related Posts&lt;/b&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/04/10/export_pebble_blog_entry_to_pdf_plugin.html&#034; rel=&#034;bookmark&#034; title=&#034;Export Pebble Blog Entry to PDF Plugin&#034;&gt;Export Pebble Blog Entry to PDF Plugin&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/04/11/online_pdf_generator.html&#034; rel=&#034;bookmark&#034; title=&#034;Online PDF Generator&#034;&gt;Online PDF Generator&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/03/22/export_to_pdf_using_itext_java_pdf_library.html&#034; rel=&#034;bookmark&#034; title=&#034;Export to PDF using iText Java-PDF library&#034;&gt;Export to PDF using iText Java-PDF library&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/03/28/export_to_pdf_using_itext_and_flying_saucer.html&#034; rel=&#034;bookmark&#034; title=&#034;Export to PDF using iText and Flying Saucer&#034;&gt;Export to PDF using iText and Flying Saucer&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;</description>
	<!--
    <description>
          In this post, I would like to show how to load font files and format specific sections of the document at run time, when generating PDF document using Flying Saucer and iText libraries.  I will create a String that has a structure of valid XHTML file. The content of String is what going to be generated as a PDF ...&lt;p&gt;&lt;a href=&#034;http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;title=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;title=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;title=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;title=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;title=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;title=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;t=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;title=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2010/02/23/generate_pdf_with_flying_saucer_and_itext_by_adding_font_files.html&amp;amp;t=Generate PDF with Flying Saucer and iText by adding font files&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;</description>
      
	-->
  </item>
  <item rdf:about="http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html">
    <title>Enriching Rich Internet Applications with rule-based reasoning</title>
    <link>http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html</link>
	 <description>
        I came across a Firefox &lt;a target=&#034;_blank&#034; title=&#034;Firefox add-on web rules - Drools-like condition language&#034; href=&#034;https://addons.mozilla.org/en-US/firefox/addon/8098&#034;&gt;Add-On&lt;/a&gt; today by Matthias Tylkowski, that lets user to modify the browser view of his/her  preferred web pages. For example, user can modify the appearance of &lt;a target=&#034;_blank&#034; title=&#034;CNN News&#034; href=&#034;http://www.cnn.com&#034;&gt;cnn.com&lt;/a&gt; to suit his/her needs.&lt;br /&gt;
&lt;br /&gt;
The add-on or the web rules is a JSON-based rule language, where each rule is a JSON object. In addition, Javascript is used for method calls. The web rules use Drools-like condition language:
&lt;pre name=&#034;code&#034; class=&#034;java:firstline[1]&#034;&gt;{&amp;quot;id&amp;quot;:&amp;quot;rule101&amp;quot;,&lt;br /&gt;  &amp;quot;appliesTo&amp;quot;: [&lt;br /&gt;       &amp;quot;http://www.cnn.com&amp;quot;&lt;br /&gt;     ],&lt;br /&gt; &amp;quot;condition&amp;quot;:&lt;br /&gt;  &amp;quot;$X:Element( class == &#039;note&#039;,&lt;br /&gt;               $Y:firstChild&lt;br /&gt;             )&lt;br /&gt;             &amp;amp;&amp;amp;&lt;br /&gt;             ($Y.nodeName == &#039;ul&#039;)&amp;quot;,&lt;br /&gt; &amp;quot;actions&amp;quot;:[&lt;br /&gt;  &amp;quot;changeBackground($Y, &#039;blue&#039;)&amp;quot;&lt;br /&gt;   ]&lt;br /&gt; }&lt;/pre&gt;
For all elements of class &lt;strong&gt;&lt;em&gt;note&lt;/em&gt;&lt;/strong&gt; having as first child an &lt;strong&gt;&lt;em&gt;ul&lt;/em&gt;&lt;/strong&gt;, change the first child background color to blue.&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;br /&gt;
I think its a quite cool add-on.&lt;br /&gt;
&lt;br /&gt;
Resources:&lt;br /&gt;
&lt;em&gt;&lt;a href=&#034;http://bpt.hpi.uni-potsdam.de/pub/Public/EmilianPascalau/JSONRulesSlides.pdf&#034; target=&#034;_blank&#034;&gt;JSON Rules&lt;/a&gt;&lt;/em&gt;&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;title=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;title=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;title=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;title=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;title=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;title=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;t=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;title=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;t=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;b&gt;Related Posts&lt;/b&gt;&lt;br /&gt;&lt;i&gt;There are no related posts for this blog entry&lt;/i&gt;&lt;/p&gt;&lt;br /&gt;</description>
	<!--
    <description>
          I came across a Firefox Add-On today by Matthias Tylkowski, that lets user to modify the browser view of his/her  preferred web pages. For example, user can modify the appearance of cnn.com to suit his/her needs.  The add-on or the web rules is a JSON-based rule language, where each rule is a JSON object. In ...&lt;p&gt;&lt;a href=&#034;http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;title=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;title=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;title=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;title=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;title=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;title=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;t=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;title=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2010/02/23/enriching_rich_internet_applications_with_rule_based_reasoning.html&amp;amp;t=Enriching Rich Internet Applications with rule-based reasoning&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;</description>
      
	-->
  </item>
  <item rdf:about="http://javabeans.asia/2010/02/22/1266828900000.html">
    <title>Работать будучи студентом в Австралии</title>
    <link>http://javabeans.asia/2010/02/22/1266828900000.html</link>
	 <description>
        В последнее время участились вопросы по этой теме: А могу ли я то... а могу ли я это... а что можно... и так далее.&lt;br /&gt;
&lt;br /&gt;
Я попытаюсь описать реальность поиска работы будучи студентом в Австралии. Я сам был студентом здесь и у меня есть/было много друзей студентов, так что считаю что мое мнение довольно обьективное. В конце концов моё дело написать - ваше дело прочитать. Tакже я хотел бы чтоб некоторые студенты в Австралии здесь поделились бы похожим. &lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;Сколько  часов можно мне работать?&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
Работать можно не более 20 часов в неделю. Не важно сколько работаешь в день, главное чтоб не более 20 часов в неделю.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;
&lt;strong&gt;А что и как в плане налогов для интернациональных студентов?&lt;/strong&gt;&lt;/u&gt; &lt;br /&gt;
Интернациональные студенты как платильщеки налогов, считаются обладателями ПМЖ в целях уплаты налогов, если(!) ваш курс/обучение длится шесть (6) месяцев или дольше. То есть плотите налоги как Австралы. Поэтому когда будете заполнять форму для налогов на работе, укажите там что вы &amp;quot;Australian residents for tax purposes&amp;quot;, если ваш курс/обучение длится шесть (6) месяцев или дольше.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;... &lt;em&gt;Generally, you are an Australian resident for tax purposes if you have:&lt;br /&gt;
1. always lived in Australia&lt;br /&gt;
2. moved to Australia and live here permanently&lt;br /&gt;
3. been in Australia continuously for six months or more and for most of the time you have been&lt;br /&gt;
3.a in the one job, and&lt;br /&gt;
3.b living in the same place&lt;/em&gt; ...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
From &lt;a target=&#034;_blank&#034; href=&#034;http://www.ato.gov.au/individuals/content.asp?doc=/content/64131.htm&#034;&gt;Residency - overview (Australian Taxation Office)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;В связи с кризисом, стало ли меньше подработок?&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
Да, конечно... В какой то степени да&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;Я у себя в стране был(а) супер-пупер специалист по радио-технике/ мэнэджмэнту/ маркетингу/ коммуникациям/программированию,&lt;br /&gt;
смогу ли я устроиться по проффесии на время обучения?&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
Почти с уверенностью скажу что не сможете. Почему &amp;quot;почти&amp;quot;? Потому что вдруг вам жутко жутко жутко повезёт и вам кто-то поможет по знакомству, что бывает крайне редко. Почему всё таки не сможете? Ну давайте посмотрим на вас со стороны:&lt;br /&gt;
&lt;ol&gt;
    &lt;li&gt;ПМЖ нет (самая главная причина). Никого также не интересует что оно (ПМЖ), может быть будет у вас через пару лет&lt;/li&gt;
    &lt;li&gt;Работать можете не более 20 часов&lt;/li&gt;
    &lt;li&gt;Наверняка ваш уровень English оставляет о себе желать лучшего&lt;/li&gt;
&lt;/ol&gt;
Подумайте, ну зачем работодателю морочиться с вами? Ему нужны работники на полную ставку, а не те с которыми надо возиться пол-недели и которые скорее всего уедут домой через какое-то количество времени.&lt;br /&gt;
&lt;br /&gt;
Также не забывайте что тут уже есть конкуренция на серьёзные работы в лице местных студентов у которых English родной язык, и которых нет ограничения в часах. Всё равно даже этим студентам практически невозможно устроиться, так как они студенты... а тут ещё вы без ПМЖ, и с ограниченим на работу ... понимаете ситуацию?&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Ещё один важный фактор&lt;/u&gt;: &lt;br /&gt;
На серьёзные работы здесь рассылаются резюме через email. Эти резюме скорее всего попадут к агенство по работе нанятым компанией, или просто в отдел кадров самой компании, служащие которых и там и там, поспешат отложить/стереть/выкинуть ваше резюме интернационального студента. &lt;br /&gt;
&lt;br /&gt;
Если вы решите не указывать статусы интернационального студента и ПМЖ в резюме, это всё проясниться когда к вам перезвонять (если к вам перезвонять).&lt;br /&gt;
&lt;br /&gt;
Не подумайте что я вас отговориваю здесь - пытайтесь, дерзайте, рассылайте резюме ... а вдруг? :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;На какие работы дествительно можно расчитывать?&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
Пабы, рестораны, клубы, магазины, супермаркеты и так далее. Можно сделать taxi license и подрабатывать таксистом. Можно сделать security guard license и подрабатывать охранником(ицей) в торговых центрах. Оссобо здоровые ребята могут попасть в охрану клубов. Попробовать также всякие заводики в плане физ-работы. Работа по подсчёту пассажиров в электричках и автобусах. &lt;br /&gt;
&lt;br /&gt;
У девчонок не много опций (во всяком случае, много я не вижу): продавщица, оффициантка, горничными в гостиницах/мотелях и также любая не физ-работа. Более смелые девчонки работают как exotic dancers, но таких немного.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;А как насчёт работать на &amp;quot;наших&amp;quot;?&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
Через &amp;quot;своих&amp;quot; работу найти быстрее всего. Не буду всех чесать под одни грабли - есть хорошие люди на этом свете. Но обычно &amp;quot;свои&amp;quot; &amp;quot;своих&amp;quot; эксплуатируют: платят мало, долгие часы работы и дают понять что это было вааще одолжение, и так как у вас безвыходное положение вы должны быть только благодарны.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;Собираюсь ехать учиться на пару месяцев, могу ли в течении обучения найти работу по быстрячку?&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
Несколько месяцев уйдут только на адаптацию к стране и языку, и самому поиску работы. Не забывайте что вам надо учиться, и у вас не будет куча свободного времени искать работу (да и пока что-то &amp;quot;прострелит&amp;quot;) ... так что думаю по быстрячку не получиться, разве что если повезёт.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;Ну блин, так можно будет найти работу или нет?&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
Можно будет. Надо не лениться и обивать пороги/раздавать резюме ... Займет время (будьте готовы на несколько месяцев), но что-то где-то &amp;quot;прострелит&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;Ну хорошо, есть работа ... На что можно расчитывать в плане зарплаты, и на что этого хватит?&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
Хороший вопрос. Предположим что вам очень повезло и вы нашли работу на ВСЕ 20 часов в неделю (а ведь бывает что найдешь работу на меньше), по 20(!) баков в час (это очень классная подработка - 400 баков в неделю студентом, но заметьте: я взял один из оптимальных вариантов с хорошей зарплатой). &lt;br /&gt;
&lt;br /&gt;
После вычета налогов останется где-то 360 баков. Учёбу этим не оплатишь, но зато хватит сполна на недельный рент (shared accommodation, скажем 200 баков в неделю, это будет хороший sharing), на еду на неделю (100 баков на одного в неделю это выше крыши, готовить дома и несколько раз в неделю кушать в ресторанчиках/кафешках) и ещё осталось 60 баков на всякое. Вот так примерно, я думаю теперь сможете немного прицениться ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;А что насчёт работ по чёрному?&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
Ну, я не по этой части ... Знаю ребята работают на стройках, гипсовые стенки, рестораны, но это уже со &amp;quot;своими&amp;quot; надо дело иметь (иногда с местными тоже). Также знаю что хорошо имеют на продаже картин от двери до двери ...&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;title=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;title=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;title=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;title=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;title=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;title=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2010/02/22/1266828900000.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2010/02/22/1266828900000.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2010/02/22/1266828900000.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;t=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;title=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;t=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;b&gt;Related Posts&lt;/b&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/08/21/2.html&#034; rel=&#034;bookmark&#034; title=&#034;Правильный настрой по приезду в Австралию - Часть 2&#034;&gt;Правильный настрой по приезду в Австралию - Часть 2&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/08/21/1.html&#034; rel=&#034;bookmark&#034; title=&#034;Правильный настрой по приезду в Австралию - Часть 1&#034;&gt;Правильный настрой по приезду в Австралию - Часть 1&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/08/22/4.html&#034; rel=&#034;bookmark&#034; title=&#034;Правильный настрой по приезду в Австралию - Часть 4&#034;&gt;Правильный настрой по приезду в Австралию - Часть 4&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/08/22/3.html&#034; rel=&#034;bookmark&#034; title=&#034;Правильный настрой по приезду в Австралию - Часть 3&#034;&gt;Правильный настрой по приезду в Австралию - Часть 3&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;</description>
	<!--
    <description>
          В последнее время участились вопросы по этой теме: А могу ли я то... а могу ли я это... а что можно... и так далее.  Я попытаюсь описать реальность поиска работы будучи студентом в Австралии. Я сам был студентом здесь и у меня есть/было много друзей студентов, так что считаю что мое мнение довольно обьективное. В ...&lt;p&gt;&lt;a href=&#034;http://javabeans.asia/2010/02/22/1266828900000.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;title=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;title=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;title=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;title=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;title=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;title=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2010/02/22/1266828900000.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2010/02/22/1266828900000.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2010/02/22/1266828900000.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;t=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;title=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2010/02/22/1266828900000.html&amp;amp;t=Работать будучи студентом в Австралии&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;</description>
      
	-->
  </item>
  <item rdf:about="http://javabeans.asia/2010/02/14/happy_chinese_new_year.html">
    <title>Happy Chinese New Year</title>
    <link>http://javabeans.asia/2010/02/14/happy_chinese_new_year.html</link>
	 <description>
        I have been inactive for the past several months and haven&#039;t posted anything. There were some transitions going on lately in my company, so I have not felt like posting anything nor I was involved in any interesting projects.&lt;br /&gt;
&lt;br /&gt;
These days, I am traveling through South East Asia with my girlfriend. I have been exploring Malaysia and what this country has to offer, especially the amazing local cuisine. I think I am very lucky to have local people to take me around to all those wonderful places where Western tourists do not visit (or hardly ever visit). Few days ago we came back from Thailand, we have spent there four days. Now, as I am writing the current post, I am relaxing at my girlfriend&#039;s house, in Shah Alam, Selangor, Malaysia. &lt;br /&gt;
&lt;br /&gt;
With this post I want to start the year 2010 by wishing you all a Happy Chinese New Year. May this year will be a prosperous year to you all.&lt;br /&gt;
&lt;br /&gt;
Gong Xi Fa Cai :D&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;title=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;title=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;title=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;title=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;title=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;title=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;t=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;title=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;t=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;b&gt;Related Posts&lt;/b&gt;&lt;br /&gt;&lt;i&gt;There are no related posts for this blog entry&lt;/i&gt;&lt;/p&gt;&lt;br /&gt;</description>
	<!--
    <description>
          I have been inactive for the past several months and haven&#039;t posted anything. There were some transitions going on lately in my company, so I have not felt like posting anything nor I was involved in any interesting projects.  These days, I am traveling through South East Asia with my girlfriend. I have been ...&lt;p&gt;&lt;a href=&#034;http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;title=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;title=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;title=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;title=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;title=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;title=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;t=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;title=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2010/02/14/happy_chinese_new_year.html&amp;amp;t=Happy Chinese New Year&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;</description>
      
	-->
  </item>
  <item rdf:about="http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html">
    <title>Redefining web applications with AJAX, Servlets and JSON</title>
    <link>http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html</link>
	 <description>
        In this article I would like to show how JSON (JavaScript Object Notation) and Java servlet can be used together in a little AJAX (Asynchronous JavaScript and XML) application. &lt;br /&gt;
&lt;br /&gt;
To give brief description to those who are not closely familiar with JSON - &lt;br /&gt;
JSON is a lightweight syntax for representing data, which makes working with it much more pleasant than with XML and makes AJAX applications faster. Also, when working with JSON, there is no need for an XML parsing.&lt;br /&gt;
&lt;br /&gt;
In the following example, I am going to create a callback servlet that fetches and parses an RSS feed. Then the parsed feed data is passed to the client side in a form of JSON. The data then formatted and presented to the user. The client uses AJAX call to query the servlet.&lt;br /&gt;
&lt;br /&gt;
For this application, I used three third-party libraries:&lt;br /&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;JSON library&lt;/strong&gt; provided by &lt;a title=&#034;JSON&#034; target=&#034;_new&#034; href=&#034;http://json.org/java/&#034; onclick=&#034;javascript:pageTracker._trackPageview(&#039;/outbound/article/json.org&#039;);&#034; rel=&#034;nofollow&#034;&gt;JSON.org&lt;/a&gt; and extended by &lt;a target=&#034;_blank&#034; href=&#034;http://oss.metaparadigm.com/jsonrpc/index.html&#034;&gt;JSON-RPC-Java&lt;/a&gt; which allows to create and easily parse JSON data through Java code. This library can run in a Servlet container such as Tomcat, JBoss and other J2EE Application servers.&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#034;https://rome.dev.java.net/&#034; target=&#034;_blank&#034; title=&#034;Project ROME&#034;&gt;Project ROME&lt;/a&gt;&lt;br /&gt;
    ROME is an set of open source Java tools for parsing, generating and publishing RSS and Atom feeds.&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#034;http://jdom.org&#034; target=&#034;_blank&#034; title=&#034;JDOM XML parser&#034;&gt;JDOM XML parser&lt;/a&gt;&lt;br /&gt;
    JDOM is a Java-based &amp;quot;document object model&amp;quot; for XML files. JDOM serves the same purpose as DOM, but is easier to use&lt;/li&gt;
&lt;/ol&gt;
The libraries are included in the source code which accompanies this article. This application example is also included as a &lt;a href=&#034;http://javabeans.asia/files/src/json_servlets_ajax_war.zip&#034; title=&#034;WAR archive&#034;&gt;WAR&lt;/a&gt; archive, ready to be deployed on Tomcat.&lt;br /&gt;
&lt;br /&gt;
The following is my servlet implementation. The servlet fetches and parses feed data. The JSON library mentioned previously allows me easily to create and populate JSON object.&lt;br /&gt;
&lt;pre class=&#034;java&#034; name=&#034;code&#034;&gt;package asia.javabeans.json;&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.net.MalformedURLException;&lt;br /&gt;import java.net.URL;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;import javax.servlet.ServletConfig;&lt;br /&gt;import javax.servlet.ServletException;&lt;br /&gt;import javax.servlet.http.HttpServlet;&lt;br /&gt;import javax.servlet.http.HttpServletRequest;&lt;br /&gt;import javax.servlet.http.HttpServletResponse;&lt;br /&gt;&lt;br /&gt;import org.json.JSONArray;&lt;br /&gt;import org.json.JSONObject;&lt;br /&gt;&lt;br /&gt;import com.sun.syndication.feed.synd.SyndEntry;&lt;br /&gt;import com.sun.syndication.feed.synd.SyndFeed;&lt;br /&gt;import com.sun.syndication.fetcher.FeedFetcher;&lt;br /&gt;import com.sun.syndication.fetcher.FetcherException;&lt;br /&gt;import com.sun.syndication.fetcher.impl.FeedFetcherCache;&lt;br /&gt;import &lt;br /&gt;com.sun.syndication.fetcher.impl.HashMapFeedInfoCache;&lt;br /&gt;import com.sun.syndication.fetcher.impl.HttpURLFeedFetcher;&lt;br /&gt;import com.sun.syndication.io.FeedException;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author Alexander Zagniotov (http://javabeans.asia)&lt;br /&gt; * &lt;br /&gt; */&lt;br /&gt;public class JsonServlet extends HttpServlet {&lt;br /&gt;&lt;br /&gt;private static final long serialVersionUID = 1L;&lt;br /&gt;private static final String BLOG_URL = &lt;br /&gt;		&amp;quot;http://javabeans.asia/rss.xml&amp;quot;;&lt;br /&gt;private static final String CONTENT_TYPE = &lt;br /&gt;			&amp;quot;application/json&amp;quot;;&lt;br /&gt;private FeedFetcherCache feedInfoCache = null;&lt;br /&gt;private FeedFetcher feedFetcher = null;&lt;br /&gt;&lt;br /&gt;public void init(ServletConfig config) &lt;br /&gt;			throws ServletException {&lt;br /&gt;	super.init(config);&lt;br /&gt;&lt;br /&gt;	feedInfoCache = &lt;br /&gt;		HashMapFeedInfoCache.getInstance();&lt;br /&gt;	feedFetcher = &lt;br /&gt;		new HttpURLFeedFetcher(feedInfoCache);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void doGet(HttpServletRequest request, &lt;br /&gt;			HttpServletResponse response)&lt;br /&gt;		throws ServletException, IOException {&lt;br /&gt;&lt;br /&gt;	SyndFeed feed = this.feedFethcer(BLOG_URL);&lt;br /&gt;&lt;br /&gt;  if (feed != null) {&lt;br /&gt;	String json = this.feedToJSON(feed);&lt;br /&gt;	response.setContentType(CONTENT_TYPE);&lt;br /&gt;	response.setHeader(&amp;quot;Cache-Control&amp;quot;, &amp;quot;no-cache&amp;quot;);&lt;br /&gt;	response.getWriter().write(json);&lt;br /&gt;  } &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private SyndFeed feedFethcer(String url) {&lt;br /&gt;	SyndFeed feed = null;&lt;br /&gt;	try {&lt;br /&gt;		feed = feedFetcher.retrieveFeed(&lt;br /&gt;		new URL(BLOG_URL));&lt;br /&gt;	} catch (IllegalArgumentException e) {&lt;br /&gt;		e.printStackTrace();&lt;br /&gt;	} catch (FeedException e) {&lt;br /&gt;		e.printStackTrace();&lt;br /&gt;	} catch (FetcherException e) {&lt;br /&gt;		e.printStackTrace();&lt;br /&gt;	} catch (MalformedURLException e) {&lt;br /&gt;		e.printStackTrace();&lt;br /&gt;	} catch (IOException e) {&lt;br /&gt;		e.printStackTrace();&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	return feed;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private String feedToJSON(SyndFeed feed) {&lt;br /&gt;&lt;br /&gt;	JSONObject jsonObj = new JSONObject();&lt;br /&gt;	JSONArray jsonEntryTitles = new JSONArray();&lt;br /&gt;&lt;br /&gt;	jsonObj.put(&amp;quot;blogtitle&amp;quot;, feed.getTitle());&lt;br /&gt;	jsonObj.put(&amp;quot;blogdescription&amp;quot;, feed.getDescription());&lt;br /&gt;	jsonObj.put(&amp;quot;bloglanguage&amp;quot;, feed.getLanguage());&lt;br /&gt;	jsonObj.put(&amp;quot;bloglink&amp;quot;, feed.getLink());&lt;br /&gt;	jsonObj.put(&amp;quot;author&amp;quot;, feed.getCopyright());&lt;br /&gt;&lt;br /&gt;	List&amp;lt;?&amp;gt; feedEntries = feed.getEntries();&lt;br /&gt;&lt;br /&gt;	for (Object c : feedEntries) {&lt;br /&gt;	     SyndEntry syndicateEntry = (SyndEntry) c;&lt;br /&gt;	     jsonEntryTitles.put(syndicateEntry.getTitle());&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	jsonObj.put(&amp;quot;blogentrytitles&amp;quot;, jsonEntryTitles);&lt;br /&gt;	return jsonObj.toString();&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;
As you can see it is very easy to construct JSON objects and arrays on the server side and pass them to the client. For the purpose of this example I am getting my data from RSS feed, but the data can also be coming from DB etc. &lt;br /&gt;
&lt;br /&gt;
The following is my client implementation. The client queries the servlet using AJAX call. When an AJAX call returns a response from the servlet in a form of JSON object, the object data is formatted and information about the RSS feed is presented to the client:&lt;br /&gt;
&lt;pre class=&#034;java&#034; name=&#034;code&#034;&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;title&amp;gt;Java Beans dot Asia&amp;lt;/title&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script language=&amp;quot;JavaScript&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;		&lt;br /&gt;	var httpRequest = null;&lt;br /&gt;	&lt;br /&gt;function getDescriptionAsJSON() {&lt;br /&gt;&lt;br /&gt;	var description = &lt;br /&gt;		document.getElementById(&#039;description&#039;);&lt;br /&gt;	description.innerHTML = &amp;quot;Loading, please wait ...&amp;quot;;&lt;br /&gt;&lt;br /&gt;	var url = &amp;quot;http://localhost:8080/json/json&amp;quot;;&lt;br /&gt;	if(window.XMLHttpRequest){&lt;br /&gt;		httpRequest = new XMLHttpRequest();&lt;br /&gt;	}&lt;br /&gt;	else if(window.ActiveXObject){&lt;br /&gt;		httpRequest = &lt;br /&gt;			new ActiveXObject(&amp;quot;Microsoft.XMLHTTP&amp;quot;);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	httpRequest.open(&amp;quot;GET&amp;quot;, url, true);&lt;br /&gt;	httpRequest.onreadystatechange = handler;&lt;br /&gt;	httpRequest.send(null);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function handler() {&lt;br /&gt;	if (httpRequest.readyState == 4) {&lt;br /&gt;		if (httpRequest.status == 200) {&lt;br /&gt;		    processJSON(httpRequest.responseText);&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function processJSON(jsonObjectString) {&lt;br /&gt;&lt;br /&gt;	var description = &lt;br /&gt;		document.getElementById(&#039;description&#039;);&lt;br /&gt;	&lt;br /&gt;      //Since JSON is a subset of JavaScript, I am using &lt;br /&gt;      //JavaScript&#039;s own compiler to parse JSON in one line!&lt;br /&gt;      var jsonObject = eval(&#039;(&#039; + jsonObjectString + &#039;)&#039;)&lt;br /&gt;&lt;br /&gt;	var text = &amp;quot;&amp;quot;;&lt;br /&gt;	&lt;br /&gt;	text += &amp;quot;Author: &amp;quot; + jsonObject.author + &amp;quot;&amp;lt; br /&amp;gt;&amp;quot;;&lt;br /&gt;	text += &amp;quot;Blog Name: &amp;quot; + &lt;br /&gt;		jsonObject.blogtitle + &amp;quot;&amp;lt; br /&amp;gt;&amp;quot;;&lt;br /&gt;	text += &amp;quot;Blog URL: &amp;quot; + &lt;br /&gt;		jsonObject.bloglink + &amp;quot;&amp;lt; br /&amp;gt;&amp;quot;;&lt;br /&gt;	text += &amp;quot;Blog Description: &amp;quot; + &lt;br /&gt;		jsonObject.blogdescription + &amp;quot;&amp;lt; br /&amp;gt;&amp;quot;;&lt;br /&gt;	text += &amp;quot;Blog Language: &amp;quot; + &lt;br /&gt;		jsonObject.bloglanguage + &amp;quot;&amp;lt; br /&amp;gt;&amp;quot;;&lt;br /&gt;	&lt;br /&gt;	description.innerHTML = text;&lt;br /&gt;	var entries = &amp;quot;Last &amp;quot; + &lt;br /&gt;                  jsonObject.blogentrytitles.length &lt;br /&gt;	+ &amp;quot; blog entries are:\n\n&amp;quot;;&lt;br /&gt;&lt;br /&gt;	for (var index = 0; &lt;br /&gt;		index &amp;lt; jsonObject.blogentrytitles.length; &lt;br /&gt;							index ++) {&lt;br /&gt;		entries += (index + 1) + &amp;quot;: &amp;quot; + &lt;br /&gt;			jsonObject.blogentrytitles[index] + &amp;quot;\n&amp;quot;;&lt;br /&gt;	} &lt;br /&gt;	alert(entries);&lt;br /&gt;}&lt;br /&gt;	&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;img src=&amp;quot;images/javabeansmugshot_120x120.jpg&amp;quot; border=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt; br /&amp;gt;&lt;br /&gt;&amp;lt; br /&amp;gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt; br /&amp;gt;&lt;br /&gt;&amp;lt; br /&amp;gt;&lt;br /&gt;&amp;lt;a href=&amp;quot;javascript:void(0)&amp;quot; &lt;br /&gt;             onclick=&amp;quot;return getDescriptionAsJSON();&amp;quot;&amp;gt;&lt;br /&gt;Click to get description!&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;
As you could see, JSON data can be easily parsed on the client side with the help of Java script &lt;em&gt;eval()&lt;/em&gt; function. To remind - JSON is a subset of Java script, therefore&lt;em&gt; eval()&lt;/em&gt; will produce a valid object. &lt;br /&gt;
&lt;br /&gt;
Keep in mind, that there is a need for extra care when using &lt;em&gt;eval&lt;/em&gt;. The problem is that &lt;em&gt;eval&lt;/em&gt; will compile and execute Java script code that coming back from the response. This could cause a security risk if the response data is coming from an untrusted source.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it. I hope this example was clear and helpful :)&lt;br /&gt;
&lt;a href=&#034;http://javabeans.asia/files/src/json_servlets_ajax_war.zip&#034; title=&#034;WAR archive&#034;&gt; &lt;/a&gt;&lt;a href=&#034;http://javabeans.asia/files/src/json_servlets_ajax_war.zip&#034; title=&#034;WAR archive&#034;&gt; &lt;/a&gt;&lt;br /&gt;
Please note that this example was tested by me and its working fine. The source code as mentioned previously is included  as Eclipse project. You can simply create a new Java project from the existing Ant build.xml file. &lt;br /&gt;
&lt;br /&gt;
Comments/flames are appreciated :)&lt;br /&gt;
&lt;br /&gt;
Cheers&lt;br /&gt;
&lt;a href=&#034;http://javabeans.asia/files/src/json_servlets_ajax_war.zip&#034; title=&#034;WAR archive&#034;&gt; &lt;/a&gt;&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;title=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;title=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;title=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;title=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;title=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;title=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;t=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;title=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;t=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;b&gt;Related Posts&lt;/b&gt;&lt;br /&gt;&lt;i&gt;There are no related posts for this blog entry&lt;/i&gt;&lt;/p&gt;&lt;br /&gt;</description>
	<!--
    <description>
          In this article I would like to show how JSON (JavaScript Object Notation) and Java servlet can be used together in a little AJAX (Asynchronous JavaScript and XML) application.   To give brief description to those who are not closely familiar with JSON -  JSON is a lightweight syntax for representing data, which ...&lt;p&gt;&lt;a href=&#034;http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;title=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;title=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;title=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;title=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;title=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;title=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;t=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;title=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2009/09/13/redefining_web_applications_with_ajax_servlets_and_json.html&amp;amp;t=Redefining web applications with AJAX, Servlets and JSON&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;</description>
      
	-->
  </item>
  <item rdf:about="http://javabeans.asia/2009/09/08/you_gotta_love_linux.html">
    <title>You gotta love Linux</title>
    <link>http://javabeans.asia/2009/09/08/you_gotta_love_linux.html</link>
	 <description>
        Last Friday as I was working, I was asked to get some information from the application logs for a particular period of time. I needed to extract some data and count the results. The given period was last twelve months.&lt;br /&gt;
&lt;br /&gt;
Luckily I am working with Linux, so I opened a shell session and typed the following after doing some research on the Internet:
&lt;pre class=&#034;codeSample&#034;&gt;grep -B4 &amp;quot;String1&amp;quot; *.log | grep &amp;quot;String2&amp;quot; | cut -d\&amp;nbsp;  -f2 | sort -u | wc -l&lt;br /&gt;&lt;/pre&gt;
Basically what the command does is:&lt;br /&gt;
&lt;ol&gt;
    &lt;li&gt;In all files with extension &lt;em&gt;log&lt;/em&gt; , grab 4 lines before occurrence of &amp;quot;String1&amp;quot; and pass the outcome result to the next command&lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;Find occurrence of &amp;quot;String2&amp;quot; and pass the outcome result to the next command&lt;/li&gt;
    &lt;li&gt;Split by SPACE delimiter and grab the second field and pass the outcome result to the next command&lt;/li&gt;
    &lt;li&gt;Sort in unique manner and pass the outcome result to the next command&lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;Count the results and output&lt;/li&gt;
&lt;/ol&gt;
Simple and efficient. The whole process took only few seconds.&lt;br /&gt;
&lt;br /&gt;
I do not think I could have done this so easily if I would be working on Win platform...&lt;br /&gt;
&lt;br /&gt;
You gotta&#039; love Linux! ;)&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;title=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;title=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;title=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;title=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;title=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;title=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;t=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;title=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;t=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;b&gt;Related Posts&lt;/b&gt;&lt;br /&gt;&lt;i&gt;There are no related posts for this blog entry&lt;/i&gt;&lt;/p&gt;&lt;br /&gt;</description>
	<!--
    <description>
          Last Friday as I was working, I was asked to get some information from the application logs for a particular period of time. I needed to extract some data and count the results. The given period was last twelve months.  Luckily I am working with Linux, so I opened a shell session and typed the following after doing ...&lt;p&gt;&lt;a href=&#034;http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;title=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;title=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;title=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;title=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;title=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;title=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;t=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;title=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2009/09/08/you_gotta_love_linux.html&amp;amp;t=You gotta love Linux&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;</description>
      
	-->
  </item>
  <item rdf:about="http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html">
    <title>Rule Engine Stress Testing</title>
    <link>http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html</link>
	 <description>
        I came across a &lt;a target=&#034;_blank&#034; title=&#034;Illation Blog&#034; href=&#034;http://blogs.illation.com.au/&#034;&gt;blog&lt;/a&gt; by a company called &lt;a target=&#034;_blank&#034; title=&#034;Illation&#034; href=&#034;http://illation.com.au&#034;&gt;Illation&lt;/a&gt;. What those guys do is compare performance of several rule engines available on the market: Drools, ILog, OPSJ and Jess.&lt;br /&gt;
&lt;br /&gt;
The stress tests cover different aspects, for example:&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;Rules firing time&lt;/li&gt;
    &lt;li&gt;Data load time&lt;/li&gt;
    &lt;li&gt;Memory usage&lt;/li&gt;
    &lt;li&gt;Pre-run memory used&lt;/li&gt;
    &lt;li&gt;Post-run memory used&lt;/li&gt;
&lt;/ul&gt;
The test results available  on their blog for the wide public. The team also makes business rules, object model and datasets used in their stress tests available for download if someone wishes to repeat the tests. Some of the results look very interesting.&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;title=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;title=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;title=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;title=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;title=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;title=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;t=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;title=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;t=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;b&gt;Related Posts&lt;/b&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&#034; rel=&#034;bookmark&#034; title=&#034;Drools 5 Case Study 2 - Complex Event Processing&#034;&gt;Drools 5 Case Study 2 - Complex Event Processing&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/08/22/brainteaser_drools_testing_objects.html&#034; rel=&#034;bookmark&#034; title=&#034;Brainteaser Drools: Testing Objects&#034;&gt;Brainteaser Drools: Testing Objects&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/08/23/feedback_by_the_drools_team.html&#034; rel=&#034;bookmark&#034; title=&#034;Feedback by the Drools Team&#034;&gt;Feedback by the Drools Team&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/08/29/drools_5_case_study_1_writing_dsl_for_drl_rule.html&#034; rel=&#034;bookmark&#034; title=&#034;Drools 5 Case Study 1- Writing DSL for DRL rule&#034;&gt;Drools 5 Case Study 1- Writing DSL for DRL rule&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/08/31/drools_5_complex_event_processing.html&#034; rel=&#034;bookmark&#034; title=&#034;Drools 5 - Complex Event Processing&#034;&gt;Drools 5 - Complex Event Processing&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2008/10/24/drools_tutorial_on_writing_dsl_template.html&#034; rel=&#034;bookmark&#034; title=&#034;Drools - tutorial on writing DSL template&#034;&gt;Drools - tutorial on writing DSL template&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2008/06/09/drools_stop_executing_current_agenda_group_and_all_rules.html&#034; rel=&#034;bookmark&#034; title=&#034;Drools - Stop executing current agenda group and all rules&#034;&gt;Drools - Stop executing current agenda group and all rules&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2008/05/11/drools_working_with_stateless_session.html&#034; rel=&#034;bookmark&#034; title=&#034;Drools - working with Stateless session&#034;&gt;Drools - working with Stateless session&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;</description>
	<!--
    <description>
          I came across a blog by a company called Illation. What those guys do is compare performance of several rule engines available on the market: Drools, ILog, OPSJ and Jess.  The stress tests cover different aspects, for example:      Rules firing time     Data load time     Memory usage     Pre-run memory used     ...&lt;p&gt;&lt;a href=&#034;http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;title=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;title=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;title=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;title=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;title=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;title=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;t=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;title=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&amp;amp;t=Rule Engine Stress Testing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;</description>
      
	-->
  </item>
  <item rdf:about="http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html">
    <title>My voice is on iPhone App</title>
    <link>http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html</link>
	 <description>
        My colleague Ila, has developed an &lt;a title=&#034;Speak Contacts&#034; target=&#034;_blank&#034; href=&#034;http://speak-contacts.ilavenil.com/&#034;&gt;iPhone app&lt;/a&gt; that reads out phone numbers from the phone book when you need it. Ila has requested some of us to &amp;quot;contribute&amp;quot; our voices for his app :) So now my voice is the &amp;quot;Russian Alex&amp;quot; option, along side with &amp;quot;English Bob&amp;quot;... hehe...&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;title=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;title=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;title=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;title=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;title=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;title=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;t=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;title=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;t=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;b&gt;Related Posts&lt;/b&gt;&lt;br /&gt;&lt;i&gt;There are no related posts for this blog entry&lt;/i&gt;&lt;/p&gt;&lt;br /&gt;</description>
	<!--
    <description>
          My colleague Ila, has developed an iPhone app that reads out phone numbers from the phone book when you need it. Ila has requested some of us to &amp;quot;contribute&amp;quo...&lt;p&gt;&lt;a href=&#034;http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;title=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;title=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;title=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;title=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;title=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;title=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;t=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;title=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2009/09/03/my_voice_is_on_iphone_app.html&amp;amp;t=My voice is on iPhone App&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;</description>
      
	-->
  </item>
  <item rdf:about="http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html">
    <title>VMware and Melbourne IT launch cloud service</title>
    <link>http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html</link>
	 <description>
        Australian web hosting provider from Melbourne, &lt;a title=&#034;Melbourne IT&#034; target=&#034;_blank&#034; href=&#034;http://www.melbourneit.com.au/&#034;&gt;Melbourne IT&lt;/a&gt; has launched cloud computing services together with &lt;a target=&#034;_blank&#034; href=&#034;http://www.vmware.com/&#034;&gt;VMware&lt;/a&gt;. The service is still in beta mode and it is called &amp;quot;&lt;em&gt;vCloud Express&lt;/em&gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Its nice to see local provider offering cloud computing services as other big players on the market. A lot of customers having second thoughts to trust giants like Amazon, Microsoft Azure or Google. Having local provider allows businesses and individuals to have more personal customer relationship with their cloud computing provider.&lt;br /&gt;
&lt;br /&gt;
Read the &lt;a href=&#034;http://www.itnews.com.au/News/154601,vmware-and-melbourne-it-launch-cloud-service.aspx&#034; target=&#034;_blank&#034; title=&#034;VMware and Melbourne IT launch cloud service&#034;&gt;full article&lt;/a&gt; about it.&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;title=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;title=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;title=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;title=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;title=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;title=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;t=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;title=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;t=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;b&gt;Related Posts&lt;/b&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/03/08/hibernate_event_interceptor.html&#034; rel=&#034;bookmark&#034; title=&#034;Hibernate Event Interceptor&#034;&gt;Hibernate Event Interceptor&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;</description>
	<!--
    <description>
          Australian web hosting provider from Melbourne, Melbourne IT has launched cloud computing services together with VMware. The service is still in beta mode and it is called &amp;quot;vCloud Express&amp;quot;  Its nice to see local provider offering cloud computing services as other big players on the market. A lot of ...&lt;p&gt;&lt;a href=&#034;http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;title=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;title=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;title=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;title=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;title=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;title=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;t=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;title=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2009/09/02/vmware_and_melbourne_it_launch_cloud_service.html&amp;amp;t=VMware and Melbourne IT launch cloud service&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;</description>
      
	-->
  </item>
  <item rdf:about="http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html">
    <title>Drools 5 Case Study 2 - Complex Event Processing</title>
    <link>http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html</link>
	 <description>
        In my previous post &lt;a title=&#034;Drools Fusion Complex Event Processing&#034; href=&#034;http://javabeans.asia/2009/08/31/drools_5_complex_event_processing.html&#034;&gt;Drools 5 - Complex Event Processing&lt;/a&gt;, I gave introduction to Drools Fusion module. In the current post, I would like to demonstrate Drools Fusion capabilities.&lt;br /&gt;
&lt;br /&gt;
As an example chosen for the current article, I decided to use a scenario when an insurance firm rewards its policy members. The members are rewarded when they keep a low average of claimed money under the threshold set on their account over a period of time. &lt;br /&gt;
&lt;br /&gt;
In other words, if the policy member had last five claims average and average of claims during last ninety (90) days lower than the threshold limit - he/she will be eligible for a reward.&lt;br /&gt;
&lt;br /&gt;
Drools allows us to test for these conditions by applying&amp;nbsp; the sliding window concept. So to obtain a claim average for a&amp;nbsp; particular period in time, I will use time based sliding window. To obtain an average of last five claims, I will use length based sliding window.&lt;br /&gt;
&lt;br /&gt;
Before I begin, I would like to say that the source code for this article is available as attachment, the download link is at the bottom.&lt;br /&gt;
&lt;br /&gt;
Ok, lets begin. Below is my POJO &lt;em&gt;Account&lt;/em&gt;:
&lt;pre name=&#034;code&#034; class=&#034;java&#034;&gt;public class Account {&lt;br /&gt;  private String number = &amp;quot;&amp;quot;;&lt;br /&gt;  private double threshold = 0.00;&lt;br /&gt;&lt;br /&gt;  public Account() {&lt;br /&gt;    super();&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public String getNumber() {&lt;br /&gt;    return number;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  public void setNumber(String number) {&lt;br /&gt;    this.number = number;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public double getThreshold() {&lt;br /&gt;    return threshold;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setThreshold(double threshold) {&lt;br /&gt;    this.threshold = threshold;&lt;br /&gt;  }	&lt;br /&gt;}&lt;/pre&gt;
The following is my implementation of the claim event POJO:
&lt;pre name=&#034;code&#034; class=&#034;java&#034;&gt;public class ClaimApprovedEvent implements Serializable {&lt;br /&gt;&lt;br /&gt;  private static final long serialVersionUID = 1L;&lt;br /&gt;&lt;br /&gt;  private String accountNumber = &amp;quot;&amp;quot;;&lt;br /&gt;  private double amount = 0.00;&lt;br /&gt;&lt;br /&gt;  public ClaimApprovedEvent(String accountNumber, &lt;br /&gt;                                   double amount) {&lt;br /&gt;    this.accountNumber = accountNumber;&lt;br /&gt;    this.amount = amount;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public String getAccountNumber() {&lt;br /&gt;    return accountNumber;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setAccountNumber(String accountNumber) {&lt;br /&gt;    this.accountNumber = accountNumber;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public double getAmount() {&lt;br /&gt;    return amount;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setAmount(double amount) {&lt;br /&gt;    this.amount = amount;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;
This event represents a claim event when a policy member has claimed some money. Event contains policy member account number and the claim amount. These events, I will be &amp;quot;feeding&amp;quot; in to the &lt;em&gt;KnowledgeSession &lt;/em&gt;as facts. Yes, they are play a role knowledge facts in Drools. &lt;br /&gt;
&lt;br /&gt;
Having said that I want to point out that all events are facts, but not all facts are events. I know it maybe a little bit confusing, but if you read Drools 5.0 doco it will become more clearer to you. &lt;br /&gt;
&lt;br /&gt;
To give some information about it - events almost never change state in Drools (&lt;em&gt;almost &lt;/em&gt;means it is still possible to change the state of event), therefore they are immutable. &lt;br /&gt;
&lt;br /&gt;
Events simply hold information about something that has already happened and because you cannot change what has already happened - events are immutable. Events also allow the use of sliding windows. &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
The following is implementation of a POJO, that plays a role of a common data structure for rules to use at run time. It is one of the new features that available in Drools 5. Keep in mind - that this is not a knowledge fact, but just a data structure. &lt;br /&gt;
&lt;br /&gt;
This POJO is an internal type, therefore there is no need to create new instance of this class. The object will only be created at run time, when the knowledge package is compiled (In my tester class I show how to do it). For now, we just have to add POJOs declaration to DRL, and to have the source file present. Later on, you will see how the declaration in DRL is done:
&lt;pre name=&#034;code&#034; class=&#034;java&#034;&gt;public class AccountInfo {&lt;br /&gt;&lt;br /&gt;  private String accountNumber = &amp;quot;&amp;quot;;&lt;br /&gt;  private double aveOfLastClaims = 0.00;&lt;br /&gt;  private double aveForPeriod = 0.00;&lt;br /&gt;  private boolean eligibleForBonusClaims = false;&lt;br /&gt;  private boolean eligibleForPeriodicBonus = false;&lt;br /&gt;&lt;br /&gt;  public AccountInfo() {&lt;br /&gt;    super();&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public String getAccountNumber() {&lt;br /&gt;    return accountNumber;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setAccountNumber(String accountNumber) {&lt;br /&gt;    this.accountNumber = accountNumber;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public double getAveOfLastClaims() {&lt;br /&gt;    return aveOfLastClaims;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setAveOfLastClaims(&lt;br /&gt;                  double aveOfLastClaims) {&lt;br /&gt;    this.aveOfLastClaims = aveOfLastClaims;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public double getAveForPeriod() {&lt;br /&gt;    return aveForPeriod;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setAveForPeriod(double aveForPeriod) {&lt;br /&gt;    this.aveForPeriod = aveForPeriod;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public boolean isEligibleForBonusClaims() {&lt;br /&gt;    return eligibleForBonusClaims;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setEligibleForBonusClaims(&lt;br /&gt;             boolean eligibleForBonusClaims) {&lt;br /&gt;    this.eligibleForBonusClaims = eligibleForBonusClaims;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public boolean isEligibleForPeriodicBonus() {&lt;br /&gt;    return eligibleForPeriodicBonus;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setEligibleForPeriodicBonus(&lt;br /&gt;                 boolean eligibleForPeriodicBonus) {&lt;br /&gt;    this.eligibleForPeriodicBonus = &lt;br /&gt;                             eligibleForPeriodicBonus;&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;
...and the following is the DRL:
&lt;pre name=&#034;code&#034; class=&#034;java&#034;&gt;package net.javabeansdotasia.casestudy.pojo;&lt;br /&gt;&lt;br /&gt;import net.javabeansdotasia.casestudy.pojo.ClaimApprovedEven&lt;br /&gt;import net.javabeansdotasia.casestudy.pojo.Account;&lt;br /&gt;&lt;br /&gt;declare ClaimApprovedEvent&lt;br /&gt;  // declare a fact type as an event, default is &#039;fact&#039;&lt;br /&gt;  @role( event )&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;// Decalare common data structure for all rules to use&lt;br /&gt;declare AccountInfo&lt;br /&gt;  accountNumber : String&lt;br /&gt;  aveOfLastClaims : Double&lt;br /&gt;  aveForPeriod : Double&lt;br /&gt;  eligibleForBonusClaims : Boolean&lt;br /&gt;  eligibleForPeriodicBonus : Boolean&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;rule &amp;quot;FiveLastClaims&amp;quot;&lt;br /&gt;  dialect &amp;quot;mvel&amp;quot;&lt;br /&gt;  no-loop true&lt;br /&gt;  salience 100&lt;br /&gt;&lt;br /&gt;when&lt;br /&gt;  $account : Account()&lt;br /&gt;&lt;br /&gt;  //check if the average of last five claims is less &lt;br /&gt;  //than the account threshold&lt;br /&gt;  $aveOfLastClaims : Number(&lt;br /&gt;           $account.threshold &amp;gt; doubleValue ) &lt;br /&gt;  from accumulate(&lt;br /&gt;    ClaimApprovedEvent(&lt;br /&gt;      accountNumber == $account.number, &lt;br /&gt;      $amount : amount&lt;br /&gt;    ) &lt;br /&gt;    over window:length( 5 ) from &lt;br /&gt;    entry-point ClaimStream, &lt;br /&gt;    average($amount)&lt;br /&gt;  )&lt;br /&gt;&lt;br /&gt;  //the member must not have received eligibility &lt;br /&gt;  //for last claim bonus yet &lt;br /&gt;  $accountInfo : AccountInfo( &lt;br /&gt;    accountNumber == $account.number, &lt;br /&gt;    eligibleForBonusClaims == false &lt;br /&gt;  )&lt;br /&gt;then&lt;br /&gt;  modify($accountInfo) {&lt;br /&gt;    setAveOfLastClaims($aveOfLastClaims);&lt;br /&gt;    setEligibleForBonusClaims(true);&lt;br /&gt;  };&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;rule &amp;quot;NinetyDaysPeriod&amp;quot;&lt;br /&gt;dialect &amp;quot;mvel&amp;quot;&lt;br /&gt;no-loop true&lt;br /&gt;salience 90&lt;br /&gt;&lt;br /&gt;when&lt;br /&gt;  $account : Account()&lt;br /&gt;&lt;br /&gt;  //check if the average of claims for period is less &lt;br /&gt;  //than the account threshold&lt;br /&gt;  $aveForPeriod : Number(&lt;br /&gt;                $account.threshold &amp;gt; doubleValue ) &lt;br /&gt;  from accumulate(&lt;br /&gt;    ClaimApprovedEvent(&lt;br /&gt;      accountNumber == $account.number, &lt;br /&gt;      $amount : amount&lt;br /&gt;    ) &lt;br /&gt;  over window:time( 90d ) from &lt;br /&gt;  entry-point ClaimStream, &lt;br /&gt;  average($amount)&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;//the member must have eligibility for last claim bonus and&lt;br /&gt;//the member must not have received eligibility for &lt;br /&gt;//periodic bonus yet&lt;br /&gt;  $accountInfo : AccountInfo( &lt;br /&gt;    accountNumber == $account.number, &lt;br /&gt;    eligibleForBonusClaims == true, &lt;br /&gt;    eligibleForPeriodicBonus == false &lt;br /&gt;  )&lt;br /&gt;then&lt;br /&gt;  modify($accountInfo) {&lt;br /&gt;    setAveForPeriod($aveForPeriod);&lt;br /&gt;    setEligibleForPeriodicBonus(true);&lt;br /&gt;  };&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;rule &amp;quot;EligibleForVoucher&amp;quot;&lt;br /&gt;dialect &amp;quot;mvel&amp;quot;&lt;br /&gt;no-loop true&lt;br /&gt;salience 80&lt;br /&gt;&lt;br /&gt;when&lt;br /&gt;  $account : Account()&lt;br /&gt;&lt;br /&gt;//the member must have eligibility for last claim bonus and&lt;br /&gt;//the member must have eligibility for periodic bonus&lt;br /&gt;  $accountInfo : AccountInfo( &lt;br /&gt;    accountNumber == $account.number, &lt;br /&gt;    eligibleForBonusClaims == true, &lt;br /&gt;    eligibleForPeriodicBonus == true&lt;br /&gt;  )&lt;br /&gt;then&lt;br /&gt;  System.out.println(&amp;quot;Notifying policy member...&amp;quot;); &lt;br /&gt;  System.out.println(&amp;quot;Dear member, you have claimed &amp;quot;&lt;br /&gt;  + &amp;quot;in average $&amp;quot; +  $accountInfo.aveOfLastClaims + &lt;br /&gt;  &amp;quot; during last five claims, which is &amp;quot; + &lt;br /&gt;  &amp;quot;under the account threshold of $&amp;quot; + $account.threshold);&lt;br /&gt;&lt;br /&gt;  System.out.println(&amp;quot;Dear member, you have claimed &amp;quot; +&lt;br /&gt;  &amp;quot;in average $&amp;quot; + $accountInfo.aveForPeriod + &lt;br /&gt;  &amp;quot; during last 90 days, which is &amp;quot;+ &lt;br /&gt;  &amp;quot;under the account threshold of $&amp;quot; + $account.threshold);&lt;br /&gt;&lt;br /&gt;  System.out.println(&amp;quot;You are eligible for a holiday!&amp;quot;);&lt;br /&gt;end&lt;/pre&gt;
Lets have a look what does this DRL do:&lt;br /&gt;
&lt;ol&gt;
    &lt;li&gt;Modifying existing type by specifying that &lt;em&gt;ClaimApprovedEvent &lt;/em&gt;is an event (line 6). To allow Drools to process events, we have to set that the fact is of type event&lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;Declaring new type that plays the role of a common data structure (line 12). This is the declaration that I was talking about previously.&lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;rule &amp;quot;&lt;em&gt;FiveLastClaims&lt;/em&gt;&amp;quot; obtains an average of last five event claims and compares it to the account threshold. If the rule return true, the &lt;em&gt;AccountInfo &lt;/em&gt;is updated with new data for other rules to use.&lt;/li&gt;
    &lt;li&gt;rule &amp;quot;&lt;em&gt;NinetyDaysPeriod&lt;/em&gt;&amp;quot; obtains an average claim totals over a period of ninety (90) days and compares it to the account threshold. If the rule return true, the &lt;em&gt;AccountInfo &lt;/em&gt;is updated with new data for other rules to use&lt;/li&gt;
    &lt;li&gt;rule &amp;quot;&lt;em&gt;EligibleForVoucher&lt;/em&gt;&amp;quot; checks if the account owner has both eligibility for a periodic bonus and last five claim bonus, if true - the policy member will be eligible for a reward&lt;/li&gt;
&lt;/ol&gt;
The following is the snippet code from my Tester class where I show how to I load claim events over a period of time into the Knowledge session entry point (once again to remind: please refer to the source code attached for more information):
&lt;pre name=&#034;code&#034; class=&#034;java&#034;&gt;SessionPseudoClock clock = session.getSessionClock();&lt;br /&gt;&lt;br /&gt;WorkingMemoryEntryPoint claimStream = session&lt;br /&gt;.getWorkingMemoryEntryPoint(&amp;quot;ClaimStream&amp;quot;);&lt;br /&gt;&lt;br /&gt;claimStream.insert(&lt;br /&gt;new ClaimApprovedEvent(account.getNumber(), 12.00));&lt;br /&gt;clock.advanceTime(80, TimeUnit.DAYS);&lt;br /&gt;&lt;br /&gt;claimStream.insert(&lt;br /&gt;new ClaimApprovedEvent(account.getNumber(), 46.00));&lt;br /&gt;clock.advanceTime(15, TimeUnit.DAYS);&lt;br /&gt;&lt;br /&gt;claimStream.insert(&lt;br /&gt;new ClaimApprovedEvent(account.getNumber(), 60.00));&lt;br /&gt;clock.advanceTime(45, TimeUnit.DAYS);&lt;br /&gt;&lt;br /&gt;claimStream.insert(&lt;br /&gt;new ClaimApprovedEvent(account.getNumber(), 110.00));&lt;br /&gt;clock.advanceTime(60, TimeUnit.DAYS);&lt;br /&gt;&lt;br /&gt;claimStream.insert(&lt;br /&gt;new ClaimApprovedEvent(account.getNumber(), 20.00));&lt;br /&gt;&lt;br /&gt;session.insert(account);&lt;br /&gt;session.insert(accountInfo);&lt;br /&gt;session.fireAllRules();&lt;br /&gt;&lt;/pre&gt;
Please note an entry point &amp;quot;&lt;em&gt;ClaimStream&lt;/em&gt;&amp;quot;. Entry point plays a role of a partition in &lt;em&gt;KnowledgeSession&lt;/em&gt; in Drools. Partitioning is also a new concept in Drools that makes KnowledgeSession multithreaded. You can have multiple entry points and choose where to insert the fact. &lt;br /&gt;
&lt;br /&gt;
In the current example, I use only one partition (or entry point). If I would to use more than one, than I would have to enable multi-partitioning with the following code:
&lt;pre class=&#034;codeSample&#034;&gt;KnowledgeBaseConfiguration config = &lt;br /&gt;KnowledgeBaseFactory.newKnowledgeBaseConfiguration();&lt;br /&gt;config.setOption(MultithreadEvaluationOption.YES);&lt;br /&gt;&lt;/pre&gt;
Have a read Drools Fusion manual, the team really gives a good cover of this concept.&lt;br /&gt;
&lt;br /&gt;
I use &lt;em&gt;SessionPseudoClock&lt;/em&gt; that allows me to&amp;nbsp; test the rules by feeding claim events into the &lt;em&gt;KnowledgeSession&lt;/em&gt; over a period of time. As you can see, after each event I move the clock forward, simulation submission of each claim event in different time.&lt;br /&gt;
&lt;br /&gt;
The following is the program output:
&lt;pre class=&#034;codeSample&#034;&gt;Notifying policy member...&lt;br /&gt;&lt;br /&gt;Dear member, you have claimed in average $49.6 &lt;br /&gt;during last five claims, which is under the &lt;br /&gt;account threshold of $70.0&lt;br /&gt;&lt;br /&gt;Dear member, you have claimed in average $65.0 &lt;br /&gt;during last 90 days, which is under the account &lt;br /&gt;threshold of $70.0&lt;br /&gt;&lt;br /&gt;You are eligible for a holiday!&lt;br /&gt;&lt;/pre&gt;
That&#039;s it. In this example I showed how it is possible to process complex events over a period of time by applying sliding window concept. &lt;br /&gt;
&lt;br /&gt;
Please note that the above example was tested by me and its working fine. I also included source files for the above example as Eclipse project. You can simply create a new Java project from this existing Ant build.xml file. &lt;br /&gt;
&lt;br /&gt;
Also, I wanted to point out that in my Eclipse project setup my Drools binaries located under &lt;em&gt;JAVA_HOME/lib/drools-5.0-bin/&lt;/em&gt; (have a look at the build.xml)&lt;br /&gt;
&lt;br /&gt;
I hope this was clear :)&lt;br /&gt;
&lt;br /&gt;
Cheers&lt;br /&gt;
&lt;br /&gt;
Resources:&lt;br /&gt;
&lt;em&gt;&lt;a href=&#034;http://www.packtpub.com/drools-jboss-rules-5-0-developers-guide/book&#034; target=&#034;_blank&#034;&gt;Drools JBoss Rules 5.0 Developer&#039;s Guide July 2009&lt;/a&gt;&lt;/em&gt;&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;title=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;title=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;title=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;title=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;title=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;title=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;t=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;title=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;t=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;b&gt;Related Posts&lt;/b&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/09/05/rule_engine_stress_testing.html&#034; rel=&#034;bookmark&#034; title=&#034;Rule Engine Stress Testing&#034;&gt;Rule Engine Stress Testing&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/08/22/brainteaser_drools_testing_objects.html&#034; rel=&#034;bookmark&#034; title=&#034;Brainteaser Drools: Testing Objects&#034;&gt;Brainteaser Drools: Testing Objects&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/08/23/feedback_by_the_drools_team.html&#034; rel=&#034;bookmark&#034; title=&#034;Feedback by the Drools Team&#034;&gt;Feedback by the Drools Team&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/08/29/drools_5_case_study_1_writing_dsl_for_drl_rule.html&#034; rel=&#034;bookmark&#034; title=&#034;Drools 5 Case Study 1- Writing DSL for DRL rule&#034;&gt;Drools 5 Case Study 1- Writing DSL for DRL rule&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2009/08/31/drools_5_complex_event_processing.html&#034; rel=&#034;bookmark&#034; title=&#034;Drools 5 - Complex Event Processing&#034;&gt;Drools 5 - Complex Event Processing&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2008/10/24/drools_tutorial_on_writing_dsl_template.html&#034; rel=&#034;bookmark&#034; title=&#034;Drools - tutorial on writing DSL template&#034;&gt;Drools - tutorial on writing DSL template&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2008/06/09/drools_stop_executing_current_agenda_group_and_all_rules.html&#034; rel=&#034;bookmark&#034; title=&#034;Drools - Stop executing current agenda group and all rules&#034;&gt;Drools - Stop executing current agenda group and all rules&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2008/05/11/drools_working_with_stateless_session.html&#034; rel=&#034;bookmark&#034; title=&#034;Drools - working with Stateless session&#034;&gt;Drools - working with Stateless session&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;</description>
	<!--
    <description>
          In my previous post Drools 5 - Complex Event Processing, I gave introduction to Drools Fusion module. In the current post, I would like to demonstrate Drools Fusion capabilities.  As an example chosen for the current article, I decided to use a scenario when an insurance firm rewards its policy members. The members ...&lt;p&gt;&lt;a href=&#034;http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;title=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;title=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;title=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;title=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;title=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;title=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;t=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;title=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2009/09/01/drools_5_case_study_2_complex_event_processing.html&amp;amp;t=Drools 5 Case Study 2 - Complex Event Processing&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;</description>
      
	-->
  </item>
  </rdf:RDF>
